• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright (C) 2023 Huawei Device Co., Ltd.
3  * Licensed under the Apache License, Version 2.0 (the "License");
4  * you may not use this file except in compliance with the License.
5  * You may obtain a copy of the License at
6  *
7  *     http://www.apache.org/licenses/LICENSE-2.0
8  *
9  * Unless required by applicable law or agreed to in writing, software
10  * distributed under the License is distributed on an "AS IS" BASIS,
11  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12  * See the License for the specific language governing permissions and
13  * limitations under the License.
14  */
15 
16 /**
17  * @addtogroup image
18  * @{
19  *
20  * @brief Provides APIs for access to the image interface.
21  *
22  * @since 12
23  */
24 
25 /**
26  * @file image_common.h
27  *
28  * @brief Declares the common enums and structs used by the image interface.
29  *
30  * @kit ImageKit
31  * @syscap SystemCapability.Multimedia.Image.Core
32  * @since 12
33  */
34 
35 #ifndef INTERFACES_KITS_NATIVE_INCLUDE_IMAGE_IMAGE_COMMON_H_
36 #define INTERFACES_KITS_NATIVE_INCLUDE_IMAGE_IMAGE_COMMON_H_
37 #include <stdint.h>
38 #include <stddef.h>
39 
40 #ifdef __cplusplus
41 extern "C" {
42 #endif
43 
44 /**
45  * @brief Defines the image size.
46  *
47  * @since 12
48  */
49 struct Image_Size {
50     /** Image width, in pixels. */
51     uint32_t width;
52     /** Image height, in pixels. */
53     uint32_t height;
54 };
55 
56 /**
57  * @brief Declaration the image size.
58  *
59  * @since 12
60  */
61 typedef struct Image_Size Image_Size;
62 
63 /**
64  * @brief Defines the region of the image source to decode.
65  *
66  * @since 12
67  */
68 struct Image_Region {
69     /** X coordinate of the start point, in pixels. */
70     uint32_t x;
71     /** Y coordinate of the start point, in pixels. */
72     uint32_t y;
73     /** Width of the region, in pixels. */
74     uint32_t width;
75     /** Height of the region, in pixels. */
76     uint32_t height;
77 };
78 
79 /**
80  * @brief Declaration the image region.
81  *
82  * @since 12
83  */
84 typedef struct Image_Region Image_Region;
85 
86 #ifdef __cplusplus
87 /**
88  * @brief Defines the region of the image source to decode.
89  *
90  * @since 12
91  */
92 struct Image_String {
93     /** data for string type */
94     char *data = nullptr;
95     /** data lenth for string type */
96     size_t size = 0;
97 };
98 #else
99 /**
100  * @brief Defines the region of the image source to decode.
101  *
102  * @since 12
103  */
104 struct Image_String {
105     /** data for string type */
106     char *data;
107     /** data lenth for string type */
108     size_t size;
109 };
110 #endif
111 
112 /**
113  * @brief Define a PictureMetadata struct type, used for picture metadata.
114  *
115  * @since 13
116  */
117 struct OH_PictureMetadata;
118 
119 /**
120  * @brief Define a PictureMetadata struct type, used for picture metadata.
121  *
122  * @since 13
123  */
124 typedef struct OH_PictureMetadata OH_PictureMetadata;
125 
126 /**
127  * @brief Defines the property string (in key-value format) of the image source.
128  *
129  * @since 12
130  */
131 typedef struct Image_String Image_String;
132 
133 /**
134  * @brief Defines the image encode format.
135  *
136  * @since 12
137  */
138 typedef struct Image_String Image_MimeType;
139 
140 /**
141  * @brief Enumerates the return values that may be used by the interface.
142  *
143  * @since 12
144  */
145 typedef enum {
146     /** operation success */
147     IMAGE_SUCCESS = 0,
148     /** invalid parameter */
149     IMAGE_BAD_PARAMETER = 401,
150     /** unsupported mime type */
151     IMAGE_UNSUPPORTED_MIME_TYPE = 7600101,
152     /** unknown mime type */
153     IMAGE_UNKNOWN_MIME_TYPE = 7600102,
154     /** too large data or image */
155     IMAGE_TOO_LARGE = 7600103,
156     /** @error DMA memory does not exist */
157     IMAGE_DMA_NOT_EXIST = 7600173,
158     /** @error DMA operation failed */
159     IMAGE_DMA_OPERATION_FAILED = 7600174,
160     /** unsupported operations */
161     IMAGE_UNSUPPORTED_OPERATION = 7600201,
162     /** unsupported metadata */
163     IMAGE_UNSUPPORTED_METADATA = 7600202,
164     /** unsupported conversion */
165     IMAGE_UNSUPPORTED_CONVERSION = 7600203,
166     /** invalid region */
167     IMAGE_INVALID_REGION = 7600204,
168     /**
169      *  @error unsupported memory format
170      *  @since 13
171      */
172     IMAGE_UNSUPPORTED_MEMORY_FORMAT = 7600205,
173     /** failed to allocate memory */
174     IMAGE_ALLOC_FAILED = 7600301,
175     /** memory copy failed */
176     IMAGE_COPY_FAILED = 7600302,
177     /** unknown error */
178     IMAGE_UNKNOWN_ERROR = 7600901,
179     /** decode data source exception */
180     IMAGE_BAD_SOURCE = 7700101,
181     /** decode failed */
182     IMAGE_DECODE_FAILED = 7700301,
183     /** encode failed */
184     IMAGE_ENCODE_FAILED = 7800301,
185 } Image_ErrorCode;
186 
187 /**
188  * @brief Define the metadata type.
189  *
190  * @since 13
191  */
192 typedef enum {
193     /*
194     * EXIF metadata.
195     */
196     EXIF_METADATA = 1,
197     /*
198     * Fragment metadata.
199     */
200     FRAGMENT_METADATA = 2,
201 } Image_MetadataType;
202 
203 /**
204  * @brief Creates a <b>PictureMetadata</b> object.
205  *
206  * @param metadataType The type of metadata.
207  * @param metadata The PictureMetadata pointer will be operated.
208  * @return Image functions result code.
209  *         {@link IMAGE_SUCCESS} if the execution is successful.
210  *         {@link IMAGE_BAD_PARAMETER} metadata is nullptr.
211  * @since 13
212  */
213 Image_ErrorCode OH_PictureMetadata_Create(Image_MetadataType metadataType, OH_PictureMetadata **metadata);
214 
215 /**
216  * @brief Obtains the property of picture metadata.
217  *
218  * @param metadata The PictureMetadata pointer will be operated.
219  * @param key The property's key.
220  * @param value The property's value.
221  * @return Image functions result code.
222  *         {@link IMAGE_SUCCESS} if the execution is successful.
223  *         {@link IMAGE_BAD_PARAMETER} metadata is nullptr, or key is nullptr, or value is nullptr.
224  *         {@link IMAGE_UNSUPPORTED_METADATA} unsupported metadata type, or the metadata type does not match the
225  *         auxiliary picture type.
226  * @since 13
227  */
228 Image_ErrorCode OH_PictureMetadata_GetProperty(OH_PictureMetadata *metadata, Image_String *key, Image_String *value);
229 
230 /**
231  * @brief Set picture metadata property.
232  *
233  * @param metadata The PictureMetadata pointer will be operated.
234  * @param key The property's key.
235  * @param value The property's value.
236  * @return Image functions result code.
237  *         {@link IMAGE_SUCCESS} if the execution is successful.
238  *         {@link IMAGE_BAD_PARAMETER} metadata is nullptr, or key is nullptr, or value is nullptr.
239  *         {@link IMAGE_UNSUPPORTED_METADATA} unsupported metadata type, or the metadata type does not match the
240  *         auxiliary picture type.
241  * @since 13
242  */
243 Image_ErrorCode OH_PictureMetadata_SetProperty(OH_PictureMetadata *metadata, Image_String *key, Image_String *value);
244 
245 /**
246  * @brief Releases this PictureMetadata object.
247  *
248  * @param metadata The PictureMetadata pointer will be operated.
249  * @return Image functions result code.
250  *         {@link IMAGE_SUCCESS} if the execution is successful.
251  *         {@link IMAGE_BAD_PARAMETER} metadata is nullptr.
252  * @since 13
253  */
254 Image_ErrorCode OH_PictureMetadata_Release(OH_PictureMetadata *metadata);
255 
256 /**
257  * @brief Obtains a clone of metadata.
258  *
259  * @param oldMetadata The PictureMetadata pointer will be operated.
260  * @param newMetadata The PictureMetadata pointer will be cloned.
261  * @return Image functions result code.
262  *         {@link IMAGE_SUCCESS} if the execution is successful.
263  *         {@link IMAGE_BAD_PARAMETER} metadata is nullptr.
264  *         {@link IMAGE_ALLOC_FAILED} memory alloc failed.
265  *         {@link IMAGE_COPY_FAILED} memory copy failed.
266  * @since 13
267  */
268 Image_ErrorCode OH_PictureMetadata_Clone(OH_PictureMetadata *oldMetadata, OH_PictureMetadata **newMetadata);
269 
270 /**
271  * @brief Defines the bmp mime type.
272  *
273  * @since 12
274  */
275 static const char* MIME_TYPE_BMP = "image/bmp";
276 
277 /**
278  * @brief Defines the jpeg mime type.
279  *
280  * @since 12
281  */
282 static const char* MIME_TYPE_JPEG = "image/jpeg";
283 
284 /**
285  * @brief Defines the heic mime type.
286  *
287  * @since 12
288  */
289 static const char* MIME_TYPE_HEIC = "image/heic";
290 
291 /**
292  * @brief Defines the png mime type.
293  *
294  * @since 12
295  */
296 static const char* MIME_TYPE_PNG = "image/png";
297 
298 /**
299  * @brief Defines the webp mime type.
300  *
301  * @since 12
302  */
303 static const char* MIME_TYPE_WEBP = "image/webp";
304 
305 /**
306  * @brief Defines the gif mime type.
307  *
308  * @since 12
309  */
310 static const char* MIME_TYPE_GIF = "image/gif";
311 
312 /**
313  * @brief Defines the x-icon mime type.
314  *
315  * @since 12
316  */
317 static const char* MIME_TYPE_ICON = "image/x-icon";
318 
319 /**
320  * @brief Defines a pointer to bits per sample, one of the image properties.
321  * It is used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
322  *
323  * @since 12
324  */
325 static const char *OHOS_IMAGE_PROPERTY_BITS_PER_SAMPLE = "BitsPerSample";
326 
327 /**
328  * @brief Defines a pointer to the orientation, one of the image properties.
329  * It is used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
330  *
331  * @since 12
332  */
333 static const char *OHOS_IMAGE_PROPERTY_ORIENTATION = "Orientation";
334 
335 /**
336  * @brief Defines a pointer to the image length, one of the image properties.
337  * It is used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
338  *
339  * @since 12
340  */
341 static const char *OHOS_IMAGE_PROPERTY_IMAGE_LENGTH = "ImageLength";
342 
343 /**
344  * @brief Defines a pointer to the image width, one of the image properties.
345  * It is used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
346  *
347  * @since 12
348  */
349 static const char *OHOS_IMAGE_PROPERTY_IMAGE_WIDTH = "ImageWidth";
350 
351 /**
352  * @brief Defines a pointer to the GPS latitude, one of the image properties.
353  * It is used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
354  *
355  * @since 12
356  */
357 static const char *OHOS_IMAGE_PROPERTY_GPS_LATITUDE = "GPSLatitude";
358 
359 /**
360  * @brief Defines a pointer to the GPS longitude, one of the image properties.
361  * It is used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
362  *
363  * @since 12
364  */
365 static const char *OHOS_IMAGE_PROPERTY_GPS_LONGITUDE = "GPSLongitude";
366 
367 /**
368  * @brief Defines a pointer to the GPS latitude reference information, one of the image properties.
369  * It is used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
370  *
371  * @since 12
372  */
373 static const char *OHOS_IMAGE_PROPERTY_GPS_LATITUDE_REF = "GPSLatitudeRef";
374 
375 /**
376  * @brief Defines a pointer to the GPS longitude reference information, one of the image properties.
377  * It is used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
378  *
379  * @since 12
380  */
381 static const char *OHOS_IMAGE_PROPERTY_GPS_LONGITUDE_REF = "GPSLongitudeRef";
382 
383 /**
384  * @brief Defines a pointer to the created date and time, one of the image properties.
385  * It is used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
386  *
387  * @since 12
388  */
389 static const char *OHOS_IMAGE_PROPERTY_DATE_TIME_ORIGINAL = "DateTimeOriginal";
390 
391 /**
392  * @brief Defines a pointer to the exposure time, one of the image properties.
393  * It is used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
394  *
395  * @since 12
396  */
397 static const char *OHOS_IMAGE_PROPERTY_EXPOSURE_TIME = "ExposureTime";
398 
399 /**
400  * @brief Defines a pointer to the scene type, one of the image properties.
401  * It is used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
402  *
403  * @since 12
404  */
405 static const char *OHOS_IMAGE_PROPERTY_SCENE_TYPE = "SceneType";
406 
407 /**
408  * @brief Defines a pointer to the ISO speed ratings, one of the image properties.
409  * It is used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
410  *
411  * @since 12
412  */
413 static const char *OHOS_IMAGE_PROPERTY_ISO_SPEED_RATINGS = "ISOSpeedRatings";
414 
415 /**
416  * @brief Defines a pointer to the f-number of the image, one of the image properties.
417  * It is used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
418  *
419  * @since 12
420  */
421 static const char *OHOS_IMAGE_PROPERTY_F_NUMBER = "FNumber";
422 
423 /**
424  * @brief Defines a pointer to the compressed bits per pixel, one of the image properties.
425  * It is used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
426  *
427  * @since 12
428  */
429 static const char *OHOS_IMAGE_PROPERTY_COMPRESSED_BITS_PER_PIXEL = "CompressedBitsPerPixel";
430 
431 /**
432  * @brief The scheme used for image compression.
433  * Used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
434  *
435  * @since 12
436  */
437 static const char *OHOS_IMAGE_PROPERTY_COMPRESSION = "Compression";
438 
439 /**
440  * @brief Pixel composition, such as RGB or YCbCr.
441  * Used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
442  *
443  * @since 12
444  */
445 static const char *OHOS_IMAGE_PROPERTY_PHOTOMETRIC_INTERPRETATION = "PhotometricInterpretation";
446 
447 /**
448  * @brief For each strip, the byte offset of that strip.
449  * Used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
450  *
451  * @since 12
452  */
453 static const char *OHOS_IMAGE_PROPERTY_STRIP_OFFSETS = "StripOffsets";
454 
455 /**
456  * @brief The number of components per pixel.
457  * Used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
458  *
459  * @since 12
460  */
461 static const char *OHOS_IMAGE_PROPERTY_SAMPLES_PER_PIXEL = "SamplesPerPixel";
462 
463 /**
464  * @brief The number of rows per strip of image data.
465  * Used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
466  *
467  * @since 12
468  */
469 static const char *OHOS_IMAGE_PROPERTY_ROWS_PER_STRIP = "RowsPerStrip";
470 
471 /**
472  * @brief The total number of bytes in each strip of image data.
473  * Used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
474  *
475  * @since 12
476  */
477 static const char *OHOS_IMAGE_PROPERTY_STRIP_BYTE_COUNTS = "StripByteCounts";
478 
479 /**
480  * @brief The image resolution in the width direction.
481  * Used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
482  *
483  * @since 12
484  */
485 static const char *OHOS_IMAGE_PROPERTY_X_RESOLUTION = "XResolution";
486 
487 /**
488  * @brief The image resolution in the height direction.
489  * Used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
490  *
491  * @since 12
492  */
493 static const char *OHOS_IMAGE_PROPERTY_Y_RESOLUTION = "YResolution";
494 
495 /**
496  * @brief Indicates whether pixel components are recorded in a chunky or planar format.
497  * Used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
498  *
499  * @since 12
500  */
501 static const char *OHOS_IMAGE_PROPERTY_PLANAR_CONFIGURATION = "PlanarConfiguration";
502 
503 /**
504  * @brief The unit used to measure XResolution and YResolution.
505  * Used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
506  *
507  * @since 12
508  */
509 static const char *OHOS_IMAGE_PROPERTY_RESOLUTION_UNIT = "ResolutionUnit";
510 
511 /**
512  * @brief The transfer function for the image, typically used for color correction.
513  * Used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
514  *
515  * @since 12
516  */
517 static const char *OHOS_IMAGE_PROPERTY_TRANSFER_FUNCTION = "TransferFunction";
518 
519 /**
520  * @brief The name and version of the software used to generate the image.
521  * Used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
522  *
523  * @since 12
524  */
525 static const char *OHOS_IMAGE_PROPERTY_SOFTWARE = "Software";
526 
527 /**
528  * @brief The name of the person who created the image.
529  * Used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
530  *
531  * @since 12
532  */
533 static const char *OHOS_IMAGE_PROPERTY_ARTIST = "Artist";
534 
535 /**
536  * @brief The chromaticity of the white point of the image.
537  * Used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
538  *
539  * @since 12
540  */
541 static const char *OHOS_IMAGE_PROPERTY_WHITE_POINT = "WhitePoint";
542 
543 /**
544  * @brief The chromaticity of the primary colors of the image.
545  * Used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
546  *
547  * @since 12
548  */
549 static const char *OHOS_IMAGE_PROPERTY_PRIMARY_CHROMATICITIES = "PrimaryChromaticities";
550 
551 /**
552  * @brief The matrix coefficients for transformation from RGB to YCbCr image data.
553  * Used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
554  *
555  * @since 12
556  */
557 static const char *OHOS_IMAGE_PROPERTY_YCBCR_COEFFICIENTS = "YCbCrCoefficients";
558 
559 /**
560  * @brief The sampling ratio of chrominance components to the luminance component.
561  * Used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
562  *
563  * @since 12
564  */
565 static const char *OHOS_IMAGE_PROPERTY_YCBCR_SUB_SAMPLING = "YCbCrSubSampling";
566 
567 /**
568  * @brief The position of chrominance components in relation to the luminance component.
569  * Used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
570  *
571  * @since 12
572  */
573 static const char *OHOS_IMAGE_PROPERTY_YCBCR_POSITIONING = "YCbCrPositioning";
574 
575 /**
576  * @brief The reference black point value and reference white point value.
577  * Used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
578  *
579  * @since 12
580  */
581 static const char *OHOS_IMAGE_PROPERTY_REFERENCE_BLACK_WHITE = "ReferenceBlackWhite";
582 
583 /**
584  * @brief Copyright information for the image.
585  * Used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
586  *
587  * @since 12
588  */
589 static const char *OHOS_IMAGE_PROPERTY_COPYRIGHT = "Copyright";
590 
591 /**
592  * @brief The offset to the start byte (SOI) of JPEG compressed thumbnail data.
593  * Used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
594  *
595  * @since 12
596  */
597 static const char *OHOS_IMAGE_PROPERTY_JPEG_INTERCHANGE_FORMAT = "JPEGInterchangeFormat";
598 
599 /**
600  * @brief The number of bytes of JPEG compressed thumbnail data.
601  * Used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
602  *
603  * @since 12
604  */
605 static const char *OHOS_IMAGE_PROPERTY_JPEG_INTERCHANGE_FORMAT_LENGTH = "JPEGInterchangeFormatLength";
606 
607 /**
608  * @brief The class of the program used by the camera to set exposure when the picture is taken.
609  * Used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
610  *
611  * @since 12
612  */
613 static const char *OHOS_IMAGE_PROPERTY_EXPOSURE_PROGRAM = "ExposureProgram";
614 
615 /**
616  * @brief Indicates the spectral sensitivity of each channel of the camera used.
617  * Used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
618  *
619  * @since 12
620  */
621 static const char *OHOS_IMAGE_PROPERTY_SPECTRAL_SENSITIVITY = "SpectralSensitivity";
622 
623 /**
624  * @brief Indicates the Opto-Electric Conversion Function (OECF) specified in ISO 14524.
625  * Used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
626  *
627  * @since 12
628  */
629 static const char *OHOS_IMAGE_PROPERTY_OECF = "OECF";
630 
631 /**
632  * @brief The version of the Exif standard supported.
633  * Used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
634  *
635  * @since 12
636  */
637 static const char *OHOS_IMAGE_PROPERTY_EXIF_VERSION = "ExifVersion";
638 
639 /**
640  * @brief The date and time when the image was stored as digital data.
641  * Used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
642  *
643  * @since 12
644  */
645 static const char *OHOS_IMAGE_PROPERTY_DATE_TIME_DIGITIZED = "DateTimeDigitized";
646 
647 /**
648  * @brief Information specific to compressed data.
649  * Used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
650  *
651  * @since 12
652  */
653 static const char *OHOS_IMAGE_PROPERTY_COMPONENTS_CONFIGURATION = "ComponentsConfiguration";
654 
655 /**
656  * @brief The shutter speed, expressed as an APEX (Additive System of Photographic Exposure) value.
657  * Used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
658  *
659  * @since 12
660  */
661 static const char *OHOS_IMAGE_PROPERTY_SHUTTER_SPEED_VALUE = "ShutterSpeedValue";
662 
663 /**
664  * @brief The brightness value of the image, in APEX units.
665  * It is used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
666  *
667  * @since 12
668  */
669 static const char *OHOS_IMAGE_PROPERTY_BRIGHTNESS_VALUE = "BrightnessValue";
670 
671 /**
672  * @brief The smallest F number of lens.
673  * It is used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
674  *
675  * @since 12
676  */
677 static const char *OHOS_IMAGE_PROPERTY_MAX_APERTURE_VALUE = "MaxApertureValue";
678 
679 /**
680  * @brief The distance to the subject, measured in meters.
681  * It is used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
682  *
683  * @since 12
684  */
685 static const char *OHOS_IMAGE_PROPERTY_SUBJECT_DISTANCE = "SubjectDistance";
686 
687 /**
688  * @brief This tag indicate the location and area of the main subject in the overall scene.
689  * It is used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
690  *
691  * @since 12
692  */
693 static const char *OHOS_IMAGE_PROPERTY_SUBJECT_AREA = "SubjectArea";
694 
695 /**
696  * @brief A tag for manufacturers of Exif/DCF writers to record any desired infomation.
697  * It is used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
698  *
699  * @since 12
700  */
701 static const char *OHOS_IMAGE_PROPERTY_MAKER_NOTE = "MakerNote";
702 
703 /**
704  * @brief A tag for record fractions of seconds for the DateTime tag.
705  * It is used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
706  *
707  * @since 12
708  */
709 static const char *OHOS_IMAGE_PROPERTY_SUBSEC_TIME = "SubsecTime";
710 
711 /**
712  * @brief A tag used to record fractions of seconds for the DateTimeOriginal tag.
713  * It is used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
714  *
715  * @since 12
716  */
717 static const char *OHOS_IMAGE_PROPERTY_SUBSEC_TIME_ORIGINAL = "SubsecTimeOriginal";
718 
719 /**
720  * @brief A tag used to record fractions of seconds for the DateTimeDigitized tag.
721  * It is used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
722  *
723  * @since 12
724  */
725 static const char *OHOS_IMAGE_PROPERTY_SUBSEC_TIME_DIGITIZED = "SubsecTimeDigitized";
726 
727 /**
728  * @brief This tag denotes the Flashpix format version supported by an FPXR file, enhancing device compatibility.
729  * It is used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
730  *
731  * @since 12
732  */
733 static const char *OHOS_IMAGE_PROPERTY_FLASHPIX_VERSION = "FlashpixVersion";
734 
735 /**
736  * @brief The color space information tag, often recorded as the color space specifier.
737  * Used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
738  *
739  * @since 12
740  */
741 static const char *OHOS_IMAGE_PROPERTY_COLOR_SPACE = "ColorSpace";
742 
743 /**
744  * @brief The name of an audio file related to the image data.
745  * Used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
746  *
747  * @since 12
748  */
749 static const char *OHOS_IMAGE_PROPERTY_RELATED_SOUND_FILE = "RelatedSoundFile";
750 
751 /**
752  * @brief Strobe energy at image capture, in BCPS.
753  * It is used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
754  *
755  * @since 12
756  */
757 static const char *OHOS_IMAGE_PROPERTY_FLASH_ENERGY = "FlashEnergy";
758 
759 /**
760  * @brief Camera or input device spatial frequency table.
761  * It is used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
762  *
763  * @since 12
764  */
765 static const char *OHOS_IMAGE_PROPERTY_SPATIAL_FREQUENCY_RESPONSE = "SpatialFrequencyResponse";
766 
767 /**
768  * @brief Pixels per FocalPlaneResolutionUnit in the image width.
769  * It is used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
770  *
771  * @since 12
772  */
773 static const char *OHOS_IMAGE_PROPERTY_FOCAL_PLANE_X_RESOLUTION = "FocalPlaneXResolution";
774 
775 /**
776  * @brief Pixels per FocalPlaneResolutionUnit in the image height.
777  * It is used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
778  *
779  * @since 12
780  */
781 static const char *OHOS_IMAGE_PROPERTY_FOCAL_PLANE_Y_RESOLUTION = "FocalPlaneYResolution";
782 
783 /**
784  * @brief Unit for measuring FocalPlaneXResolution and FocalPlaneYResolution.
785  * It is used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
786  *
787  * @since 12
788  */
789 static const char *OHOS_IMAGE_PROPERTY_FOCAL_PLANE_RESOLUTION_UNIT = "FocalPlaneResolutionUnit";
790 
791 /**
792  * @brief Location of the main subject, relative to the left edge.
793  * It is used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
794  *
795  * @since 12
796  */
797 static const char *OHOS_IMAGE_PROPERTY_SUBJECT_LOCATION = "SubjectLocation";
798 
799 /**
800  * @brief Selected exposure index at capture.
801  * It is used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
802  *
803  * @since 12
804  */
805 static const char *OHOS_IMAGE_PROPERTY_EXPOSURE_INDEX = "ExposureIndex";
806 
807 /**
808  * @brief Image sensor type on the camera.
809  * It is used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
810  *
811  * @since 12
812  */
813 static const char *OHOS_IMAGE_PROPERTY_SENSING_METHOD = "SensingMethod";
814 
815 /**
816  * @brief Indicates the image source.
817  * Used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
818  *
819  * @since 12
820  */
821 static const char *OHOS_IMAGE_PROPERTY_FILE_SOURCE = "FileSource";
822 
823 /**
824  * @brief Color filter array (CFA) geometric pattern of the image sensor.
825  * Used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
826  *
827  * @since 12
828  */
829 static const char *OHOS_IMAGE_PROPERTY_CFA_PATTERN = "CFAPattern";
830 
831 /**
832  * @brief Indicates special processing on image data.
833  * Used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
834  *
835  * @since 12
836  */
837 static const char *OHOS_IMAGE_PROPERTY_CUSTOM_RENDERED = "CustomRendered";
838 
839 /**
840  * @brief Exposure mode set when the image was shot.
841  * Used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
842  *
843  * @since 12
844  */
845 static const char *OHOS_IMAGE_PROPERTY_EXPOSURE_MODE = "ExposureMode";
846 
847 /**
848  * @brief Digital zoom ratio at the time of capture.
849  * Used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
850  *
851  * @since 12
852  */
853 static const char *OHOS_IMAGE_PROPERTY_DIGITAL_ZOOM_RATIO = "DigitalZoomRatio";
854 
855 /**
856  * @brief Type of scene captured.
857  * Used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
858  *
859  * @since 12
860  */
861 static const char *OHOS_IMAGE_PROPERTY_SCENE_CAPTURE_TYPE = "SceneCaptureType";
862 
863 /**
864  * @brief Degree of overall image gain adjustment.
865  * It is used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
866  *
867  * @since 12
868  */
869 static const char *OHOS_IMAGE_PROPERTY_GAIN_CONTROL = "GainControl";
870 
871 /**
872  * @brief Direction of contrast processing applied by the camera.
873  * It is used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
874  *
875  * @since 12
876  */
877 static const char *OHOS_IMAGE_PROPERTY_CONTRAST = "Contrast";
878 
879 /**
880  * @brief Direction of saturation processing applied by the camera.
881  * It is used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
882  *
883  * @since 12
884  */
885 static const char *OHOS_IMAGE_PROPERTY_SATURATION = "Saturation";
886 
887 /**
888  * @brief The direction of sharpness processing applied by the camera.
889  * It is used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
890  *
891  * @since 12
892  */
893 static const char *OHOS_IMAGE_PROPERTY_SHARPNESS = "Sharpness";
894 
895 /**
896  * @brief Information on picture-taking conditions for a specific camera model.
897  * Used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
898  *
899  * @since 12
900  */
901 static const char *OHOS_IMAGE_PROPERTY_DEVICE_SETTING_DESCRIPTION = "DeviceSettingDescription";
902 
903 /**
904  * @brief Indicates the distance range to the subject.
905  * Used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
906  *
907  * @since 12
908  */
909 static const char *OHOS_IMAGE_PROPERTY_SUBJECT_DISTANCE_RANGE = "SubjectDistanceRange";
910 
911 /**
912  * @brief An identifier uniquely assigned to each image.
913  * Used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
914  *
915  * @since 12
916  */
917 static const char *OHOS_IMAGE_PROPERTY_IMAGE_UNIQUE_ID = "ImageUniqueID";
918 
919 /**
920  * @brief The version of the GPSInfoIFD.
921  * Used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
922  *
923  * @since 12
924  */
925 static const char *OHOS_IMAGE_PROPERTY_GPS_VERSION_ID = "GPSVersionID";
926 
927 /**
928  * @brief Reference altitude used for GPS altitude.
929  * Used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
930  *
931  * @since 12
932  */
933 static const char *OHOS_IMAGE_PROPERTY_GPS_ALTITUDE_REF = "GPSAltitudeRef";
934 
935 /**
936  * @brief The altitude based on the reference in GPSAltitudeRef.
937  * Used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
938  *
939  * @since 12
940  */
941 static const char *OHOS_IMAGE_PROPERTY_GPS_ALTITUDE = "GPSAltitude";
942 
943 /**
944  * @brief The GPS satellites used for measurements.
945  * Used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
946  *
947  * @since 12
948  */
949 static const char *OHOS_IMAGE_PROPERTY_GPS_SATELLITES = "GPSSatellites";
950 
951 /**
952  * @brief The status of the GPS receiver when the image is recorded.
953  * It is used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
954  *
955  * @since 12
956  */
957 static const char *OHOS_IMAGE_PROPERTY_GPS_STATUS = "GPSStatus";
958 
959 /**
960  * @brief The GPS measurement mode.
961  * It is used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
962  *
963  * @since 12
964  */
965 static const char *OHOS_IMAGE_PROPERTY_GPS_MEASURE_MODE = "GPSMeasureMode";
966 
967 /**
968  * @brief The GPS DOP (data degree of precision).
969  * It is used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
970  *
971  * @since 12
972  */
973 static const char *OHOS_IMAGE_PROPERTY_GPS_DOP = "GPSDOP";
974 
975 /**
976  * @brief The unit used to express the GPS receiver speed of movement.
977  * It is used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
978  *
979  * @since 12
980  */
981 static const char *OHOS_IMAGE_PROPERTY_GPS_SPEED_REF = "GPSSpeedRef";
982 
983 /**
984  * @brief The speed of GPS receiver movement.
985  * It is used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
986  *
987  * @since 12
988  */
989 static const char *OHOS_IMAGE_PROPERTY_GPS_SPEED = "GPSSpeed";
990 
991 /**
992  * @brief The reference for giving the direction of GPS receiver movement.
993  * It is used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
994  *
995  * @since 12
996  */
997 static const char *OHOS_IMAGE_PROPERTY_GPS_TRACK_REF = "GPSTrackRef";
998 
999 /**
1000  * @brief The direction of GPS receiver movement.
1001  * It is used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
1002  *
1003  * @since 12
1004  */
1005 static const char *OHOS_IMAGE_PROPERTY_GPS_TRACK = "GPSTrack";
1006 
1007 /**
1008  * @brief The reference for the image's direction.
1009  * It is used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
1010  *
1011  * @since 12
1012  */
1013 static const char *OHOS_IMAGE_PROPERTY_GPS_IMG_DIRECTION_REF = "GPSImgDirectionRef";
1014 
1015 /**
1016  * @brief The direction of the image when captured.
1017  * It is used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
1018  *
1019  * @since 12
1020  */
1021 static const char *OHOS_IMAGE_PROPERTY_GPS_IMG_DIRECTION = "GPSImgDirection";
1022 
1023 /**
1024  * @brief Geodetic survey data used by the GPS receiver.
1025  * It is used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
1026  *
1027  * @since 12
1028  */
1029 static const char *OHOS_IMAGE_PROPERTY_GPS_MAP_DATUM = "GPSMapDatum";
1030 
1031 /**
1032  * @brief Indicates the latitude reference of the destination point.
1033  * It is used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
1034  *
1035  * @since 12
1036  */
1037 static const char *OHOS_IMAGE_PROPERTY_GPS_DEST_LATITUDE_REF = "GPSDestLatitudeRef";
1038 
1039 /**
1040  * @brief The latitude of the destination point.
1041  * It is used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
1042  *
1043  * @since 12
1044  */
1045 static const char *OHOS_IMAGE_PROPERTY_GPS_DEST_LATITUDE = "GPSDestLatitude";
1046 
1047 /**
1048  * @brief Indicates the longitude reference of the destination point.
1049  * It is used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
1050  *
1051  * @since 12
1052  */
1053 static const char *OHOS_IMAGE_PROPERTY_GPS_DEST_LONGITUDE_REF = "GPSDestLongitudeRef";
1054 
1055 /**
1056  * @brief A character string recording the name of the method used for location finding.
1057  * It is used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
1058  *
1059  * @since 12
1060  */
1061 static const char *OHOS_IMAGE_PROPERTY_GPS_PROCESSING_METHOD = "GPSProcessingMethod";
1062 
1063 /**
1064  * @brief A character string recording the name of the GPS area.
1065  * It is used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
1066  *
1067  * @since 12
1068  */
1069 static const char *OHOS_IMAGE_PROPERTY_GPS_AREA_INFORMATION = "GPSAreaInformation";
1070 
1071 /**
1072  * @brief This field denotes if differential correction was applied to GPS data, crucial for precise location accuracy.
1073  * It is used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
1074  *
1075  * @since 12
1076  */
1077 static const char *OHOS_IMAGE_PROPERTY_GPS_DIFFERENTIAL = "GPSDifferential";
1078 
1079 /**
1080  * @brief The serial number of the camera body.
1081  * It is used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
1082  *
1083  * @since 12
1084  */
1085 static const char *OHOS_IMAGE_PROPERTY_BODY_SERIAL_NUMBER = "BodySerialNumber";
1086 
1087 /**
1088  * @brief The name of the camera owner.
1089  * It is used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
1090  *
1091  * @since 12
1092  */
1093 static const char *OHOS_IMAGE_PROPERTY_CAMERA_OWNER_NAME = "CameraOwnerName";
1094 
1095 /**
1096  * @brief The name of the camera owner.
1097  * It is used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
1098  *
1099  * @since 12
1100  */
1101 static const char *OHOS_IMAGE_PROPERTY_COMPOSITE_IMAGE = "CompositeImage";
1102 
1103 /**
1104  * @brief The DNGVersion tag encodes the four-tier version number for DNG specification compliance.
1105  * It is used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
1106  *
1107  * @since 12
1108  */
1109 static const char *OHOS_IMAGE_PROPERTY_DNG_VERSION = "DNGVersion";
1110 
1111 /**
1112  * @brief The longitude of the destination point.
1113  * It is used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
1114  *
1115  * @since 12
1116  */
1117 static const char *OHOS_IMAGE_PROPERTY_GPS_DEST_LONGITUDE = "GPSDestLongitude";
1118 
1119 /**
1120  * @brief The reference for the bearing to the destination point.
1121  * It is used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
1122  *
1123  * @since 12
1124  */
1125 static const char *OHOS_IMAGE_PROPERTY_GPS_DEST_BEARING_REF = "GPSDestBearingRef";
1126 
1127 /**
1128  * @brief The bearing to the destination point.
1129  * It is used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
1130  *
1131  * @since 12
1132  */
1133 static const char *OHOS_IMAGE_PROPERTY_GPS_DEST_BEARING = "GPSDestBearing";
1134 
1135 /**
1136  * @brief The measurement unit for the distance to the target point.
1137  * It is used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
1138  *
1139  * @since 12
1140  */
1141 static const char *OHOS_IMAGE_PROPERTY_GPS_DEST_DISTANCE_REF = "GPSDestDistanceRef";
1142 
1143 /**
1144  * @brief The distance to the destination point.
1145  * It is used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
1146  *
1147  * @since 12
1148  */
1149 static const char *OHOS_IMAGE_PROPERTY_GPS_DEST_DISTANCE = "GPSDestDistance";
1150 
1151 /**
1152  * @brief DefaultCropSize specifies the final image size in raw coordinates, accounting for extra edge pixels.
1153  * It is used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
1154  *
1155  * @since 12
1156  */
1157 static const char *OHOS_IMAGE_PROPERTY_DEFAULT_CROP_SIZE = "DefaultCropSize";
1158 
1159 /**
1160  * @brief Indicates the value of coefficient gamma.
1161  * It is used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
1162  *
1163  * @since 12
1164  */
1165 static const char *OHOS_IMAGE_PROPERTY_GAMMA = "Gamma";
1166 
1167 /**
1168  * @brief The tag indicate the ISO speed latitude yyy value of the camera or input device that is defined in ISO 12232.
1169  * It is used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
1170  *
1171  * @since 12
1172  */
1173 static const char *OHOS_IMAGE_PROPERTY_ISO_SPEED_LATITUDEYYY = "ISOSpeedLatitudeyyy";
1174 
1175 /**
1176  * @brief The tag indicate the ISO speed latitude zzz value of the camera or input device that is defined in ISO 12232.
1177  * It is used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
1178  *
1179  * @since 12
1180  */
1181 static const char *OHOS_IMAGE_PROPERTY_ISO_SPEED_LATITUDEZZZ = "ISOSpeedLatitudezzz";
1182 
1183 /**
1184  * @brief The manufacturer of the lens.
1185  * It is used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
1186  *
1187  * @since 12
1188  */
1189 static const char *OHOS_IMAGE_PROPERTY_LENS_MAKE = "LensMake";
1190 
1191 /**
1192  * @brief The model name of the lens.
1193  * It is used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
1194  *
1195  * @since 12
1196  */
1197 static const char *OHOS_IMAGE_PROPERTY_LENS_MODEL = "LensModel";
1198 
1199 /**
1200  * @brief The serial number of the lens.
1201  * It is used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
1202  *
1203  * @since 12
1204  */
1205 static const char *OHOS_IMAGE_PROPERTY_LENS_SERIAL_NUMBER = "LensSerialNumber";
1206 
1207 /**
1208  * @brief Specifications of the lens used.
1209  * It is used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
1210  *
1211  * @since 12
1212  */
1213 static const char *OHOS_IMAGE_PROPERTY_LENS_SPECIFICATION = "LensSpecification";
1214 
1215 /**
1216  * @brief This tag provides a broad description of the data type in this subfile.
1217  * It is used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
1218  *
1219  * @since 12
1220  */
1221 static const char *OHOS_IMAGE_PROPERTY_NEW_SUBFILE_TYPE = "NewSubfileType";
1222 
1223 /**
1224  * @brief This tag records the UTC offset for the DateTime tag, ensuring accurate timestamps regardless of location.
1225  * It is used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
1226  *
1227  * @since 12
1228  */
1229 static const char *OHOS_IMAGE_PROPERTY_OFFSET_TIME = "OffsetTime";
1230 
1231 /**
1232  * @brief This tag logs the UTC offset when the image was digitized, aiding in accurate timestamp adjustment.
1233  * It is used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
1234  *
1235  * @since 12
1236  */
1237 static const char *OHOS_IMAGE_PROPERTY_OFFSET_TIME_DIGITIZED = "OffsetTimeDigitized";
1238 
1239 /**
1240  * @brief This tag records the UTC offset when the original image was created, crucial for time-sensitive applications.
1241  * It is used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
1242  *
1243  * @since 12
1244  */
1245 static const char *OHOS_IMAGE_PROPERTY_OFFSET_TIME_ORIGINAL = "OffsetTimeOriginal";
1246 
1247 /**
1248  * @brief Exposure times of source images for a composite image.
1249  * It is used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
1250  *
1251  * @since 12
1252  */
1253 static const char *OHOS_IMAGE_PROPERTY_SOURCE_EXPOSURE_TIMES_OF_COMPOSITE_IMAGE = "SourceExposureTimesOfCompositeImage";
1254 
1255 /**
1256  * @brief The number of source images used for a composite image.
1257  * It is used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
1258  *
1259  * @since 12
1260  */
1261 static const char *OHOS_IMAGE_PROPERTY_SOURCE_IMAGE_NUMBER_OF_COMPOSITE_IMAGE = "SourceImageNumberOfCompositeImage";
1262 
1263 /**
1264  * @brief This deprecated field signifies the type of data in this subfile. Use the NewSubfileType field instead.
1265  * It is used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
1266  *
1267  * @since 12
1268  */
1269 static const char *OHOS_IMAGE_PROPERTY_SUBFILE_TYPE = "SubfileType";
1270 
1271 /**
1272  * @brief This tag indicates horizontal positioning errors in meters.
1273  * It is used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
1274  *
1275  * @since 12
1276  */
1277 static const char *OHOS_IMAGE_PROPERTY_GPS_H_POSITIONING_ERROR = "GPSHPositioningError";
1278 
1279 /**
1280  * @brief This tag indicates the sensitivity of the camera or input device when the image was shot.
1281  * It is used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
1282  *
1283  * @since 12
1284  */
1285 static const char *OHOS_IMAGE_PROPERTY_PHOTOGRAPHIC_SENSITIVITY = "PhotographicSensitivity";
1286 
1287 /**
1288  * @brief Burst Number
1289  * It is used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
1290  *
1291  * @since 12
1292  */
1293 static const char *OHOS_IMAGE_PROPERTY_BURST_NUMBER = "HwMnoteBurstNumber";
1294 
1295 /**
1296  * @brief Face Conf
1297  * It is used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
1298  *
1299  * @since 12
1300  */
1301 static const char *OHOS_IMAGE_PROPERTY_FACE_CONF = "HwMnoteFaceConf";
1302 
1303 /**
1304  * @brief Face Leye Center
1305  * It is used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
1306  *
1307  * @since 12
1308  */
1309 static const char *OHOS_IMAGE_PROPERTY_FACE_LEYE_CENTER = "HwMnoteFaceLeyeCenter";
1310 
1311 /**
1312  * @brief Face Mouth Center
1313  * It is used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
1314  *
1315  * @since 12
1316  */
1317 static const char *OHOS_IMAGE_PROPERTY_FACE_MOUTH_CENTER = "HwMnoteFaceMouthCenter";
1318 
1319 /**
1320  * @brief Face Pointer
1321  * It is used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
1322  *
1323  * @since 12
1324  */
1325 static const char *OHOS_IMAGE_PROPERTY_FACE_POINTER = "HwMnoteFacePointer";
1326 
1327 /**
1328  * @brief Face Rect
1329  * It is used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
1330  *
1331  * @since 12
1332  */
1333 static const char *OHOS_IMAGE_PROPERTY_FACE_RECT = "HwMnoteFaceRect";
1334 
1335 /**
1336  * @brief Face Reye Center
1337  * It is used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
1338  *
1339  * @since 12
1340  */
1341 static const char *OHOS_IMAGE_PROPERTY_FACE_REYE_CENTER = "HwMnoteFaceReyeCenter";
1342 
1343 /**
1344  * @brief Face Smile Score
1345  * It is used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
1346  *
1347  * @since 12
1348  */
1349 static const char *OHOS_IMAGE_PROPERTY_FACE_SMILE_SCORE = "HwMnoteFaceSmileScore";
1350 
1351 /**
1352  * @brief Face Version
1353  * It is used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
1354  *
1355  * @since 12
1356  */
1357 static const char *OHOS_IMAGE_PROPERTY_FACE_VERSION = "HwMnoteFaceVersion";
1358 
1359 /**
1360  * @brief Front Camera
1361  * It is used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
1362  *
1363  * @since 12
1364  */
1365 static const char *OHOS_IMAGE_PROPERTY_FRONT_CAMERA = "HwMnoteFrontCamera";
1366 
1367 /**
1368  * @brief Scene Pointer
1369  * It is used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
1370  *
1371  * @since 12
1372  */
1373 static const char *OHOS_IMAGE_PROPERTY_SCENE_POINTER = "HwMnoteScenePointer";
1374 
1375 /**
1376  * @brief Scene Version
1377  * It is used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
1378  *
1379  * @since 12
1380  */
1381 static const char *OHOS_IMAGE_PROPERTY_SCENE_VERSION = "HwMnoteSceneVersion";
1382 
1383 /**
1384  * @brief Is Xmage Supported
1385  * It is used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
1386  *
1387  * @since 12
1388  */
1389 static const char *OHOS_IMAGE_PROPERTY_IS_XMAGE_SUPPORTED = "HwMnoteIsXmageSupported";
1390 
1391 /**
1392  * @brief Xmage Mode
1393  * It is used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
1394  *
1395  * @since 12
1396  */
1397 static const char *OHOS_IMAGE_PROPERTY_XMAGE_MODE = "HwMnoteXmageMode";
1398 
1399 /**
1400  * @brief Xmage X1 Coordinate
1401  * It is used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
1402  *
1403  * @since 12
1404  */
1405 static const char *OHOS_IMAGE_PROPERTY_XMAGE_LEFT = "HwMnoteXmageLeft";
1406 
1407 /**
1408  * @brief Xmage Y1 Coordinate
1409  * It is used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
1410  *
1411  * @since 12
1412  */
1413 static const char *OHOS_IMAGE_PROPERTY_XMAGE_TOP = "HwMnoteXmageTop";
1414 
1415 /**
1416  * @brief Xmage X2 Coordinate
1417  * It is used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
1418  *
1419  * @since 12
1420  */
1421 static const char *OHOS_IMAGE_PROPERTY_XMAGE_RIGHT = "HwMnoteXmageRight";
1422 
1423 /**
1424  * @brief Xmage Y2 Coordinate
1425  * It is used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
1426  *
1427  * @since 12
1428  */
1429 static const char *OHOS_IMAGE_PROPERTY_XMAGE_BOTTOM = "HwMnoteXmageBottom";
1430 
1431 /**
1432  * @brief Cloud Enhancement Mode
1433  * It is used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
1434  *
1435  * @since 12
1436  */
1437 static const char *OHOS_IMAGE_PROPERTY_CLOUD_ENHANCEMENT_MODE = "HwMnoteCloudEnhancementMode";
1438 
1439 /**
1440  * @brief Wind Snapshot Mode
1441  * It is used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
1442  *
1443  * @since 12
1444  */
1445 static const char *OHOS_IMAGE_PROPERTY_WIND_SNAPSHOT_MODE = "HwMnoteWindSnapshotMode";
1446 
1447 
1448 /**
1449  * @brief Gif Loop Count
1450  * It is used in {@link OH_ImageSource_GetImageProperty}.
1451  * If infinite loop returns 0, other values represent the number of loops
1452  *
1453  * @since 12
1454  */
1455 static const char *OHOS_IMAGE_PROPERTY_GIF_LOOP_COUNT = "GIFLoopCount";
1456 
1457 /**
1458  * @brief X in original
1459  * It is used in {@link OH_ImageSource_GetImageProperty}.
1460  * The top left corner of the fragment image is at the X-coordinate of the original image
1461  *
1462  * @since 13
1463  */
1464 static const char *OHOS_IMAGE_PROPERTY_X_IN_ORIGINAL = "XInOriginal";
1465 
1466 /**
1467  * @brief Y in original
1468  * It is used in {@link OH_ImageSource_GetImageProperty}.
1469  * The top left corner of the fragment image is at the Y-coordinate of the original image
1470  *
1471  * @since 13
1472  */
1473 static const char *OHOS_IMAGE_PROPERTY_Y_IN_ORIGINAL = "YInOriginal";
1474 
1475 /**
1476  * @brief Fragment map width
1477  * It is used in {@link OH_ImageSource_GetImageProperty}.
1478  * The width of the fragment image
1479  *
1480  * @since 13
1481  */
1482 static const char *OHOS_IMAGE_PROPERTY_FRAGMENT_WIDTH = "FragmentImageWidth";
1483 
1484 /**
1485  * @brief Fragment map height
1486  * It is used in {@link OH_ImageSource_GetImageProperty}.
1487  * The height of the fragment image
1488  *
1489  * @since 13
1490  */
1491 static const char *OHOS_IMAGE_PROPERTY_FRAGMENT_HEIGHT = "FragmentImageHeight";
1492 #ifdef __cplusplus
1493 };
1494 #endif
1495 /** @} */
1496 
1497 #endif // INTERFACES_KITS_NATIVE_INCLUDE_IMAGE_IMAGE_COMMON_H_