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