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