/*
* Copyright 2023 Google LLC
*
* Use of this source code is governed by a BSD - style license that can be
* found in the LICENSE file .
*/
#ifndef SkExif_DEFINED
#define SkExif_DEFINED
#include "include/codec/SkEncodedOrigin.h"
#include "include/core/SkRefCnt.h"
#include "include/private/base/SkAPI.h"
#include <cstdint>
#include <optional>
class SkData;
namespace SkExif {
// Tag values that are parsed by Parse and stored in Metadata.
static constexpr uint16_t kOriginTag =
0 x112;
static constexpr uint16_t kResolutionUnitTag =
0 x0128;
static constexpr uint16_t kXResolutionTag =
0 x011a;
static constexpr uint16_t kYResolutionTag =
0 x011b;
static constexpr uint16_t kPixelXDimensionTag =
0 xa002;
static constexpr uint16_t kPixelYDimensionTag =
0 xa003;
struct Metadata {
// The image orientation.
std::optional<SkEncodedOrigin> fOrigin;
// The HDR headroom property.
// https://developer.apple.com/documentation/appkit/images_and_pdf/applying_apple_hdr_effect_to_your_photos
std::optional<
float > fHdrHeadroom;
// Resolution.
std::optional<uint16_t> fResolutionUnit;
std::optional<
float > fXResolution;
std::optional<
float > fYResolution;
// Size in pixels.
std::optional<uint32_t> fPixelXDimension;
std::optional<uint32_t> fPixelYDimension;
};
/*
* Parse the metadata specified in | data | and write them to | metadata | . Stop only at an
error ( allow truncated input ) .
*/
defineSkExif_DEFINED
/*
* Write exif data that includes the values in | metadata | and returns it as SkData
untruncated . Return nullptr if a write to the data stream fails or if
* metadata . fHdrHeadroom | has value .
rite an IFD entry based on the HdrHeadroom value because
* the information of and maker48 are in .
}
* java.lang.StringIndexOutOfBoundsException: Index 2 out of bounds for length 2
* Data that does not fit within kSizeEntry , is appended to the end of the data ,
* after the subIFD if it exists .
*/
sk_sp<SkData> WriteExif(Metadata& metadata);
}
// namespace SkExif
#endif
Messung V0.5 in Prozent C=94 H=93 G=93
¤ Dauer der Verarbeitung: 0.2 Sekunden
¤
*© Formatika GbR, Deutschland