• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1/*
2 * Copyright (C) 2022 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 * @file
18 * @kit ImageKit
19 */
20
21import { AsyncCallback } from './@ohos.base';
22import type colorSpaceManager from './@ohos.graphics.colorSpaceManager';
23import type resourceManager from './@ohos.resourceManager';
24import type rpc from './@ohos.rpc';
25
26/**
27 * @namespace image
28 * @since 6
29 */
30/**
31 * This module provides the capability of image codec and access
32 * @namespace image
33 * @syscap SystemCapability.Multimedia.Image.Core
34 * @crossplatform
35 * @atomicservice
36 * @since 11
37 */
38/**
39 * This module provides the capability of image codec and access
40 * @namespace image
41 * @syscap SystemCapability.Multimedia.Image.Core
42 * @crossplatform
43 * @form
44 * @atomicservice
45 * @since 12
46 */
47declare namespace image {
48  /**
49   * Enumerates pixel map formats.
50   *
51   * @enum { number }
52   * @syscap SystemCapability.Multimedia.Image.Core
53   * @since 7
54   */
55  /**
56   * Enumerates pixel map formats.
57   *
58   * @enum { number }
59   * @syscap SystemCapability.Multimedia.Image.Core
60   * @crossplatform
61   * @since 10
62   */
63  /**
64   * Enumerates pixel map formats.
65   *
66   * @enum { number }
67   * @syscap SystemCapability.Multimedia.Image.Core
68   * @crossplatform
69   * @atomicservice
70   * @since 11
71   */
72  /**
73   * Enumerates pixel map formats.
74   *
75   * @enum { number }
76   * @syscap SystemCapability.Multimedia.Image.Core
77   * @crossplatform
78   * @form
79   * @atomicservice
80   * @since 12
81   */
82  enum PixelMapFormat {
83    /**
84     * Indicates an unknown format.
85     *
86     * @syscap SystemCapability.Multimedia.Image.Core
87     * @since 7
88     */
89    /**
90     * Indicates an unknown format.
91     *
92     * @syscap SystemCapability.Multimedia.Image.Core
93     * @crossplatform
94     * @since 10
95     */
96    /**
97     * Indicates an unknown format.
98     *
99     * @syscap SystemCapability.Multimedia.Image.Core
100     * @crossplatform
101     * @atomicservice
102     * @since 11
103     */
104    /**
105     * Indicates an unknown format.
106     *
107     * @syscap SystemCapability.Multimedia.Image.Core
108     * @crossplatform
109     * @form
110     * @atomicservice
111     * @since 12
112     */
113    UNKNOWN = 0,
114
115    /**
116     * Indicates that each pixel is stored on 32 bits. Each pixel contains 4 components:R(8bits), G(8bits), B(8bits), A(8bits)
117     * and are stored from the higher-order to the lower-order bits.
118     *
119     * @syscap SystemCapability.Multimedia.Image.Core
120     * @since 18
121     */
122    ARGB_8888 = 1,
123
124    /**
125     * Indicates that each pixel is stored on 16 bits. Only the R, G, and B components are encoded
126     * from the higher-order to the lower-order bits: red is stored with 5 bits of precision,
127     * green is stored with 6 bits of precision, and blue is stored with 5 bits of precision.
128     *
129     * @syscap SystemCapability.Multimedia.Image.Core
130     * @since 7
131     */
132    /**
133     * Indicates that each pixel is stored on 16 bits. Only the R, G, and B components are encoded
134     * from the higher-order to the lower-order bits: red is stored with 5 bits of precision,
135     * green is stored with 6 bits of precision, and blue is stored with 5 bits of precision.
136     *
137     * @syscap SystemCapability.Multimedia.Image.Core
138     * @crossplatform
139     * @since 10
140     */
141    /**
142     * Indicates that each pixel is stored on 16 bits. Only the R, G, and B components are encoded
143     * from the higher-order to the lower-order bits: red is stored with 5 bits of precision,
144     * green is stored with 6 bits of precision, and blue is stored with 5 bits of precision.
145     *
146     * @syscap SystemCapability.Multimedia.Image.Core
147     * @crossplatform
148     * @atomicservice
149     * @since 11
150     */
151    /**
152     * Indicates that each pixel is stored on 16 bits. Only the R, G, and B components are encoded
153     * from the higher-order to the lower-order bits: red is stored with 5 bits of precision,
154     * green is stored with 6 bits of precision, and blue is stored with 5 bits of precision.
155     *
156     * @syscap SystemCapability.Multimedia.Image.Core
157     * @crossplatform
158     * @form
159     * @atomicservice
160     * @since 12
161     */
162    RGB_565 = 2,
163
164    /**
165     * Indicates that each pixel is stored on 32 bits. Each pixel contains 4 components:B(8bits), G(8bits), R(8bits), A(8bits)
166     * and are stored from the higher-order to the lower-order bits.
167     *
168     * @syscap SystemCapability.Multimedia.Image.Core
169     * @since 7
170     */
171    /**
172     * Indicates that each pixel is stored on 32 bits. Each pixel contains 4 components:B(8bits), G(8bits), R(8bits), A(8bits)
173     * and are stored from the higher-order to the lower-order bits.
174     *
175     * @syscap SystemCapability.Multimedia.Image.Core
176     * @crossplatform
177     * @since 10
178     */
179    /**
180     * Indicates that each pixel is stored on 32 bits. Each pixel contains 4 components:B(8bits), G(8bits), R(8bits), A(8bits)
181     * and are stored from the higher-order to the lower-order bits.
182     *
183     * @syscap SystemCapability.Multimedia.Image.Core
184     * @crossplatform
185     * @atomicservice
186     * @since 11
187     */
188    /**
189     * Indicates that each pixel is stored on 32 bits. Each pixel contains 4 components:B(8bits), G(8bits), R(8bits), A(8bits)
190     * and are stored from the higher-order to the lower-order bits.
191     *
192     * @syscap SystemCapability.Multimedia.Image.Core
193     * @crossplatform
194     * @form
195     * @atomicservice
196     * @since 12
197     */
198    RGBA_8888 = 3,
199
200    /**
201     * Indicates that each pixel is stored on 32 bits. Each pixel contains 4 components:B(8bits), G(8bits), R(8bits), A(8bits)
202     * and are stored from the higher-order to the lower-order bits.
203     *
204     * @syscap SystemCapability.Multimedia.Image.Core
205     * @since 9
206     */
207    /**
208     * Indicates that each pixel is stored on 32 bits. Each pixel contains 4 components:B(8bits), G(8bits), R(8bits), A(8bits)
209     * and are stored from the higher-order to the lower-order bits.
210     *
211     * @syscap SystemCapability.Multimedia.Image.Core
212     * @crossplatform
213     * @since 10
214     */
215    /**
216     * Indicates that each pixel is stored on 32 bits. Each pixel contains 4 components:B(8bits), G(8bits), R(8bits), A(8bits)
217     * and are stored from the higher-order to the lower-order bits.
218     *
219     * @syscap SystemCapability.Multimedia.Image.Core
220     * @crossplatform
221     * @atomicservice
222     * @since 11
223     */
224    /**
225     * Indicates that each pixel is stored on 32 bits. Each pixel contains 4 components:B(8bits), G(8bits), R(8bits), A(8bits)
226     * and are stored from the higher-order to the lower-order bits.
227     *
228     * @syscap SystemCapability.Multimedia.Image.Core
229     * @crossplatform
230     * @form
231     * @atomicservice
232     * @since 12
233     */
234    BGRA_8888 = 4,
235
236    /**
237     * Indicates that each pixel is stored on 24 bits. Each pixel contains 3 components:R(8bits), G(8bits), B(8bits)
238     * and are stored from the higher-order to the lower-order bits.
239     *
240     * @syscap SystemCapability.Multimedia.Image.Core
241     * @since 9
242     */
243    /**
244     * Indicates that each pixel is stored on 24 bits. Each pixel contains 3 components:R(8bits), G(8bits), B(8bits)
245     * and are stored from the higher-order to the lower-order bits.
246     *
247     * @syscap SystemCapability.Multimedia.Image.Core
248     * @crossplatform
249     * @since 10
250     */
251    /**
252     * Indicates that each pixel is stored on 24 bits. Each pixel contains 3 components:R(8bits), G(8bits), B(8bits)
253     * and are stored from the higher-order to the lower-order bits.
254     *
255     * @syscap SystemCapability.Multimedia.Image.Core
256     * @crossplatform
257     * @atomicservice
258     * @since 11
259     */
260    /**
261     * Indicates that each pixel is stored on 24 bits. Each pixel contains 3 components:R(8bits), G(8bits), B(8bits)
262     * and are stored from the higher-order to the lower-order bits.
263     *
264     * @syscap SystemCapability.Multimedia.Image.Core
265     * @crossplatform
266     * @form
267     * @atomicservice
268     * @since 12
269     */
270    RGB_888 = 5,
271
272    /**
273     * Indicates that each pixel is stored on 8 bits. Each pixel contains 1 component:ALPHA(8bits)
274     * and is stored from the higher-order to the lower-order bits.
275     *
276     * @syscap SystemCapability.Multimedia.Image.Core
277     * @since 9
278     */
279    /**
280     * Indicates that each pixel is stored on 8 bits. Each pixel contains 1 component:ALPHA(8bits)
281     * and is stored from the higher-order to the lower-order bits.
282     *
283     * @syscap SystemCapability.Multimedia.Image.Core
284     * @crossplatform
285     * @since 10
286     */
287    /**
288     * Indicates that each pixel is stored on 8 bits. Each pixel contains 1 component:ALPHA(8bits)
289     * and is stored from the higher-order to the lower-order bits.
290     *
291     * @syscap SystemCapability.Multimedia.Image.Core
292     * @crossplatform
293     * @atomicservice
294     * @since 11
295     */
296    /**
297     * Indicates that each pixel is stored on 8 bits. Each pixel contains 1 component:ALPHA(8bits)
298     * and is stored from the higher-order to the lower-order bits.
299     *
300     * @syscap SystemCapability.Multimedia.Image.Core
301     * @crossplatform
302     * @form
303     * @atomicservice
304     * @since 12
305     */
306    ALPHA_8 = 6,
307
308    /**
309     * Indicates that each pixel is stored on 32 bits. Each pixel contains 4 components:B(8bits), G(8bits), R(8bits), A(8bits)
310     * and are stored from the higher-order to the lower-order bits in F16.
311     *
312     * @syscap SystemCapability.Multimedia.Image.Core
313     * @since 9
314     */
315    /**
316     * Indicates that each pixel is stored on 32 bits. Each pixel contains 4 components:B(8bits), G(8bits), R(8bits), A(8bits)
317     * and are stored from the higher-order to the lower-order bits in F16.
318     *
319     * @syscap SystemCapability.Multimedia.Image.Core
320     * @crossplatform
321     * @since 10
322     */
323    /**
324     * Indicates that each pixel is stored on 32 bits. Each pixel contains 4 components:B(8bits), G(8bits), R(8bits), A(8bits)
325     * and are stored from the higher-order to the lower-order bits in F16.
326     *
327     * @syscap SystemCapability.Multimedia.Image.Core
328     * @crossplatform
329     * @atomicservice
330     * @since 11
331     */
332    /**
333     * Indicates that each pixel is stored on 32 bits. Each pixel contains 4 components:B(8bits), G(8bits), R(8bits), A(8bits)
334     * and are stored from the higher-order to the lower-order bits in F16.
335     *
336     * @syscap SystemCapability.Multimedia.Image.Core
337     * @crossplatform
338     * @form
339     * @atomicservice
340     * @since 12
341     */
342    RGBA_F16 = 7,
343
344    /**
345     * Indicates that the storage order is to store Y first and then V U alternately each occupies 8 bits
346     * and are stored from the higher-order to the lower-order bits.
347     *
348     * @syscap SystemCapability.Multimedia.Image.Core
349     * @since 9
350     */
351    /**
352     * Indicates that the storage order is to store Y first and then V U alternately each occupies 8 bits
353     * and are stored from the higher-order to the lower-order bits.
354     *
355     * @syscap SystemCapability.Multimedia.Image.Core
356     * @crossplatform
357     * @since 10
358     */
359    /**
360     * Indicates that the storage order is to store Y first and then V U alternately each occupies 8 bits
361     * and are stored from the higher-order to the lower-order bits.
362     *
363     * @syscap SystemCapability.Multimedia.Image.Core
364     * @crossplatform
365     * @atomicservice
366     * @since 11
367     */
368    /**
369     * Indicates that the storage order is to store Y first and then V U alternately each occupies 8 bits
370     * and are stored from the higher-order to the lower-order bits.
371     *
372     * @syscap SystemCapability.Multimedia.Image.Core
373     * @crossplatform
374     * @form
375     * @atomicservice
376     * @since 12
377     */
378    NV21 = 8,
379
380    /**
381     * Indicates that the storage order is to store Y first and then U V alternately each occupies 8 bits
382     * and are stored from the higher-order to the lower-order bits.
383     *
384     * @syscap SystemCapability.Multimedia.Image.Core
385     * @since 9
386     */
387    /**
388     * Indicates that the storage order is to store Y first and then U V alternately each occupies 8 bits
389     * and are stored from the higher-order to the lower-order bits.
390     *
391     * @syscap SystemCapability.Multimedia.Image.Core
392     * @crossplatform
393     * @since 10
394     */
395    /**
396     * Indicates that the storage order is to store Y first and then U V alternately each occupies 8 bits
397     * and are stored from the higher-order to the lower-order bits.
398     *
399     * @syscap SystemCapability.Multimedia.Image.Core
400     * @crossplatform
401     * @atomicservice
402     * @since 11
403     */
404    /**
405     * Indicates that the storage order is to store Y first and then U V alternately each occupies 8 bits
406     * and are stored from the higher-order to the lower-order bits.
407     *
408     * @syscap SystemCapability.Multimedia.Image.Core
409     * @crossplatform
410     * @form
411     * @atomicservice
412     * @since 12
413     */
414    NV12 = 9,
415
416    /**
417     * Indicates that each pixel is stored on 32 bits. Each pixel contains 4 components:
418     * R(10bits), G(10bits), B(10bits), A(2bits) and are stored from the higher-order to the lower-order bits.
419     *
420     * @syscap SystemCapability.Multimedia.Image.Core
421     * @since 12
422     */
423    RGBA_1010102 = 10,
424
425    /**
426     * Indicates that the storage order is to store Y first and then U V alternately each occupies 10 bits
427     * and are stored from the higher-order to the lower-order bits.
428     *
429     * @syscap SystemCapability.Multimedia.Image.Core
430     * @since 12
431     */
432    YCBCR_P010 = 11,
433
434    /**
435     * Indicates that the storage order is to store Y first and then V U alternately each occupies 10 bits
436     * and are stored from the higher-order to the lower-order bits.
437     *
438     * @syscap SystemCapability.Multimedia.Image.Core
439     * @since 12
440     */
441    YCRCB_P010 = 12,
442
443    /**
444     * The storage format is ASTC 4x4 format, and the memory usage is only 1/4 of RGBA_8888.
445     * This format is only used for direct display scenes and does not support pixel access or post-
446     * processing editing.
447     *
448     * @syscap SystemCapability.Multimedia.Image.Core
449     * @since 18
450     */
451    ASTC_4x4 = 102
452  }
453
454  /**
455   * Enumerates image resolution quality.
456   *
457   * @enum { number }
458   * @syscap SystemCapability.Multimedia.Image.Core
459   * @systemapi
460   * @since 12
461   */
462  enum ResolutionQuality {
463    /**
464     * Low quality images, short decoding time.
465     *
466     * @syscap SystemCapability.Multimedia.Image.Core
467     * @systemapi
468     * @since 12
469     */
470    LOW = 1,
471
472    /**
473     * Medium quality images, moderate decoding time.
474     *
475     * @syscap SystemCapability.Multimedia.Image.Core
476     * @systemapi
477     * @since 12
478     */
479    MEDIUM = 2,
480
481    /**
482     * High quality images, longer decoding time.
483     *
484     * @syscap SystemCapability.Multimedia.Image.Core
485     * @systemapi
486     * @since 12
487     */
488    HIGH = 3
489  }
490
491  /**
492   * Describes the size of an image.
493   *
494   * @typedef Size
495   * @syscap SystemCapability.Multimedia.Image.Core
496   * @since 6
497   */
498  /**
499   * Describes the size of an image.
500   *
501   * @typedef Size
502   * @syscap SystemCapability.Multimedia.Image.Core
503   * @crossplatform
504   * @since 10
505   */
506  /**
507   * Describes the size of an image.
508   *
509   * @typedef Size
510   * @syscap SystemCapability.Multimedia.Image.Core
511   * @crossplatform
512   * @atomicservice
513   * @since 11
514   */
515  /**
516   * Describes the size of an image.
517   *
518   * @typedef Size
519   * @syscap SystemCapability.Multimedia.Image.Core
520   * @crossplatform
521   * @form
522   * @atomicservice
523   * @since 12
524   */
525  interface Size {
526    /**
527     * Height
528     *
529     * @type { number }
530     * @syscap SystemCapability.Multimedia.Image.Core
531     * @since 6
532     */
533    /**
534     * Height
535     *
536     * @type { number }
537     * @syscap SystemCapability.Multimedia.Image.Core
538     * @crossplatform
539     * @since 10
540     */
541    /**
542     * Height
543     *
544     * @type { number }
545     * @syscap SystemCapability.Multimedia.Image.Core
546     * @crossplatform
547     * @atomicservice
548     * @since 11
549     */
550    /**
551     * Height
552     *
553     * @type { number }
554     * @syscap SystemCapability.Multimedia.Image.Core
555     * @crossplatform
556     * @form
557     * @atomicservice
558     * @since 12
559     */
560    height: number;
561
562    /**
563     * Width
564     *
565     * @type { number }
566     * @syscap SystemCapability.Multimedia.Image.Core
567     * @since 6
568     */
569    /**
570     * Width
571     *
572     * @type { number }
573     * @syscap SystemCapability.Multimedia.Image.Core
574     * @crossplatform
575     * @since 10
576     */
577    /**
578     * Width
579     *
580     * @type { number }
581     * @syscap SystemCapability.Multimedia.Image.Core
582     * @crossplatform
583     * @atomicservice
584     * @since 11
585     */
586    /**
587     * Width
588     *
589     * @type { number }
590     * @syscap SystemCapability.Multimedia.Image.Core
591     * @crossplatform
592     * @form
593     * @atomicservice
594     * @since 12
595     */
596    width: number;
597  }
598
599  /**
600   * Enumerates exchangeable image file format (Exif) information types of an image.
601   *
602   * @enum { string }
603   * @syscap SystemCapability.Multimedia.Image.Core
604   * @since 7
605   */
606  /**
607   * Enumerates exchangeable image file format (Exif) information types of an image.
608   *
609   * @enum { string }
610   * @syscap SystemCapability.Multimedia.Image.Core
611   * @crossplatform
612   * @since 10
613   */
614  enum PropertyKey {
615    /**
616     * Number of bits in each pixel of an image.
617     *
618     * @syscap SystemCapability.Multimedia.Image.Core
619     * @since 7
620     */
621    /**
622     * Number of bits in each pixel of an image.
623     *
624     * @syscap SystemCapability.Multimedia.Image.Core
625     * @crossplatform
626     * @since 10
627     */
628    BITS_PER_SAMPLE = 'BitsPerSample',
629
630    /**
631     * Image rotation mode.
632     *
633     * @syscap SystemCapability.Multimedia.Image.Core
634     * @since 7
635     */
636    /**
637     * Image rotation mode.
638     *
639     * @syscap SystemCapability.Multimedia.Image.Core
640     * @crossplatform
641     * @since 10
642     */
643    ORIENTATION = 'Orientation',
644
645    /**
646     * Image length.
647     *
648     * @syscap SystemCapability.Multimedia.Image.Core
649     * @since 7
650     */
651    /**
652     * Image length.
653     *
654     * @syscap SystemCapability.Multimedia.Image.Core
655     * @crossplatform
656     * @since 10
657     */
658    IMAGE_LENGTH = 'ImageLength',
659
660    /**
661     * Image width.
662     *
663     * @syscap SystemCapability.Multimedia.Image.Core
664     * @since 7
665     */
666    /**
667     * Image width.
668     *
669     * @syscap SystemCapability.Multimedia.Image.Core
670     * @crossplatform
671     * @since 10
672     */
673    IMAGE_WIDTH = 'ImageWidth',
674
675    /**
676     * GPS latitude.
677     *
678     * @syscap SystemCapability.Multimedia.Image.Core
679     * @since 7
680     */
681    /**
682     * GPS latitude.
683     *
684     * @syscap SystemCapability.Multimedia.Image.Core
685     * @crossplatform
686     * @since 10
687     */
688    GPS_LATITUDE = 'GPSLatitude',
689
690    /**
691     * GPS longitude.
692     *
693     * @syscap SystemCapability.Multimedia.Image.Core
694     * @since 7
695     */
696    /**
697     * GPS longitude.
698     *
699     * @syscap SystemCapability.Multimedia.Image.Core
700     * @crossplatform
701     * @since 10
702     */
703    GPS_LONGITUDE = 'GPSLongitude',
704
705    /**
706     * GPS latitude reference. For example, N indicates north latitude and S indicates south latitude.
707     *
708     * @syscap SystemCapability.Multimedia.Image.Core
709     * @since 7
710     */
711    /**
712     * GPS latitude reference. For example, N indicates north latitude and S indicates south latitude.
713     *
714     * @syscap SystemCapability.Multimedia.Image.Core
715     * @crossplatform
716     * @since 10
717     */
718    GPS_LATITUDE_REF = 'GPSLatitudeRef',
719
720    /**
721     * GPS longitude reference. For example, E indicates east longitude and W indicates west longitude.
722     *
723     * @syscap SystemCapability.Multimedia.Image.Core
724     * @since 7
725     */
726    /**
727     * GPS longitude reference. For example, E indicates east longitude and W indicates west longitude.
728     *
729     * @syscap SystemCapability.Multimedia.Image.Core
730     * @crossplatform
731     * @since 10
732     */
733    GPS_LONGITUDE_REF = 'GPSLongitudeRef',
734
735    /**
736     * Shooting time
737     *
738     * @syscap SystemCapability.Multimedia.Image.Core
739     * @since 9
740     */
741    /**
742     * Shooting time
743     *
744     * @syscap SystemCapability.Multimedia.Image.Core
745     * @crossplatform
746     * @since 10
747     */
748    DATE_TIME_ORIGINAL = 'DateTimeOriginal',
749
750    /**
751     * Exposure time
752     *
753     * @syscap SystemCapability.Multimedia.Image.Core
754     * @since 9
755     */
756    /**
757     * Exposure time
758     *
759     * @syscap SystemCapability.Multimedia.Image.Core
760     * @crossplatform
761     * @since 10
762     */
763    EXPOSURE_TIME = 'ExposureTime',
764
765    /**
766     * Scene type
767     *
768     * @syscap SystemCapability.Multimedia.Image.Core
769     * @since 9
770     */
771    /**
772     * Scene type
773     *
774     * @syscap SystemCapability.Multimedia.Image.Core
775     * @crossplatform
776     * @since 10
777     */
778    SCENE_TYPE = 'SceneType',
779
780    /**
781     * ISO speedratings
782     *
783     * @syscap SystemCapability.Multimedia.Image.Core
784     * @since 9
785     */
786    /**
787     * ISO speedratings
788     *
789     * @syscap SystemCapability.Multimedia.Image.Core
790     * @crossplatform
791     * @since 10
792     */
793    ISO_SPEED_RATINGS = 'ISOSpeedRatings',
794
795    /**
796     * Aperture value
797     *
798     * @syscap SystemCapability.Multimedia.Image.Core
799     * @since 9
800     */
801    /**
802     * Aperture value
803     *
804     * @syscap SystemCapability.Multimedia.Image.Core
805     * @crossplatform
806     * @since 10
807     */
808    F_NUMBER = 'FNumber',
809
810    /**
811     * Date time
812     *
813     * @syscap SystemCapability.Multimedia.Image.Core
814     * @since 10
815     */
816    DATE_TIME = 'DateTime',
817
818    /**
819     * GPS time stamp
820     *
821     * @syscap SystemCapability.Multimedia.Image.Core
822     * @since 10
823     */
824    GPS_TIME_STAMP = 'GPSTimeStamp',
825
826    /**
827     * GPS date stamp
828     *
829     * @syscap SystemCapability.Multimedia.Image.Core
830     * @since 10
831     */
832    GPS_DATE_STAMP = 'GPSDateStamp',
833
834    /**
835     * Image description
836     *
837     * @syscap SystemCapability.Multimedia.Image.Core
838     * @since 10
839     */
840    IMAGE_DESCRIPTION = 'ImageDescription',
841
842    /**
843     * Make
844     *
845     * @syscap SystemCapability.Multimedia.Image.Core
846     * @since 10
847     */
848    MAKE = 'Make',
849
850    /**
851     * Model
852     *
853     * @syscap SystemCapability.Multimedia.Image.Core
854     * @since 10
855     */
856    MODEL = 'Model',
857
858    /**
859     * Photo mode
860     *
861     * @syscap SystemCapability.Multimedia.Image.Core
862     * @since 10
863     */
864    PHOTO_MODE = 'PhotoMode',
865
866    /**
867     * Sensitivity type
868     *
869     * @syscap SystemCapability.Multimedia.Image.Core
870     * @since 10
871     */
872    SENSITIVITY_TYPE = 'SensitivityType',
873
874    /**
875     * Standard output sensitivity
876     *
877     * @syscap SystemCapability.Multimedia.Image.Core
878     * @since 10
879     */
880    STANDARD_OUTPUT_SENSITIVITY = 'StandardOutputSensitivity',
881
882    /**
883     * Recommended exposure index
884     *
885     * @syscap SystemCapability.Multimedia.Image.Core
886     * @since 10
887     */
888    RECOMMENDED_EXPOSURE_INDEX = 'RecommendedExposureIndex',
889
890    /**
891     * ISO speed
892     *
893     * @syscap SystemCapability.Multimedia.Image.Core
894     * @since 10
895     */
896    ISO_SPEED = 'ISOSpeedRatings',
897
898    /**
899     * Aperture value
900     *
901     * @syscap SystemCapability.Multimedia.Image.Core
902     * @since 10
903     */
904    APERTURE_VALUE = 'ApertureValue',
905
906    /**
907     * Exposure bias value
908     *
909     * @syscap SystemCapability.Multimedia.Image.Core
910     * @since 10
911     */
912    EXPOSURE_BIAS_VALUE = 'ExposureBiasValue',
913
914    /**
915     * Metering mode
916     *
917     * @syscap SystemCapability.Multimedia.Image.Core
918     * @since 10
919     */
920    METERING_MODE = 'MeteringMode',
921
922    /**
923     * Light source
924     *
925     * @syscap SystemCapability.Multimedia.Image.Core
926     * @since 10
927     */
928    LIGHT_SOURCE = 'LightSource',
929
930    /**
931     * Flash
932     *
933     * @syscap SystemCapability.Multimedia.Image.Core
934     * @since 10
935     */
936    FLASH = 'Flash',
937
938    /**
939     * Focal length
940     *
941     * @syscap SystemCapability.Multimedia.Image.Core
942     * @since 10
943     */
944    FOCAL_LENGTH = 'FocalLength',
945
946    /**
947     * User comment
948     *
949     * @syscap SystemCapability.Multimedia.Image.Core
950     * @since 10
951     */
952    USER_COMMENT = 'UserComment',
953
954    /**
955     * Pixel x dimension
956     *
957     * @syscap SystemCapability.Multimedia.Image.Core
958     * @since 10
959     */
960    PIXEL_X_DIMENSION = 'PixelXDimension',
961
962    /**
963     * Pixel y dimension
964     *
965     * @syscap SystemCapability.Multimedia.Image.Core
966     * @since 10
967     */
968    PIXEL_Y_DIMENSION = 'PixelYDimension',
969
970    /**
971     * White balance
972     *
973     * @syscap SystemCapability.Multimedia.Image.Core
974     * @since 10
975     */
976    WHITE_BALANCE = 'WhiteBalance',
977
978    /**
979     * Focal length in 35mm film
980     *
981     * @syscap SystemCapability.Multimedia.Image.Core
982     * @since 10
983     */
984    FOCAL_LENGTH_IN_35_MM_FILM = 'FocalLengthIn35mmFilm',
985
986    /**
987     * Capture mode
988     *
989     * @syscap SystemCapability.Multimedia.Image.Core
990     * @since 10
991     */
992    CAPTURE_MODE = 'HwMnoteCaptureMode',
993
994    /**
995     * Physical aperture
996     *
997     * @syscap SystemCapability.Multimedia.Image.Core
998     * @since 10
999     */
1000    PHYSICAL_APERTURE = 'HwMnotePhysicalAperture',
1001
1002    /**
1003     * Roll Angle
1004     *
1005     * @syscap SystemCapability.Multimedia.Image.Core
1006     * @crossplatform
1007     * @since 11
1008     */
1009    ROLL_ANGLE = 'HwMnoteRollAngle',
1010
1011    /**
1012     * Pitch Angle
1013     *
1014     * @syscap SystemCapability.Multimedia.Image.Core
1015     * @crossplatform
1016     * @since 11
1017     */
1018    PITCH_ANGLE = 'HwMnotePitchAngle',
1019
1020    /**
1021     * Capture Scene: Food
1022     *
1023     * @syscap SystemCapability.Multimedia.Image.Core
1024     * @crossplatform
1025     * @since 11
1026     */
1027    SCENE_FOOD_CONF = 'HwMnoteSceneFoodConf',
1028
1029    /**
1030     * Capture Scene: Stage
1031     *
1032     * @syscap SystemCapability.Multimedia.Image.Core
1033     * @crossplatform
1034     * @since 11
1035     */
1036    SCENE_STAGE_CONF = 'HwMnoteSceneStageConf',
1037
1038    /**
1039     * Capture Scene: Blue Sky
1040     *
1041     * @syscap SystemCapability.Multimedia.Image.Core
1042     * @crossplatform
1043     * @since 11
1044     */
1045    SCENE_BLUE_SKY_CONF = 'HwMnoteSceneBlueSkyConf',
1046
1047    /**
1048     * Capture Scene: Green Plant
1049     *
1050     * @syscap SystemCapability.Multimedia.Image.Core
1051     * @crossplatform
1052     * @since 11
1053     */
1054    SCENE_GREEN_PLANT_CONF = 'HwMnoteSceneGreenPlantConf',
1055
1056    /**
1057     * Capture Scene: Beach
1058     *
1059     * @syscap SystemCapability.Multimedia.Image.Core
1060     * @crossplatform
1061     * @since 11
1062     */
1063    SCENE_BEACH_CONF = 'HwMnoteSceneBeachConf',
1064
1065    /**
1066     * Capture Scene: Snow
1067     *
1068     * @syscap SystemCapability.Multimedia.Image.Core
1069     * @crossplatform
1070     * @since 11
1071     */
1072    SCENE_SNOW_CONF = 'HwMnoteSceneSnowConf',
1073
1074    /**
1075     * Capture Scene: Sunset
1076     *
1077     * @syscap SystemCapability.Multimedia.Image.Core
1078     * @crossplatform
1079     * @since 11
1080     */
1081    SCENE_SUNSET_CONF = 'HwMnoteSceneSunsetConf',
1082
1083    /**
1084     * Capture Scene: Flowers
1085     *
1086     * @syscap SystemCapability.Multimedia.Image.Core
1087     * @crossplatform
1088     * @since 11
1089     */
1090    SCENE_FLOWERS_CONF = 'HwMnoteSceneFlowersConf',
1091
1092    /**
1093     * Capture Scene: Night
1094     *
1095     * @syscap SystemCapability.Multimedia.Image.Core
1096     * @crossplatform
1097     * @since 11
1098     */
1099    SCENE_NIGHT_CONF = 'HwMnoteSceneNightConf',
1100
1101    /**
1102     * Capture Scene: Text
1103     *
1104     * @syscap SystemCapability.Multimedia.Image.Core
1105     * @crossplatform
1106     * @since 11
1107     */
1108    SCENE_TEXT_CONF = 'HwMnoteSceneTextConf',
1109
1110    /**
1111     * Face Count
1112     *
1113     * @syscap SystemCapability.Multimedia.Image.Core
1114     * @crossplatform
1115     * @since 11
1116     */
1117    FACE_COUNT = 'HwMnoteFaceCount',
1118
1119    /**
1120     * Focus Mode
1121     *
1122     * @syscap SystemCapability.Multimedia.Image.Core
1123     * @crossplatform
1124     * @since 11
1125     */
1126    FOCUS_MODE = 'HwMnoteFocusMode',
1127
1128    /**
1129     * The scheme used for image compression.
1130     *
1131     * @syscap SystemCapability.Multimedia.Image.Core
1132     * @crossplatform
1133     * @since 12
1134     */
1135    COMPRESSION = 'Compression',
1136
1137    /**
1138     * Pixel composition, such as RGB or YCbCr.
1139     *
1140     * @syscap SystemCapability.Multimedia.Image.Core
1141     * @crossplatform
1142     * @since 12
1143     */
1144    PHOTOMETRIC_INTERPRETATION = 'PhotometricInterpretation',
1145
1146    /**
1147     * For each strip, the byte offset of that strip.
1148     *
1149     * @syscap SystemCapability.Multimedia.Image.Core
1150     * @crossplatform
1151     * @since 12
1152     */
1153    STRIP_OFFSETS = 'StripOffsets',
1154
1155    /**
1156     * The number of components per pixel.
1157     *
1158     * @syscap SystemCapability.Multimedia.Image.Core
1159     * @crossplatform
1160     * @since 12
1161     */
1162    SAMPLES_PER_PIXEL = 'SamplesPerPixel',
1163
1164    /**
1165     * The number of rows per strip of image data.
1166     *
1167     * @syscap SystemCapability.Multimedia.Image.Core
1168     * @crossplatform
1169     * @since 12
1170     */
1171    ROWS_PER_STRIP = 'RowsPerStrip',
1172
1173    /**
1174     * The total number of bytes in each strip of image data.
1175     *
1176     * @syscap SystemCapability.Multimedia.Image.Core
1177     * @crossplatform
1178     * @since 12
1179     */
1180    STRIP_BYTE_COUNTS = 'StripByteCounts',
1181
1182    /**
1183     * The image resolution in the width direction.
1184     *
1185     * @syscap SystemCapability.Multimedia.Image.Core
1186     * @crossplatform
1187     * @since 12
1188     */
1189    X_RESOLUTION = 'XResolution',
1190
1191    /**
1192     * The image resolution in the height direction.
1193     *
1194     * @syscap SystemCapability.Multimedia.Image.Core
1195     * @crossplatform
1196     * @since 12
1197     */
1198    Y_RESOLUTION = 'YResolution',
1199
1200    /**
1201     * Indicates whether pixel components are recorded in a chunky or planar format.
1202     *
1203     * @syscap SystemCapability.Multimedia.Image.Core
1204     * @crossplatform
1205     * @since 12
1206     */
1207    PLANAR_CONFIGURATION = 'PlanarConfiguration',
1208
1209    /**
1210     * The unit used to measure XResolution and YResolution.
1211     *
1212     * @syscap SystemCapability.Multimedia.Image.Core
1213     * @crossplatform
1214     * @since 12
1215     */
1216    RESOLUTION_UNIT = 'ResolutionUnit',
1217
1218    /**
1219     * The transfer function for the image, typically used for color correction.
1220     *
1221     * @syscap SystemCapability.Multimedia.Image.Core
1222     * @crossplatform
1223     * @since 12
1224     */
1225    TRANSFER_FUNCTION = 'TransferFunction',
1226
1227    /**
1228     * The name and version of the software used to generate the image.
1229     *
1230     * @syscap SystemCapability.Multimedia.Image.Core
1231     * @crossplatform
1232     * @since 12
1233     */
1234    SOFTWARE = 'Software',
1235
1236    /**
1237     * The name of the person who created the image.
1238     *
1239     * @syscap SystemCapability.Multimedia.Image.Core
1240     * @crossplatform
1241     * @since 12
1242     */
1243    ARTIST = 'Artist',
1244
1245    /**
1246     * The chromaticity of the white point of the image.
1247     *
1248     * @syscap SystemCapability.Multimedia.Image.Core
1249     * @crossplatform
1250     * @since 12
1251     */
1252    WHITE_POINT = 'WhitePoint',
1253
1254    /**
1255     * The chromaticity of the primary colors of the image.
1256     *
1257     * @syscap SystemCapability.Multimedia.Image.Core
1258     * @crossplatform
1259     * @since 12
1260     */
1261    PRIMARY_CHROMATICITIES = 'PrimaryChromaticities',
1262
1263    /**
1264     * The matrix coefficients for transformation from RGB to YCbCr image data.
1265     *
1266     * @syscap SystemCapability.Multimedia.Image.Core
1267     * @crossplatform
1268     * @since 12
1269     */
1270    YCBCR_COEFFICIENTS = 'YCbCrCoefficients',
1271
1272    /**
1273     * The sampling ratio of chrominance components to the luminance component.
1274     *
1275     * @syscap SystemCapability.Multimedia.Image.Core
1276     * @crossplatform
1277     * @since 12
1278     */
1279    YCBCR_SUB_SAMPLING = 'YCbCrSubSampling',
1280
1281    /**
1282     * The position of chrominance components in relation to the luminance component.
1283     *
1284     * @syscap SystemCapability.Multimedia.Image.Core
1285     * @crossplatform
1286     * @since 12
1287     */
1288    YCBCR_POSITIONING = 'YCbCrPositioning',
1289
1290    /**
1291     * The reference black point value and reference white point value.
1292     *
1293     * @syscap SystemCapability.Multimedia.Image.Core
1294     * @crossplatform
1295     * @since 12
1296     */
1297    REFERENCE_BLACK_WHITE = 'ReferenceBlackWhite',
1298
1299    /**
1300     * Copyright information for the image.
1301     *
1302     * @syscap SystemCapability.Multimedia.Image.Core
1303     * @crossplatform
1304     * @since 12
1305     */
1306    COPYRIGHT = 'Copyright',
1307
1308    /**
1309     * The offset to the start byte (SOI) of JPEG compressed thumbnail data.
1310     *
1311     * @syscap SystemCapability.Multimedia.Image.Core
1312     * @crossplatform
1313     * @since 12
1314     */
1315    JPEG_INTERCHANGE_FORMAT = 'JPEGInterchangeFormat',
1316
1317    /**
1318     * The number of bytes of JPEG compressed thumbnail data.
1319     *
1320     * @syscap SystemCapability.Multimedia.Image.Core
1321     * @crossplatform
1322     * @since 12
1323     */
1324    JPEG_INTERCHANGE_FORMAT_LENGTH = 'JPEGInterchangeFormatLength',
1325
1326    /**
1327     * The class of the program used by the camera to set exposure when the picture is taken.
1328     *
1329     * @syscap SystemCapability.Multimedia.Image.Core
1330     * @crossplatform
1331     * @since 12
1332     */
1333    EXPOSURE_PROGRAM = 'ExposureProgram',
1334
1335    /**
1336     * Indicates the spectral sensitivity of each channel of the camera used.
1337     *
1338     * @syscap SystemCapability.Multimedia.Image.Core
1339     * @crossplatform
1340     * @since 12
1341     */
1342    SPECTRAL_SENSITIVITY = 'SpectralSensitivity',
1343
1344    /**
1345     * Indicates the Opto-Electric Conversion Function (OECF) specified in ISO 14524.
1346     *
1347     * @syscap SystemCapability.Multimedia.Image.Core
1348     * @crossplatform
1349     * @since 12
1350     */
1351    OECF = 'OECF',
1352
1353    /**
1354     * The version of the Exif standard supported.
1355     *
1356     * @syscap SystemCapability.Multimedia.Image.Core
1357     * @crossplatform
1358     * @since 12
1359     */
1360    EXIF_VERSION = 'ExifVersion',
1361
1362    /**
1363     * The date and time when the image was stored as digital data.
1364     *
1365     * @syscap SystemCapability.Multimedia.Image.Core
1366     * @crossplatform
1367     * @since 12
1368     */
1369    DATE_TIME_DIGITIZED = 'DateTimeDigitized',
1370
1371    /**
1372     * Information specific to compressed data.
1373     *
1374     * @syscap SystemCapability.Multimedia.Image.Core
1375     * @crossplatform
1376     * @since 12
1377     */
1378    COMPONENTS_CONFIGURATION = 'ComponentsConfiguration',
1379
1380    /**
1381     * The shutter speed, expressed as an APEX (Additive System of Photographic Exposure) value.
1382     *
1383     * @syscap SystemCapability.Multimedia.Image.Core
1384     * @crossplatform
1385     * @since 12
1386     */
1387    SHUTTER_SPEED = 'ShutterSpeedValue',
1388
1389    /**
1390     * The brightness value of the image, in APEX units.
1391     *
1392     * @syscap SystemCapability.Multimedia.Image.Core
1393     * @crossplatform
1394     * @since 12
1395     */
1396    BRIGHTNESS_VALUE = 'BrightnessValue',
1397
1398    /**
1399     * The smallest F number of lens.
1400     *
1401     * @syscap SystemCapability.Multimedia.Image.Core
1402     * @crossplatform
1403     * @since 12
1404     */
1405    MAX_APERTURE_VALUE = 'MaxApertureValue',
1406
1407    /**
1408     * The distance to the subject, measured in meters.
1409     *
1410     * @syscap SystemCapability.Multimedia.Image.Core
1411     * @crossplatform
1412     * @since 12
1413     */
1414    SUBJECT_DISTANCE = 'SubjectDistance',
1415
1416    /**
1417     * This tag indicate the location and area of the main subject in the overall scene.
1418     *
1419     * @syscap SystemCapability.Multimedia.Image.Core
1420     * @crossplatform
1421     * @since 12
1422     */
1423    SUBJECT_AREA = 'SubjectArea',
1424
1425    /**
1426     * A tag for manufacturers of Exif/DCF writers to record any desired information.
1427     *
1428     * @syscap SystemCapability.Multimedia.Image.Core
1429     * @crossplatform
1430     * @since 12
1431     */
1432    MAKER_NOTE = 'MakerNote',
1433
1434    /**
1435     * A tag for record fractions of seconds for the DateTime tag.
1436     *
1437     * @syscap SystemCapability.Multimedia.Image.Core
1438     * @crossplatform
1439     * @since 12
1440     */
1441    SUBSEC_TIME = 'SubsecTime',
1442
1443    /**
1444     * A tag used to record fractions of seconds for the DateTimeOriginal tag.
1445     *
1446     * @syscap SystemCapability.Multimedia.Image.Core
1447     * @crossplatform
1448     * @since 12
1449     */
1450    SUBSEC_TIME_ORIGINAL = 'SubsecTimeOriginal',
1451
1452    /**
1453     * A tag used to record fractions of seconds for the DateTimeDigitized tag.
1454     *
1455     * @syscap SystemCapability.Multimedia.Image.Core
1456     * @crossplatform
1457     * @since 12
1458     */
1459    SUBSEC_TIME_DIGITIZED = 'SubsecTimeDigitized',
1460
1461    /**
1462     * This tag denotes the Flashpix format version supported by an FPXR file, enhancing device compatibility.
1463     *
1464     * @syscap SystemCapability.Multimedia.Image.Core
1465     * @crossplatform
1466     * @since 12
1467     */
1468    FLASHPIX_VERSION = 'FlashpixVersion',
1469
1470    /**
1471     * The color space information tag, often recorded as the color space specifier.
1472     *
1473     * @syscap SystemCapability.Multimedia.Image.Core
1474     * @crossplatform
1475     * @since 12
1476     */
1477    COLOR_SPACE = 'ColorSpace',
1478
1479    /**
1480     * The name of an audio file related to the image data.
1481     *
1482     * @syscap SystemCapability.Multimedia.Image.Core
1483     * @crossplatform
1484     * @since 12
1485     */
1486    RELATED_SOUND_FILE = 'RelatedSoundFile',
1487
1488    /**
1489     * Strobe energy at image capture, in BCPS.
1490     *
1491     * @syscap SystemCapability.Multimedia.Image.Core
1492     * @crossplatform
1493     * @since 12
1494     */
1495    FLASH_ENERGY = 'FlashEnergy',
1496
1497    /**
1498     * Camera or input device spatial frequency table.
1499     *
1500     * @syscap SystemCapability.Multimedia.Image.Core
1501     * @crossplatform
1502     * @since 12
1503     */
1504    SPATIAL_FREQUENCY_RESPONSE = 'SpatialFrequencyResponse',
1505
1506    /**
1507     * Pixels per FocalPlaneResolutionUnit in the image width.
1508     *
1509     * @syscap SystemCapability.Multimedia.Image.Core
1510     * @crossplatform
1511     * @since 12
1512     */
1513    FOCAL_PLANE_X_RESOLUTION = 'FocalPlaneXResolution',
1514
1515    /**
1516     * Pixels per FocalPlaneResolutionUnit in the image height.
1517     *
1518     * @syscap SystemCapability.Multimedia.Image.Core
1519     * @crossplatform
1520     * @since 12
1521     */
1522    FOCAL_PLANE_Y_RESOLUTION = 'FocalPlaneYResolution',
1523
1524    /**
1525     * Unit for measuring FocalPlaneXResolution and FocalPlaneYResolution.
1526     *
1527     * @syscap SystemCapability.Multimedia.Image.Core
1528     * @crossplatform
1529     * @since 12
1530     */
1531    FOCAL_PLANE_RESOLUTION_UNIT = 'FocalPlaneResolutionUnit',
1532
1533    /**
1534     * Location of the main subject, relative to the left edge.
1535     *
1536     * @syscap SystemCapability.Multimedia.Image.Core
1537     * @crossplatform
1538     * @since 12
1539     */
1540    SUBJECT_LOCATION = 'SubjectLocation',
1541
1542    /**
1543     * Selected exposure index at capture.
1544     *
1545     * @syscap SystemCapability.Multimedia.Image.Core
1546     * @crossplatform
1547     * @since 12
1548     */
1549    EXPOSURE_INDEX = 'ExposureIndex',
1550
1551    /**
1552     * Image sensor type on the camera.
1553     *
1554     * @syscap SystemCapability.Multimedia.Image.Core
1555     * @crossplatform
1556     * @since 12
1557     */
1558    SENSING_METHOD = 'SensingMethod',
1559
1560    /**
1561     * Indicates the image source.
1562     *
1563     * @syscap SystemCapability.Multimedia.Image.Core
1564     * @crossplatform
1565     * @since 12
1566     */
1567    FILE_SOURCE = 'FileSource',
1568
1569    /**
1570     * Color filter array (CFA) geometric pattern of the image sensor.
1571     *
1572     * @syscap SystemCapability.Multimedia.Image.Core
1573     * @crossplatform
1574     * @since 12
1575     */
1576    CFA_PATTERN = 'CFAPattern',
1577
1578    /**
1579     * Indicates special processing on image data.
1580     *
1581     * @syscap SystemCapability.Multimedia.Image.Core
1582     * @crossplatform
1583     * @since 12
1584     */
1585    CUSTOM_RENDERED = 'CustomRendered',
1586
1587    /**
1588     * Exposure mode set when the image was shot.
1589     *
1590     * @syscap SystemCapability.Multimedia.Image.Core
1591     * @crossplatform
1592     * @since 12
1593     */
1594    EXPOSURE_MODE = 'ExposureMode',
1595
1596    /**
1597     * Digital zoom ratio at the time of capture.
1598     *
1599     * @syscap SystemCapability.Multimedia.Image.Core
1600     * @crossplatform
1601     * @since 12
1602     */
1603    DIGITAL_ZOOM_RATIO = 'DigitalZoomRatio',
1604
1605    /**
1606     * Type of scene captured.
1607     *
1608     * @syscap SystemCapability.Multimedia.Image.Core
1609     * @crossplatform
1610     * @since 12
1611     */
1612    SCENE_CAPTURE_TYPE = 'SceneCaptureType',
1613
1614    /**
1615     * Degree of overall image gain adjustment.
1616     *
1617     * @syscap SystemCapability.Multimedia.Image.Core
1618     * @crossplatform
1619     * @since 12
1620     */
1621    GAIN_CONTROL = 'GainControl',
1622
1623    /**
1624     * Direction of contrast processing applied by the camera.
1625     *
1626     * @syscap SystemCapability.Multimedia.Image.Core
1627     * @crossplatform
1628     * @since 12
1629     */
1630    CONTRAST = 'Contrast',
1631
1632    /**
1633     * Direction of saturation processing applied by the camera.
1634     *
1635     * @syscap SystemCapability.Multimedia.Image.Core
1636     * @crossplatform
1637     * @since 12
1638     */
1639    SATURATION = 'Saturation',
1640
1641    /**
1642     * The direction of sharpness processing applied by the camera.
1643     *
1644     * @syscap SystemCapability.Multimedia.Image.Core
1645     * @crossplatform
1646     * @since 12
1647     */
1648    SHARPNESS = 'Sharpness',
1649
1650    /**
1651     * Information on picture-taking conditions for a specific camera model.
1652     *
1653     * @syscap SystemCapability.Multimedia.Image.Core
1654     * @crossplatform
1655     * @since 12
1656     */
1657    DEVICE_SETTING_DESCRIPTION = 'DeviceSettingDescription',
1658
1659    /**
1660     * Indicates the distance range to the subject.
1661     *
1662     * @syscap SystemCapability.Multimedia.Image.Core
1663     * @crossplatform
1664     * @since 12
1665     */
1666    SUBJECT_DISTANCE_RANGE = 'SubjectDistanceRange',
1667
1668    /**
1669     * An identifier uniquely assigned to each image.
1670     *
1671     * @syscap SystemCapability.Multimedia.Image.Core
1672     * @crossplatform
1673     * @since 12
1674     */
1675    IMAGE_UNIQUE_ID = 'ImageUniqueID',
1676
1677    /**
1678     * The version of the GPSInfoIFD.
1679     *
1680     * @syscap SystemCapability.Multimedia.Image.Core
1681     * @crossplatform
1682     * @since 12
1683     */
1684    GPS_VERSION_ID = 'GPSVersionID',
1685
1686    /**
1687     * Reference altitude used for GPS altitude.
1688     *
1689     * @syscap SystemCapability.Multimedia.Image.Core
1690     * @crossplatform
1691     * @since 12
1692     */
1693    GPS_ALTITUDE_REF = 'GPSAltitudeRef',
1694
1695    /**
1696     * The altitude based on the reference in GPSAltitudeRef.
1697     *
1698     * @syscap SystemCapability.Multimedia.Image.Core
1699     * @crossplatform
1700     * @since 12
1701     */
1702    GPS_ALTITUDE = 'GPSAltitude',
1703
1704    /**
1705     * The GPS satellites used for measurements.
1706     *
1707     * @syscap SystemCapability.Multimedia.Image.Core
1708     * @crossplatform
1709     * @since 12
1710     */
1711    GPS_SATELLITES = 'GPSSatellites',
1712
1713    /**
1714     * The status of the GPS receiver when the image is recorded.
1715     *
1716     * @syscap SystemCapability.Multimedia.Image.Core
1717     * @crossplatform
1718     * @since 12
1719     */
1720    GPS_STATUS = 'GPSStatus',
1721
1722    /**
1723     * The GPS measurement mode.
1724     *
1725     * @syscap SystemCapability.Multimedia.Image.Core
1726     * @crossplatform
1727     * @since 12
1728     */
1729    GPS_MEASURE_MODE = 'GPSMeasureMode',
1730
1731    /**
1732     * The GPS DOP (data degree of precision).
1733     *
1734     * @syscap SystemCapability.Multimedia.Image.Core
1735     * @crossplatform
1736     * @since 12
1737     */
1738    GPS_DOP = 'GPSDOP',
1739
1740    /**
1741     * The unit used to express the GPS receiver speed of movement.
1742     *
1743     * @syscap SystemCapability.Multimedia.Image.Core
1744     * @crossplatform
1745     * @since 12
1746     */
1747    GPS_SPEED_REF = 'GPSSpeedRef',
1748
1749    /**
1750     * The speed of GPS receiver movement.
1751     *
1752     * @syscap SystemCapability.Multimedia.Image.Core
1753     * @crossplatform
1754     * @since 12
1755     */
1756    GPS_SPEED = 'GPSSpeed',
1757
1758    /**
1759     * The reference for giving the direction of GPS receiver movement.
1760     *
1761     * @syscap SystemCapability.Multimedia.Image.Core
1762     * @crossplatform
1763     * @since 12
1764     */
1765    GPS_TRACK_REF = 'GPSTrackRef',
1766
1767    /**
1768     * The direction of GPS receiver movement.
1769     *
1770     * @syscap SystemCapability.Multimedia.Image.Core
1771     * @crossplatform
1772     * @since 12
1773     */
1774    GPS_TRACK = 'GPSTrack',
1775
1776    /**
1777     * The reference for the image's direction.
1778     *
1779     * @syscap SystemCapability.Multimedia.Image.Core
1780     * @crossplatform
1781     * @since 12
1782     */
1783    GPS_IMG_DIRECTION_REF = 'GPSImgDirectionRef',
1784
1785    /**
1786     * The direction of the image when captured.
1787     *
1788     * @syscap SystemCapability.Multimedia.Image.Core
1789     * @crossplatform
1790     * @since 12
1791     */
1792    GPS_IMG_DIRECTION = 'GPSImgDirection',
1793
1794    /**
1795     * Geodetic survey data used by the GPS receiver.
1796     *
1797     * @syscap SystemCapability.Multimedia.Image.Core
1798     * @crossplatform
1799     * @since 12
1800     */
1801    GPS_MAP_DATUM = 'GPSMapDatum',
1802
1803    /**
1804     * Indicates the latitude reference of the destination point.
1805     *
1806     * @syscap SystemCapability.Multimedia.Image.Core
1807     * @crossplatform
1808     * @since 12
1809     */
1810    GPS_DEST_LATITUDE_REF = 'GPSDestLatitudeRef',
1811
1812    /**
1813     * The latitude of the destination point.
1814     *
1815     * @syscap SystemCapability.Multimedia.Image.Core
1816     * @crossplatform
1817     * @since 12
1818     */
1819    GPS_DEST_LATITUDE = 'GPSDestLatitude',
1820
1821    /**
1822     * Indicates the longitude reference of the destination point.
1823     *
1824     * @syscap SystemCapability.Multimedia.Image.Core
1825     * @crossplatform
1826     * @since 12
1827     */
1828    GPS_DEST_LONGITUDE_REF = 'GPSDestLongitudeRef',
1829
1830    /**
1831     * The longitude of the destination point.
1832     *
1833     * @syscap SystemCapability.Multimedia.Image.Core
1834     * @crossplatform
1835     * @since 12
1836     */
1837    GPS_DEST_LONGITUDE = 'GPSDestLongitude',
1838
1839    /**
1840     * The reference for the bearing to the destination point.
1841     *
1842     * @syscap SystemCapability.Multimedia.Image.Core
1843     * @crossplatform
1844     * @since 12
1845     */
1846    GPS_DEST_BEARING_REF = 'GPSDestBearingRef',
1847
1848    /**
1849     * The bearing to the destination point.
1850     *
1851     * @syscap SystemCapability.Multimedia.Image.Core
1852     * @crossplatform
1853     * @since 12
1854     */
1855    GPS_DEST_BEARING = 'GPSDestBearing',
1856
1857    /**
1858     * The measurement unit for the distance to the target point.
1859     *
1860     * @syscap SystemCapability.Multimedia.Image.Core
1861     * @crossplatform
1862     * @since 12
1863     */
1864    GPS_DEST_DISTANCE_REF = 'GPSDestDistanceRef',
1865
1866    /**
1867     * The distance to the destination point.
1868     *
1869     * @syscap SystemCapability.Multimedia.Image.Core
1870     * @crossplatform
1871     * @since 12
1872     */
1873    GPS_DEST_DISTANCE = 'GPSDestDistance',
1874
1875    /**
1876     * A character string recording the name of the method used for location finding.
1877     *
1878     * @syscap SystemCapability.Multimedia.Image.Core
1879     * @crossplatform
1880     * @since 12
1881     */
1882    GPS_PROCESSING_METHOD = 'GPSProcessingMethod',
1883
1884    /**
1885     * A character string recording the name of the GPS area.
1886     *
1887     * @syscap SystemCapability.Multimedia.Image.Core
1888     * @crossplatform
1889     * @since 12
1890     */
1891    GPS_AREA_INFORMATION = 'GPSAreaInformation',
1892
1893    /**
1894     * This field denotes if differential correction was applied to GPS data, crucial for precise location accuracy.
1895     *
1896     * @syscap SystemCapability.Multimedia.Image.Core
1897     * @crossplatform
1898     * @since 12
1899     */
1900    GPS_DIFFERENTIAL = 'GPSDifferential',
1901
1902    /**
1903     * The serial number of the camera body.
1904     *
1905     * @syscap SystemCapability.Multimedia.Image.Core
1906     * @crossplatform
1907     * @since 12
1908     */
1909    BODY_SERIAL_NUMBER = 'BodySerialNumber',
1910
1911    /**
1912     * The name of the camera owner.
1913     *
1914     * @syscap SystemCapability.Multimedia.Image.Core
1915     * @crossplatform
1916     * @since 12
1917     */
1918    CAMERA_OWNER_NAME = 'CameraOwnerName',
1919
1920    /**
1921     * Indicates whether the image is a composite image.
1922     *
1923     * @syscap SystemCapability.Multimedia.Image.Core
1924     * @crossplatform
1925     * @since 12
1926     */
1927    COMPOSITE_IMAGE = 'CompositeImage',
1928
1929    /**
1930     * The compression mode used for a compressed image, in unit bits per pixel.
1931     *
1932     * @syscap SystemCapability.Multimedia.Image.Core
1933     * @crossplatform
1934     * @since 12
1935     */
1936    COMPRESSED_BITS_PER_PIXEL = 'CompressedBitsPerPixel',
1937
1938    /**
1939     * The DNGVersion tag encodes the four-tier version number for DNG specification compliance.
1940     *
1941     * @syscap SystemCapability.Multimedia.Image.Core
1942     * @crossplatform
1943     * @since 12
1944     */
1945    DNG_VERSION = 'DNGVersion',
1946
1947    /**
1948     * DefaultCropSize specifies the final image size in raw coordinates, accounting for extra edge pixels.
1949     *
1950     * @syscap SystemCapability.Multimedia.Image.Core
1951     * @crossplatform
1952     * @since 12
1953     */
1954    DEFAULT_CROP_SIZE = 'DefaultCropSize',
1955
1956    /**
1957     * Indicates the value of coefficient gamma.
1958     *
1959     * @syscap SystemCapability.Multimedia.Image.Core
1960     * @crossplatform
1961     * @since 12
1962     */
1963    GAMMA = 'Gamma',
1964
1965    /**
1966     * The tag indicate the ISO speed latitude yyy value of the camera or input device that is defined in ISO 12232.
1967     *
1968     * @syscap SystemCapability.Multimedia.Image.Core
1969     * @crossplatform
1970     * @since 12
1971     */
1972    ISO_SPEED_LATITUDE_YYY = 'ISOSpeedLatitudeyyy',
1973
1974    /**
1975     * The tag indicate the ISO speed latitude zzz value of the camera or input device that is defined in ISO 12232.
1976     *
1977     * @syscap SystemCapability.Multimedia.Image.Core
1978     * @crossplatform
1979     * @since 12
1980     */
1981    ISO_SPEED_LATITUDE_ZZZ = 'ISOSpeedLatitudezzz',
1982
1983    /**
1984     * The manufacturer of the lens.
1985     *
1986     * @syscap SystemCapability.Multimedia.Image.Core
1987     * @crossplatform
1988     * @since 12
1989     */
1990    LENS_MAKE = 'LensMake',
1991
1992    /**
1993     * The model name of the lens.
1994     *
1995     * @syscap SystemCapability.Multimedia.Image.Core
1996     * @crossplatform
1997     * @since 12
1998     */
1999    LENS_MODEL = 'LensModel',
2000
2001    /**
2002     * The serial number of the lens.
2003     *
2004     * @syscap SystemCapability.Multimedia.Image.Core
2005     * @crossplatform
2006     * @since 12
2007     */
2008    LENS_SERIAL_NUMBER = 'LensSerialNumber',
2009
2010    /**
2011     * Specifications of the lens used.
2012     *
2013     * @syscap SystemCapability.Multimedia.Image.Core
2014     * @crossplatform
2015     * @since 12
2016     */
2017    LENS_SPECIFICATION = 'LensSpecification',
2018
2019    /**
2020     * This tag provides a broad description of the data type in this subfile.
2021     *
2022     * @syscap SystemCapability.Multimedia.Image.Core
2023     * @crossplatform
2024     * @since 12
2025     */
2026    NEW_SUBFILE_TYPE = 'NewSubfileType',
2027
2028    /**
2029     * This tag records the UTC offset for the DateTime tag, ensuring accurate timestamps regardless of location.
2030     *
2031     * @syscap SystemCapability.Multimedia.Image.Core
2032     * @crossplatform
2033     * @since 12
2034     */
2035    OFFSET_TIME = 'OffsetTime',
2036
2037    /**
2038     * This tag records the UTC offset when the image was digitized, aiding in accurate timestamp adjustment.
2039     *
2040     * @syscap SystemCapability.Multimedia.Image.Core
2041     * @crossplatform
2042     * @since 12
2043     */
2044    OFFSET_TIME_DIGITIZED = 'OffsetTimeDigitized',
2045
2046    /**
2047     * This tag records the UTC offset when the original image was created, crucial for time-sensitive applications.
2048     *
2049     * @syscap SystemCapability.Multimedia.Image.Core
2050     * @crossplatform
2051     * @since 12
2052     */
2053    OFFSET_TIME_ORIGINAL = 'OffsetTimeOriginal',
2054
2055    /**
2056     * Exposure times of source images for a composite image.
2057     *
2058     * @syscap SystemCapability.Multimedia.Image.Core
2059     * @crossplatform
2060     * @since 12
2061     */
2062    SOURCE_EXPOSURE_TIMES_OF_COMPOSITE_IMAGE = 'SourceExposureTimesOfCompositeImage',
2063
2064    /**
2065     * The number of source images used for a composite image.
2066     *
2067     * @syscap SystemCapability.Multimedia.Image.Core
2068     * @crossplatform
2069     * @since 12
2070     */
2071    SOURCE_IMAGE_NUMBER_OF_COMPOSITE_IMAGE = 'SourceImageNumberOfCompositeImage',
2072
2073    /**
2074     * This deprecated tag indicates the data type in this subfile. Use NewSubfileType instead.
2075     *
2076     * @syscap SystemCapability.Multimedia.Image.Core
2077     * @crossplatform
2078     * @since 12
2079     */
2080    SUBFILE_TYPE = 'SubfileType',
2081
2082    /**
2083     * This tag indicates horizontal positioning errors in meters.
2084     *
2085     * @syscap SystemCapability.Multimedia.Image.Core
2086     * @crossplatform
2087     * @since 12
2088     */
2089    GPS_H_POSITIONING_ERROR = 'GPSHPositioningError',
2090
2091    /**
2092     * This tag indicates the sensitivity of the camera or input device when the image was shot.
2093     *
2094     * @syscap SystemCapability.Multimedia.Image.Core
2095     * @crossplatform
2096     * @since 12
2097     */
2098    PHOTOGRAPHIC_SENSITIVITY = 'PhotographicSensitivity',
2099
2100    /**
2101     * Burst Number
2102     *
2103     * @syscap SystemCapability.Multimedia.Image.Core
2104     * @crossplatform
2105     * @since 12
2106     */
2107    BURST_NUMBER = 'HwMnoteBurstNumber',
2108
2109    /**
2110     * Face Conf
2111     *
2112     * @syscap SystemCapability.Multimedia.Image.Core
2113     * @crossplatform
2114     * @since 12
2115     */
2116    FACE_CONF = 'HwMnoteFaceConf',
2117
2118    /**
2119     * Face Leye Center
2120     *
2121     * @syscap SystemCapability.Multimedia.Image.Core
2122     * @crossplatform
2123     * @since 12
2124     */
2125    FACE_LEYE_CENTER = 'HwMnoteFaceLeyeCenter',
2126
2127    /**
2128     * Face Mouth Center
2129     *
2130     * @syscap SystemCapability.Multimedia.Image.Core
2131     * @crossplatform
2132     * @since 12
2133     */
2134    FACE_MOUTH_CENTER = 'HwMnoteFaceMouthCenter',
2135
2136    /**
2137     * Face Pointer
2138     *
2139     * @syscap SystemCapability.Multimedia.Image.Core
2140     * @crossplatform
2141     * @since 12
2142     */
2143    FACE_POINTER = 'HwMnoteFacePointer',
2144
2145    /**
2146     * Face Rect
2147     *
2148     * @syscap SystemCapability.Multimedia.Image.Core
2149     * @crossplatform
2150     * @since 12
2151     */
2152    FACE_RECT = 'HwMnoteFaceRect',
2153
2154    /**
2155     * Face Reye Center
2156     *
2157     * @syscap SystemCapability.Multimedia.Image.Core
2158     * @crossplatform
2159     * @since 12
2160     */
2161    FACE_REYE_CENTER = 'HwMnoteFaceReyeCenter',
2162
2163    /**
2164     * Face Smile Score
2165     *
2166     * @syscap SystemCapability.Multimedia.Image.Core
2167     * @crossplatform
2168     * @since 12
2169     */
2170    FACE_SMILE_SCORE = 'HwMnoteFaceSmileScore',
2171
2172    /**
2173     * Face Version
2174     *
2175     * @syscap SystemCapability.Multimedia.Image.Core
2176     * @crossplatform
2177     * @since 12
2178     */
2179    FACE_VERSION = 'HwMnoteFaceVersion',
2180
2181    /**
2182     * Front Camera
2183     *
2184     * @syscap SystemCapability.Multimedia.Image.Core
2185     * @crossplatform
2186     * @since 12
2187     */
2188    FRONT_CAMERA = 'HwMnoteFrontCamera',
2189
2190    /**
2191     * Scene Pointer
2192     *
2193     * @syscap SystemCapability.Multimedia.Image.Core
2194     * @crossplatform
2195     * @since 12
2196     */
2197    SCENE_POINTER = 'HwMnoteScenePointer',
2198
2199    /**
2200     * Scene Version
2201     *
2202     * @syscap SystemCapability.Multimedia.Image.Core
2203     * @crossplatform
2204     * @since 12
2205     */
2206    SCENE_VERSION = 'HwMnoteSceneVersion',
2207
2208    /**
2209     * Is Xmage Supported
2210     *
2211     * @syscap SystemCapability.Multimedia.Image.Core
2212     * @crossplatform
2213     * @since 12
2214     */
2215    IS_XMAGE_SUPPORTED = 'HwMnoteIsXmageSupported',
2216
2217    /**
2218     * Xmage Mode
2219     *
2220     * @syscap SystemCapability.Multimedia.Image.Core
2221     * @crossplatform
2222     * @since 12
2223     */
2224    XMAGE_MODE = 'HwMnoteXmageMode',
2225
2226    /**
2227     * Xmage X1 Coordinate
2228     *
2229     * @syscap SystemCapability.Multimedia.Image.Core
2230     * @crossplatform
2231     * @since 12
2232     */
2233    XMAGE_LEFT = 'HwMnoteXmageLeft',
2234
2235    /**
2236     * Xmage Y1 Coordinate
2237     *
2238     * @syscap SystemCapability.Multimedia.Image.Core
2239     * @crossplatform
2240     * @since 12
2241     */
2242    XMAGE_TOP = 'HwMnoteXmageTop',
2243
2244    /**
2245     * Xmage X2 Coordinate
2246     *
2247     * @syscap SystemCapability.Multimedia.Image.Core
2248     * @crossplatform
2249     * @since 12
2250     */
2251    XMAGE_RIGHT = 'HwMnoteXmageRight',
2252
2253    /**
2254     * Xmage Y2 Coordinate
2255     *
2256     * @syscap SystemCapability.Multimedia.Image.Core
2257     * @crossplatform
2258     * @since 12
2259     */
2260    XMAGE_BOTTOM = 'HwMnoteXmageBottom',
2261
2262    /**
2263     * Cloud Enhancement Mode
2264     *
2265     * @syscap SystemCapability.Multimedia.Image.Core
2266     * @crossplatform
2267     * @since 12
2268     */
2269    CLOUD_ENHANCEMENT_MODE = 'HwMnoteCloudEnhancementMode',
2270
2271    /**
2272     * Wind Snapshot Mode
2273     *
2274     * @syscap SystemCapability.Multimedia.Image.Core
2275     * @crossplatform
2276     * @since 12
2277     */
2278    WIND_SNAPSHOT_MODE = 'HwMnoteWindSnapshotMode',
2279
2280    /**
2281     * GIF LOOP COUNT
2282     * If infinite loop returns 0, other values represent the number of loops
2283     *
2284     * @syscap SystemCapability.Multimedia.Image.Core
2285     * @crossplatform
2286     * @since 12
2287     */
2288    GIF_LOOP_COUNT = 'GIFLoopCount'
2289  }
2290
2291  /**
2292   * Enum for image formats.
2293   *
2294   * @enum { number }
2295   * @syscap SystemCapability.Multimedia.Image.Core
2296   * @since 9
2297   */
2298  enum ImageFormat {
2299    /**
2300     * YCBCR422 semi-planar format.
2301     *
2302     * @syscap SystemCapability.Multimedia.Image.Core
2303     * @since 9
2304     */
2305    YCBCR_422_SP = 1000,
2306
2307    /**
2308     * JPEG encoding format.
2309     *
2310     * @syscap SystemCapability.Multimedia.Image.Core
2311     * @since 9
2312     */
2313    JPEG = 2000
2314  }
2315
2316  /**
2317   * Enumerates alpha types.
2318   *
2319   * @enum { number }
2320   * @syscap SystemCapability.Multimedia.Image.Core
2321   * @since 9
2322   */
2323  /**
2324   * Enumerates alpha types.
2325   *
2326   * @enum { number }
2327   * @syscap SystemCapability.Multimedia.Image.Core
2328   * @crossplatform
2329   * @since 10
2330   */
2331  /**
2332   * Enumerates alpha types.
2333   *
2334   * @enum { number }
2335   * @syscap SystemCapability.Multimedia.Image.Core
2336   * @crossplatform
2337   * @atomicservice
2338   * @since 11
2339   */
2340  /**
2341   * Enumerates alpha types.
2342   *
2343   * @enum { number }
2344   * @syscap SystemCapability.Multimedia.Image.Core
2345   * @crossplatform
2346   * @form
2347   * @atomicservice
2348   * @since 12
2349   */
2350  enum AlphaType {
2351    /**
2352     * Indicates an unknown alpha type.
2353     *
2354     * @syscap SystemCapability.Multimedia.Image.Core
2355     * @since 9
2356     */
2357    /**
2358     * Indicates an unknown alpha type.
2359     *
2360     * @syscap SystemCapability.Multimedia.Image.Core
2361     * @crossplatform
2362     * @since 10
2363     */
2364    /**
2365     * Indicates an unknown alpha type.
2366     *
2367     * @syscap SystemCapability.Multimedia.Image.Core
2368     * @crossplatform
2369     * @atomicservice
2370     * @since 11
2371     */
2372    /**
2373     * Indicates an unknown alpha type.
2374     *
2375     * @syscap SystemCapability.Multimedia.Image.Core
2376     * @crossplatform
2377     * @form
2378     * @atomicservice
2379     * @since 12
2380     */
2381    UNKNOWN = 0,
2382
2383    /**
2384     * Indicates that the image has no alpha channel, or all pixels in the image are fully opaque.
2385     *
2386     * @syscap SystemCapability.Multimedia.Image.Core
2387     * @since 9
2388     */
2389    /**
2390     * Indicates that the image has no alpha channel, or all pixels in the image are fully opaque.
2391     *
2392     * @syscap SystemCapability.Multimedia.Image.Core
2393     * @crossplatform
2394     * @since 10
2395     */
2396    /**
2397     * Indicates that the image has no alpha channel, or all pixels in the image are fully opaque.
2398     *
2399     * @syscap SystemCapability.Multimedia.Image.Core
2400     * @crossplatform
2401     * @atomicservice
2402     * @since 11
2403     */
2404    /**
2405     * Indicates that the image has no alpha channel, or all pixels in the image are fully opaque.
2406     *
2407     * @syscap SystemCapability.Multimedia.Image.Core
2408     * @crossplatform
2409     * @form
2410     * @atomicservice
2411     * @since 12
2412     */
2413    OPAQUE = 1,
2414
2415    /**
2416     * Indicates that RGB components of each pixel in the image are premultiplied by alpha.
2417     *
2418     * @syscap SystemCapability.Multimedia.Image.Core
2419     * @since 9
2420     */
2421    /**
2422     * Indicates that RGB components of each pixel in the image are premultiplied by alpha.
2423     *
2424     * @syscap SystemCapability.Multimedia.Image.Core
2425     * @crossplatform
2426     * @since 10
2427     */
2428    /**
2429     * Indicates that RGB components of each pixel in the image are premultiplied by alpha.
2430     *
2431     * @syscap SystemCapability.Multimedia.Image.Core
2432     * @crossplatform
2433     * @atomicservice
2434     * @since 11
2435     */
2436    /**
2437     * Indicates that RGB components of each pixel in the image are premultiplied by alpha.
2438     *
2439     * @syscap SystemCapability.Multimedia.Image.Core
2440     * @crossplatform
2441     * @form
2442     * @atomicservice
2443     * @since 12
2444     */
2445    PREMUL = 2,
2446
2447    /**
2448     * Indicates that RGB components of each pixel in the image are independent of alpha and are not premultiplied by alpha.
2449     *
2450     * @syscap SystemCapability.Multimedia.Image.Core
2451     * @since 9
2452     */
2453    /**
2454     * Indicates that RGB components of each pixel in the image are independent of alpha and are not premultiplied by alpha.
2455     *
2456     * @syscap SystemCapability.Multimedia.Image.Core
2457     * @crossplatform
2458     * @since 10
2459     */
2460    /**
2461     * Indicates that RGB components of each pixel in the image are independent of alpha and are not premultiplied by alpha.
2462     *
2463     * @syscap SystemCapability.Multimedia.Image.Core
2464     * @crossplatform
2465     * @atomicservice
2466     * @since 11
2467     */
2468    /**
2469     * Indicates that RGB components of each pixel in the image are independent of alpha and are not premultiplied by alpha.
2470     *
2471     * @syscap SystemCapability.Multimedia.Image.Core
2472     * @crossplatform
2473     * @form
2474     * @atomicservice
2475     * @since 12
2476     */
2477    UNPREMUL = 3
2478  }
2479
2480  /**
2481   * Enumerates decoding dynamic range.
2482   *
2483   * @enum { number }
2484   * @syscap SystemCapability.Multimedia.Image.Core
2485   * @since 12
2486   */
2487  enum DecodingDynamicRange {
2488    /**
2489     * Decoding according to the content of the image.
2490     *
2491     * @syscap SystemCapability.Multimedia.Image.Core
2492     * @since 12
2493     */
2494    AUTO = 0,
2495
2496    /**
2497     * Decoding to standard dynamic range.
2498     *
2499     * @syscap SystemCapability.Multimedia.Image.Core
2500     * @since 12
2501     */
2502    SDR = 1,
2503
2504    /**
2505     * Decoding to high dynamic range.
2506     *
2507     * @syscap SystemCapability.Multimedia.Image.Core
2508     * @since 12
2509     */
2510    HDR = 2
2511  }
2512
2513  /**
2514   * Enumerates packing dynamic range.
2515   *
2516   * @enum { number }
2517   * @syscap SystemCapability.Multimedia.Image.Core
2518   * @since 12
2519   */
2520  enum PackingDynamicRange {
2521    /**
2522     * Packing according to the content of the image.
2523     *
2524     * @syscap SystemCapability.Multimedia.Image.Core
2525     * @since 12
2526     */
2527    AUTO = 0,
2528
2529    /**
2530     * Packing to standard dynamic range.
2531     *
2532     * @syscap SystemCapability.Multimedia.Image.Core
2533     * @since 12
2534     */
2535    SDR = 1,
2536  }
2537
2538  /**
2539   * Enumerates the anti-aliasing level.
2540   *
2541   * @enum { number }
2542   * @syscap SystemCapability.Multimedia.Image.Core
2543   * @since 12
2544   */
2545  /**
2546   * Enumerates the anti-aliasing level.
2547   *
2548   * @enum { number }
2549   * @syscap SystemCapability.Multimedia.Image.Core
2550   * @atomicservice
2551   * @since 14
2552   */
2553  enum AntiAliasingLevel {
2554    /**
2555     * Nearest-neighbor interpolation algorithm.
2556     *
2557     * @syscap SystemCapability.Multimedia.Image.Core
2558     * @since 12
2559     */
2560    /**
2561     * Nearest-neighbor interpolation algorithm.
2562     *
2563     * @syscap SystemCapability.Multimedia.Image.Core
2564     * @atomicservice
2565     * @since 14
2566     */
2567    NONE = 0,
2568
2569    /**
2570     * Bilinear interpolation algorithm.
2571     *
2572     * @syscap SystemCapability.Multimedia.Image.Core
2573     * @since 12
2574     */
2575    /**
2576     * Bilinear interpolation algorithm.
2577     *
2578     * @syscap SystemCapability.Multimedia.Image.Core
2579     * @atomicservice
2580     * @since 14
2581     */
2582    LOW = 1,
2583
2584    /**
2585     * Bilinear interpolation algorithm with mipmap linear filtering.
2586     *
2587     * @syscap SystemCapability.Multimedia.Image.Core
2588     * @since 12
2589     */
2590    /**
2591     * Bilinear interpolation algorithm with mipmap linear filtering.
2592     *
2593     * @syscap SystemCapability.Multimedia.Image.Core
2594     * @atomicservice
2595     * @since 14
2596     */
2597    MEDIUM = 2,
2598
2599    /**
2600     * Cubic interpolation algorithm.
2601     *
2602     * @syscap SystemCapability.Multimedia.Image.Core
2603     * @since 12
2604     */
2605    /**
2606     * Cubic interpolation algorithm.
2607     *
2608     * @syscap SystemCapability.Multimedia.Image.Core
2609     * @atomicservice
2610     * @since 14
2611     */
2612    HIGH = 3,
2613  }
2614
2615  /**
2616   * Enum for image scale mode.
2617   *
2618   * @enum { number }
2619   * @syscap SystemCapability.Multimedia.Image.Core
2620   * @since 9
2621   */
2622  /**
2623   * Enum for image scale mode.
2624   *
2625   * @enum { number }
2626   * @syscap SystemCapability.Multimedia.Image.Core
2627   * @crossplatform
2628   * @since 10
2629   */
2630  /**
2631   * Enum for image scale mode.
2632   *
2633   * @enum { number }
2634   * @syscap SystemCapability.Multimedia.Image.Core
2635   * @crossplatform
2636   * @atomicservice
2637   * @since 11
2638   */
2639  /**
2640   * Enum for image scale mode.
2641   *
2642   * @enum { number }
2643   * @syscap SystemCapability.Multimedia.Image.Core
2644   * @crossplatform
2645   * @form
2646   * @atomicservice
2647   * @since 12
2648   */
2649  enum ScaleMode {
2650    /**
2651     * Indicates the effect that fits the image into the target size.
2652     *
2653     * @syscap SystemCapability.Multimedia.Image.Core
2654     * @since 9
2655     */
2656    /**
2657     * Indicates the effect that fits the image into the target size.
2658     *
2659     * @syscap SystemCapability.Multimedia.Image.Core
2660     * @crossplatform
2661     * @since 10
2662     */
2663    /**
2664     * Indicates the effect that fits the image into the target size.
2665     *
2666     * @syscap SystemCapability.Multimedia.Image.Core
2667     * @crossplatform
2668     * @atomicservice
2669     * @since 11
2670     */
2671    /**
2672     * Indicates the effect that fits the image into the target size.
2673     *
2674     * @syscap SystemCapability.Multimedia.Image.Core
2675     * @crossplatform
2676     * @form
2677     * @atomicservice
2678     * @since 12
2679     */
2680    FIT_TARGET_SIZE = 0,
2681
2682    /**
2683     * Indicates the effect that scales an image to fill the target image area and center-crops the part outside the area.
2684     *
2685     * @syscap SystemCapability.Multimedia.Image.Core
2686     * @since 9
2687     */
2688    /**
2689     * Indicates the effect that scales an image to fill the target image area and center-crops the part outside the area.
2690     *
2691     * @syscap SystemCapability.Multimedia.Image.Core
2692     * @crossplatform
2693     * @since 10
2694     */
2695    /**
2696     * Indicates the effect that scales an image to fill the target image area and center-crops the part outside the area.
2697     *
2698     * @syscap SystemCapability.Multimedia.Image.Core
2699     * @crossplatform
2700     * @atomicservice
2701     * @since 11
2702     */
2703    /**
2704     * Indicates the effect that scales an image to fill the target image area and center-crops the part outside the area.
2705     *
2706     * @syscap SystemCapability.Multimedia.Image.Core
2707     * @crossplatform
2708     * @form
2709     * @atomicservice
2710     * @since 12
2711     */
2712    CENTER_CROP = 1
2713  }
2714
2715  /**
2716   * The component type of image.
2717   *
2718   * @enum { number }
2719   * @syscap SystemCapability.Multimedia.Image.ImageReceiver
2720   * @since 9
2721   */
2722  enum ComponentType {
2723    /**
2724     * Luma info.
2725     *
2726     * @syscap SystemCapability.Multimedia.Image.ImageReceiver
2727     * @since 9
2728     */
2729    YUV_Y = 1,
2730
2731    /**
2732     * Chrominance info.
2733     *
2734     * @syscap SystemCapability.Multimedia.Image.ImageReceiver
2735     * @since 9
2736     */
2737    YUV_U = 2,
2738
2739    /**
2740     * Chroma info.
2741     *
2742     * @syscap SystemCapability.Multimedia.Image.ImageReceiver
2743     * @since 9
2744     */
2745    YUV_V = 3,
2746
2747    /**
2748     * Jpeg type.
2749     *
2750     * @syscap SystemCapability.Multimedia.Image.ImageReceiver
2751     * @since 9
2752     */
2753    JPEG = 4
2754  }
2755
2756  /**
2757   * Enumerates the HDR metadata types that need to be stored in Pixelmap.
2758   *
2759   * @enum { number }
2760   * @syscap SystemCapability.Multimedia.Image.Core
2761   * @since 12
2762   */
2763  enum HdrMetadataKey {
2764    /**
2765     * Indicate the types of metadata that image needs to use.
2766     *
2767     * @syscap SystemCapability.Multimedia.Image.Core
2768     * @since 12
2769     */
2770    HDR_METADATA_TYPE = 0,
2771
2772    /**
2773     * Static metadata key.
2774     *
2775     * @syscap SystemCapability.Multimedia.Image.Core
2776     * @since 12
2777     */
2778    HDR_STATIC_METADATA = 1,
2779
2780    /**
2781     * Dynamic metadata key.
2782     *
2783     * @syscap SystemCapability.Multimedia.Image.Core
2784     * @since 12
2785     */
2786    HDR_DYNAMIC_METADATA = 2,
2787
2788    /**
2789     * Gainmap metadata key.
2790     *
2791     * @syscap SystemCapability.Multimedia.Image.Core
2792     * @since 12
2793     */
2794    HDR_GAINMAP_METADATA = 3,
2795  }
2796
2797  /**
2798   * Value for HDR_METADATA_TYPE.
2799   *
2800   * @enum { number }
2801   * @syscap SystemCapability.Multimedia.Image.Core
2802   * @since 12
2803   */
2804  enum HdrMetadataType {
2805    /**
2806     * No metadata.
2807     *
2808     * @syscap SystemCapability.Multimedia.Image.Core
2809     * @since 12
2810     */
2811    NONE = 0,
2812
2813    /**
2814     * Indicates that metadata will be used for the base image.
2815     *
2816     * @syscap SystemCapability.Multimedia.Image.Core
2817     * @since 12
2818     */
2819    BASE = 1,
2820
2821    /**
2822     * Indicates that metadata will be used for the gainmap image.
2823     *
2824     * @syscap SystemCapability.Multimedia.Image.Core
2825     * @since 12
2826     */
2827    GAINMAP = 2,
2828
2829    /**
2830     * Indicates that metadata will be used for the alternate image.
2831     *
2832     * @syscap SystemCapability.Multimedia.Image.Core
2833     * @since 12
2834     */
2835    ALTERNATE = 3,
2836  }
2837
2838  /**
2839   * Type of allocator used to allocate memory of a PixelMap.
2840   *
2841   * @enum { number }
2842   * @syscap SystemCapability.Multimedia.Image.Core
2843   * @since 15
2844   */
2845  enum AllocatorType {
2846    /**
2847     * The system determines which memory to use to create the PixelMap.
2848     *
2849     * @syscap SystemCapability.Multimedia.Image.Core
2850     * @since 15
2851     */
2852    AUTO = 0,
2853
2854    /**
2855     * Use DMA buffer to create the PixelMap.
2856     *
2857     * @syscap SystemCapability.Multimedia.Image.Core
2858     * @since 15
2859     */
2860    DMA = 1,
2861
2862    /**
2863     * Use share memory to create the PixelMap.
2864     *
2865     * @syscap SystemCapability.Multimedia.Image.Core
2866     * @since 15
2867     */
2868    SHARE_MEMORY = 2,
2869  }
2870
2871  /**
2872   * Describes region information.
2873   *
2874   * @typedef Region
2875   * @syscap SystemCapability.Multimedia.Image.Core
2876   * @since 8
2877   */
2878  /**
2879   * Describes region information.
2880   *
2881   * @typedef Region
2882   * @syscap SystemCapability.Multimedia.Image.Core
2883   * @crossplatform
2884   * @since 10
2885   */
2886  /**
2887   * Describes region information.
2888   *
2889   * @typedef Region
2890   * @syscap SystemCapability.Multimedia.Image.Core
2891   * @crossplatform
2892   * @atomicservice
2893   * @since 11
2894   */
2895  /**
2896   * Describes region information.
2897   *
2898   * @typedef Region
2899   * @syscap SystemCapability.Multimedia.Image.Core
2900   * @crossplatform
2901   * @form
2902   * @atomicservice
2903   * @since 12
2904   */
2905  interface Region {
2906    /**
2907     * Image size.
2908     *
2909     * @type { Size }
2910     * @syscap SystemCapability.Multimedia.Image.Core
2911     * @since 7
2912     */
2913    /**
2914     * Image size.
2915     *
2916     * @type { Size }
2917     * @syscap SystemCapability.Multimedia.Image.Core
2918     * @crossplatform
2919     * @since 10
2920     */
2921    /**
2922     * Image size.
2923     *
2924     * @type { Size }
2925     * @syscap SystemCapability.Multimedia.Image.Core
2926     * @crossplatform
2927     * @atomicservice
2928     * @since 11
2929     */
2930    /**
2931     * Image size.
2932     *
2933     * @type { Size }
2934     * @syscap SystemCapability.Multimedia.Image.Core
2935     * @crossplatform
2936     * @form
2937     * @atomicservice
2938     * @since 12
2939     */
2940    size: Size;
2941
2942    /**
2943     * x-coordinate at the upper left corner of the image.
2944     *
2945     * @type { number }
2946     * @syscap SystemCapability.Multimedia.Image.Core
2947     * @since 7
2948     */
2949    /**
2950     * x-coordinate at the upper left corner of the image.
2951     *
2952     * @type { number }
2953     * @syscap SystemCapability.Multimedia.Image.Core
2954     * @crossplatform
2955     * @since 10
2956     */
2957    /**
2958     * x-coordinate at the upper left corner of the image.
2959     *
2960     * @type { number }
2961     * @syscap SystemCapability.Multimedia.Image.Core
2962     * @crossplatform
2963     * @atomicservice
2964     * @since 11
2965     */
2966    /**
2967     * x-coordinate at the upper left corner of the image.
2968     *
2969     * @type { number }
2970     * @syscap SystemCapability.Multimedia.Image.Core
2971     * @crossplatform
2972     * @form
2973     * @atomicservice
2974     * @since 12
2975     */
2976    x: number;
2977
2978    /**
2979     * y-coordinate at the upper left corner of the image.
2980     *
2981     * @type { number }
2982     * @syscap SystemCapability.Multimedia.Image.Core
2983     * @since 7
2984     */
2985    /**
2986     * y-coordinate at the upper left corner of the image.
2987     *
2988     * @type { number }
2989     * @syscap SystemCapability.Multimedia.Image.Core
2990     * @crossplatform
2991     * @since 10
2992     */
2993    /**
2994     * y-coordinate at the upper left corner of the image.
2995     *
2996     * @type { number }
2997     * @syscap SystemCapability.Multimedia.Image.Core
2998     * @crossplatform
2999     * @atomicservice
3000     * @since 11
3001     */
3002    /**
3003     * y-coordinate at the upper left corner of the image.
3004     *
3005     * @type { number }
3006     * @syscap SystemCapability.Multimedia.Image.Core
3007     * @crossplatform
3008     * @form
3009     * @atomicservice
3010     * @since 12
3011     */
3012    y: number;
3013  }
3014
3015  /**
3016   * Describes area information in an image.
3017   *
3018   * @typedef PositionArea
3019   * @syscap SystemCapability.Multimedia.Image.Core
3020   * @since 7
3021   */
3022  /**
3023   * Describes area information in an image.
3024   *
3025   * @typedef PositionArea
3026   * @syscap SystemCapability.Multimedia.Image.Core
3027   * @crossplatform
3028   * @since 10
3029   */
3030  /**
3031   * Describes area information in an image.
3032   *
3033   * @typedef PositionArea
3034   * @syscap SystemCapability.Multimedia.Image.Core
3035   * @crossplatform
3036   * @atomicservice
3037   * @since 11
3038   */
3039  /**
3040   * Describes area information in an image.
3041   *
3042   * @typedef PositionArea
3043   * @syscap SystemCapability.Multimedia.Image.Core
3044   * @crossplatform
3045   * @form
3046   * @atomicservice
3047   * @since 12
3048   */
3049  interface PositionArea {
3050    /**
3051     * Image data that will be read or written.
3052     *
3053     * @type { ArrayBuffer }
3054     * @syscap SystemCapability.Multimedia.Image.Core
3055     * @since 7
3056     */
3057    /**
3058     * Image data that will be read or written.
3059     *
3060     * @type { ArrayBuffer }
3061     * @syscap SystemCapability.Multimedia.Image.Core
3062     * @crossplatform
3063     * @since 10
3064     */
3065    /**
3066     * Image data that will be read or written.
3067     *
3068     * @type { ArrayBuffer }
3069     * @syscap SystemCapability.Multimedia.Image.Core
3070     * @crossplatform
3071     * @atomicservice
3072     * @since 11
3073     */
3074    /**
3075     * Image data that will be read or written.
3076     *
3077     * @type { ArrayBuffer }
3078     * @syscap SystemCapability.Multimedia.Image.Core
3079     * @crossplatform
3080     * @form
3081     * @atomicservice
3082     * @since 12
3083     */
3084    pixels: ArrayBuffer;
3085
3086    /**
3087     * Offset for data reading.
3088     *
3089     * @type { number }
3090     * @syscap SystemCapability.Multimedia.Image.Core
3091     * @since 7
3092     */
3093    /**
3094     * Offset for data reading.
3095     *
3096     * @type { number }
3097     * @syscap SystemCapability.Multimedia.Image.Core
3098     * @crossplatform
3099     * @since 10
3100     */
3101    /**
3102     * Offset for data reading.
3103     *
3104     * @type { number }
3105     * @syscap SystemCapability.Multimedia.Image.Core
3106     * @crossplatform
3107     * @atomicservice
3108     * @since 11
3109     */
3110    /**
3111     * Offset for data reading.
3112     *
3113     * @type { number }
3114     * @syscap SystemCapability.Multimedia.Image.Core
3115     * @crossplatform
3116     * @form
3117     * @atomicservice
3118     * @since 12
3119     */
3120    offset: number;
3121
3122    /**
3123     * Number of bytes to read.
3124     *
3125     * @type { number }
3126     * @syscap SystemCapability.Multimedia.Image.Core
3127     * @since 7
3128     */
3129    /**
3130     * Number of bytes to read.
3131     *
3132     * @type { number }
3133     * @syscap SystemCapability.Multimedia.Image.Core
3134     * @crossplatform
3135     * @since 10
3136     */
3137    /**
3138     * Number of bytes to read.
3139     *
3140     * @type { number }
3141     * @syscap SystemCapability.Multimedia.Image.Core
3142     * @crossplatform
3143     * @atomicservice
3144     * @since 11
3145     */
3146    /**
3147     * Number of bytes to read.
3148     *
3149     * @type { number }
3150     * @syscap SystemCapability.Multimedia.Image.Core
3151     * @crossplatform
3152     * @form
3153     * @atomicservice
3154     * @since 12
3155     */
3156    stride: number;
3157
3158    /**
3159     * Region to read.
3160     *
3161     * @type { Region }
3162     * @syscap SystemCapability.Multimedia.Image.Core
3163     * @since 7
3164     */
3165    /**
3166     * Region to read.
3167     *
3168     * @type { Region }
3169     * @syscap SystemCapability.Multimedia.Image.Core
3170     * @crossplatform
3171     * @since 10
3172     */
3173    /**
3174     * Region to read.
3175     *
3176     * @type { Region }
3177     * @syscap SystemCapability.Multimedia.Image.Core
3178     * @crossplatform
3179     * @atomicservice
3180     * @since 11
3181     */
3182    /**
3183     * Region to read.
3184     *
3185     * @type { Region }
3186     * @syscap SystemCapability.Multimedia.Image.Core
3187     * @crossplatform
3188     * @form
3189     * @atomicservice
3190     * @since 12
3191     */
3192    region: Region;
3193  }
3194
3195  /**
3196   * Describes image information.
3197   *
3198   * @typedef ImageInfo
3199   * @syscap SystemCapability.Multimedia.Image.Core
3200   * @since 6
3201   */
3202  /**
3203   * Describes image information.
3204   *
3205   * @typedef ImageInfo
3206   * @syscap SystemCapability.Multimedia.Image.Core
3207   * @crossplatform
3208   * @since 10
3209   */
3210  /**
3211   * Describes image information.
3212   *
3213   * @typedef ImageInfo
3214   * @syscap SystemCapability.Multimedia.Image.Core
3215   * @crossplatform
3216   * @atomicservice
3217   * @since 11
3218   */
3219  /**
3220   * Describes image information.
3221   *
3222   * @typedef ImageInfo
3223   * @syscap SystemCapability.Multimedia.Image.Core
3224   * @crossplatform
3225   * @form
3226   * @atomicservice
3227   * @since 12
3228   */
3229  interface ImageInfo {
3230    /**
3231     * Indicates image dimensions specified by a {@link Size} interface.
3232     *
3233     * @type { Size }
3234     * @syscap SystemCapability.Multimedia.Image.Core
3235     * @since 6
3236     */
3237    /**
3238     * Indicates image dimensions specified by a {@link Size} interface.
3239     *
3240     * @type { Size }
3241     * @syscap SystemCapability.Multimedia.Image.Core
3242     * @crossplatform
3243     * @since 10
3244     */
3245    /**
3246     * Indicates image dimensions specified by a {@link Size} interface.
3247     *
3248     * @type { Size }
3249     * @syscap SystemCapability.Multimedia.Image.Core
3250     * @crossplatform
3251     * @atomicservice
3252     * @since 11
3253     */
3254    /**
3255     * Indicates image dimensions specified by a {@link Size} interface.
3256     *
3257     * @type { Size }
3258     * @syscap SystemCapability.Multimedia.Image.Core
3259     * @crossplatform
3260     * @form
3261     * @atomicservice
3262     * @since 12
3263     */
3264    size: Size;
3265
3266    /**
3267     * Indicates image default density.
3268     *
3269     * @type { number }
3270     * @syscap SystemCapability.Multimedia.Image.Core
3271     * @since 9
3272     */
3273    /**
3274     * Indicates image default density.
3275     *
3276     * @type { number }
3277     * @syscap SystemCapability.Multimedia.Image.Core
3278     * @crossplatform
3279     * @since 10
3280     */
3281    /**
3282     * Indicates image default density.
3283     *
3284     * @type { number }
3285     * @syscap SystemCapability.Multimedia.Image.Core
3286     * @crossplatform
3287     * @atomicservice
3288     * @since 11
3289     */
3290    /**
3291     * Indicates image default density.
3292     *
3293     * @type { number }
3294     * @syscap SystemCapability.Multimedia.Image.Core
3295     * @crossplatform
3296     * @form
3297     * @atomicservice
3298     * @since 12
3299     */
3300    density: number;
3301
3302    /**
3303     * The number of byte per row.
3304     *
3305     * @type { number }
3306     * @syscap SystemCapability.Multimedia.Image.Core
3307     * @atomicservice
3308     * @since 11
3309     */
3310    /**
3311     * The number of byte per row.
3312     *
3313     * @type { number }
3314     * @syscap SystemCapability.Multimedia.Image.Core
3315     * @form
3316     * @atomicservice
3317     * @since 12
3318     */
3319    stride: number;
3320
3321    /**
3322     * Indicates image format.
3323     *
3324     * @type { PixelMapFormat }
3325     * @syscap SystemCapability.Multimedia.Image.Core
3326     * @crossplatform
3327     * @form
3328     * @atomicservice
3329     * @since 12
3330     */
3331    pixelFormat: PixelMapFormat;
3332
3333    /**
3334     * Indicates image alpha type.
3335     *
3336     * @type { AlphaType }
3337     * @syscap SystemCapability.Multimedia.Image.Core
3338     * @crossplatform
3339     * @form
3340     * @atomicservice
3341     * @since 12
3342     */
3343    alphaType: AlphaType;
3344
3345    /**
3346     * Indicates image mime type.
3347     *
3348     * @type { string }
3349     * @syscap SystemCapability.Multimedia.Image.Core
3350     * @crossplatform
3351     * @since 12
3352     */
3353    mimeType: string;
3354
3355    /**
3356     * Indicates whether the image high dynamic range
3357     *
3358     * @type { boolean }
3359     * @syscap SystemCapability.Multimedia.Image.Core
3360     * @since 12
3361     */
3362    isHdr: boolean;
3363  }
3364
3365  /**
3366   * Enumerates the strategies for executing the cropping and scaling operations when both desiredSize and desiredRegion are specified.
3367   *
3368   * @enum { number }
3369   * @syscap SystemCapability.Multimedia.Image.Core
3370   * @since 18
3371   */
3372  enum CropAndScaleStrategy {
3373    /**
3374     * Scales and then crops the image.
3375     *
3376     * @syscap SystemCapability.Multimedia.Image.Core
3377     * @since 18
3378     */
3379    SCALE_FIRST = 1,
3380
3381    /**
3382     * Crops and then scales the image.
3383     *
3384     * @syscap SystemCapability.Multimedia.Image.Core
3385     * @since 18
3386     */
3387    CROP_FIRST = 2
3388  }
3389
3390  /**
3391   * Describes the option for image packing.
3392   *
3393   * @typedef PackingOption
3394   * @syscap SystemCapability.Multimedia.Image.ImagePacker
3395   * @since 6
3396   */
3397  /**
3398   * Describes the option for image packing.
3399   *
3400   * @typedef PackingOption
3401   * @syscap SystemCapability.Multimedia.Image.ImagePacker
3402   * @crossplatform
3403   * @since 10
3404   */
3405  /**
3406   * Describes the option for image packing.
3407   *
3408   * @typedef PackingOption
3409   * @syscap SystemCapability.Multimedia.Image.ImagePacker
3410   * @crossplatform
3411   * @atomicservice
3412   * @since 11
3413   */
3414  interface PackingOption {
3415    /**
3416     * Multipurpose Internet Mail Extensions (MIME) format of the target image, for example, image/jpeg.
3417     *
3418     * @type { string }
3419     * @syscap SystemCapability.Multimedia.Image.ImagePacker
3420     * @since 6
3421     */
3422    /**
3423     * Multipurpose Internet Mail Extensions (MIME) format of the target image, for example, image/jpeg.
3424     *
3425     * @type { string }
3426     * @syscap SystemCapability.Multimedia.Image.ImagePacker
3427     * @crossplatform
3428     * @since 10
3429     */
3430    /**
3431     * Multipurpose Internet Mail Extensions (MIME) format of the target image, for example, image/jpeg.
3432     *
3433     * @type { string }
3434     * @syscap SystemCapability.Multimedia.Image.ImagePacker
3435     * @crossplatform
3436     * @atomicservice
3437     * @since 11
3438     */
3439    format: string;
3440
3441    /**
3442     * Quality of the target image. The value is an integer ranging from 0 to 100. A larger value indicates better.
3443     *
3444     * @type { number }
3445     * @syscap SystemCapability.Multimedia.Image.ImagePacker
3446     * @since 6
3447     */
3448    /**
3449     * Quality of the target image. The value is an integer ranging from 0 to 100. A larger value indicates better.
3450     *
3451     * @type { number }
3452     * @syscap SystemCapability.Multimedia.Image.ImagePacker
3453     * @crossplatform
3454     * @since 10
3455     */
3456    /**
3457     * Quality of the target image. The value is an integer ranging from 0 to 100. A larger value indicates better.
3458     *
3459     * @type { number }
3460     * @syscap SystemCapability.Multimedia.Image.ImagePacker
3461     * @crossplatform
3462     * @atomicservice
3463     * @since 11
3464     */
3465    quality: number;
3466
3467    /**
3468     * BufferSize of the target image.
3469     * If this bufferSize is less than or equal to 0, it will be converted to 10MB.
3470     *
3471     * @type { ?number }
3472     * @syscap SystemCapability.Multimedia.Image.ImagePacker
3473     * @since 9
3474     */
3475    /**
3476     * BufferSize of the target image.
3477     * If this bufferSize is less than or equal to 0, it will be converted to 10MB.
3478     *
3479     * @type { ?number }
3480     * @syscap SystemCapability.Multimedia.Image.ImagePacker
3481     * @crossplatform
3482     * @since 10
3483     */
3484    /**
3485     * BufferSize of the target image.
3486     * If this bufferSize is less than or equal to 0, it will be converted to 10MB.
3487     *
3488     * @type { ?number }
3489     * @syscap SystemCapability.Multimedia.Image.ImagePacker
3490     * @crossplatform
3491     * @atomicservice
3492     * @since 11
3493     */
3494    bufferSize?: number;
3495
3496    /**
3497     * The desired dynamic range of the target image.
3498     *
3499     * @type { ?PackingDynamicRange }
3500     * @syscap SystemCapability.Multimedia.Image.ImagePacker
3501     * @since 12
3502     */
3503    desiredDynamicRange?: PackingDynamicRange;
3504
3505    /**
3506     * Whether the image properties can be saved, like Exif.
3507     *
3508     * @type { ?boolean }
3509     * @syscap SystemCapability.Multimedia.Image.ImagePacker
3510     * @since 12
3511     */
3512    needsPackProperties?: boolean;
3513  }
3514
3515  /**
3516   * Describes the options for image sequence packing.
3517   *
3518   * @typedef PackingOptionsForSequence
3519   * @syscap SystemCapability.Multimedia.Image.ImagePacker
3520   * @since 18
3521   */
3522  interface PackingOptionsForSequence {
3523    /**
3524     * Specify the number of frames.
3525     *
3526     * @type { number }
3527     * @syscap SystemCapability.Multimedia.Image.ImagePacker
3528     * @since 18
3529     */
3530    frameCount: number;
3531
3532    /**
3533     * Specify the delay time for each frame of the dynamic image.
3534     * If the length is less than frameCount, the missing parts will be filling with the last value
3535     *
3536     * @type { Array<number> }
3537     * @syscap SystemCapability.Multimedia.Image.ImagePacker
3538     * @since 18
3539     */
3540    delayTimeList: Array<number>;
3541
3542    /**
3543     * Specify the disposal types of each frame in the image sequence packing.
3544     *
3545     * @type { ?Array<number> }
3546     * @syscap SystemCapability.Multimedia.Image.ImagePacker
3547     * @since 18
3548     */
3549    disposalTypes?: Array<number>;
3550
3551    /**
3552     * Specify the number of times the loop should, the range is [0, 65535]
3553     * If this loop is equal to 0, it will be infinite loop.
3554     *
3555     * @type { ?number }
3556     * @syscap SystemCapability.Multimedia.Image.ImagePacker
3557     * @since 18
3558     */
3559    loopCount?: number;
3560  }
3561
3562  /**
3563   * Describes image properties.
3564   *
3565   * @typedef GetImagePropertyOptions
3566   * @syscap SystemCapability.Multimedia.Image.ImageSource
3567   * @since 7
3568   * @deprecated since 11
3569   * @useinstead image.ImagePropertyOptions
3570   */
3571  /**
3572   * Describes image properties.
3573   *
3574   * @typedef GetImagePropertyOptions
3575   * @syscap SystemCapability.Multimedia.Image.ImageSource
3576   * @crossplatform
3577   * @since 10
3578   * @deprecated since 11
3579   * @useinstead image.ImagePropertyOptions
3580   */
3581  interface GetImagePropertyOptions {
3582    /**
3583     * Index of an image.
3584     *
3585     * @type { ?number }
3586     * @syscap SystemCapability.Multimedia.Image.ImageSource
3587     * @since 7
3588     * @deprecated since 11
3589     * @useinstead image.ImagePropertyOptions#index
3590     */
3591    /**
3592     * Index of an image.
3593     *
3594     * @type { ?number }
3595     * @syscap SystemCapability.Multimedia.Image.ImageSource
3596     * @crossplatform
3597     * @since 10
3598     * @deprecated since 11
3599     * @useinstead image.ImagePropertyOptions#index
3600     */
3601    index?: number;
3602
3603    /**
3604     * Default property value.
3605     *
3606     * @type { ?string }
3607     * @syscap SystemCapability.Multimedia.Image.ImageSource
3608     * @since 7
3609     * @deprecated since 11
3610     * @useinstead image.ImagePropertyOptions#defaultValue
3611     */
3612    /**
3613     * Default property value.
3614     *
3615     * @type { ?string }
3616     * @syscap SystemCapability.Multimedia.Image.ImageSource
3617     * @crossplatform
3618     * @since 10
3619     * @deprecated since 11
3620     * @useinstead image.ImagePropertyOptions#defaultValue
3621     */
3622    defaultValue?: string;
3623  }
3624
3625  /**
3626   * Describes image properties.
3627   *
3628   * @typedef ImagePropertyOptions
3629   * @syscap SystemCapability.Multimedia.Image.ImageSource
3630   * @crossplatform
3631   * @since 11
3632   */
3633  interface ImagePropertyOptions {
3634    /**
3635     * Index of an image.
3636     *
3637     * @type { ?number }
3638     * @syscap SystemCapability.Multimedia.Image.ImageSource
3639     * @crossplatform
3640     * @since 11
3641     */
3642    index?: number;
3643
3644    /**
3645     * Default property value.
3646     *
3647     * @type { ?string }
3648     * @syscap SystemCapability.Multimedia.Image.ImageSource
3649     * @crossplatform
3650     * @since 11
3651     */
3652    defaultValue?: string;
3653  }
3654
3655  /**
3656   * Describes image decoding parameters.
3657   *
3658   * @typedef DecodingOptions
3659   * @syscap SystemCapability.Multimedia.Image.ImageSource
3660   * @since 7
3661   */
3662  /**
3663   * Describes image decoding parameters.
3664   *
3665   * @typedef DecodingOptions
3666   * @syscap SystemCapability.Multimedia.Image.ImageSource
3667   * @crossplatform
3668   * @since 10
3669   */
3670  /**
3671   * Describes image decoding parameters.
3672   *
3673   * @typedef DecodingOptions
3674   * @syscap SystemCapability.Multimedia.Image.ImageSource
3675   * @crossplatform
3676   * @atomicservice
3677   * @since 11
3678   */
3679  /**
3680   * Describes image decoding parameters.
3681   *
3682   * @typedef DecodingOptions
3683   * @syscap SystemCapability.Multimedia.Image.ImageSource
3684   * @crossplatform
3685   * @form
3686   * @atomicservice
3687   * @since 12
3688   */
3689  interface DecodingOptions {
3690    /**
3691     * Number of image frames.
3692     *
3693     * @type { ?number }
3694     * @syscap SystemCapability.Multimedia.Image.ImageSource
3695     * @since 7
3696     */
3697    /**
3698     * Number of image frames.
3699     *
3700     * @type { ?number }
3701     * @syscap SystemCapability.Multimedia.Image.ImageSource
3702     * @crossplatform
3703     * @since 10
3704     */
3705    /**
3706     * Number of image frames.
3707     *
3708     * @type { ?number }
3709     * @syscap SystemCapability.Multimedia.Image.ImageSource
3710     * @crossplatform
3711     * @atomicservice
3712     * @since 11
3713     */
3714    /**
3715     * Number of image frames.
3716     *
3717     * @type { ?number }
3718     * @syscap SystemCapability.Multimedia.Image.ImageSource
3719     * @crossplatform
3720     * @form
3721     * @atomicservice
3722     * @since 12
3723     */
3724    index?: number;
3725
3726    /**
3727     * Sampling ratio of the image pixel map.
3728     *
3729     * @type { ?number }
3730     * @syscap SystemCapability.Multimedia.Image.ImageSource
3731     * @since 7
3732     */
3733    /**
3734     * Sampling ratio of the image pixel map.
3735     *
3736     * @type { ?number }
3737     * @syscap SystemCapability.Multimedia.Image.ImageSource
3738     * @crossplatform
3739     * @since 10
3740     */
3741    /**
3742     * Sampling ratio of the image pixel map.
3743     *
3744     * @type { ?number }
3745     * @syscap SystemCapability.Multimedia.Image.ImageSource
3746     * @crossplatform
3747     * @atomicservice
3748     * @since 11
3749     */
3750    /**
3751     * Sampling ratio of the image pixel map.
3752     *
3753     * @type { ?number }
3754     * @syscap SystemCapability.Multimedia.Image.ImageSource
3755     * @crossplatform
3756     * @form
3757     * @atomicservice
3758     * @since 12
3759     */
3760    sampleSize?: number;
3761
3762    /**
3763     * Rotation angle of the image pixel map. The value ranges from 0 to 360.
3764     *
3765     * @type { ?number }
3766     * @syscap SystemCapability.Multimedia.Image.ImageSource
3767     * @since 7
3768     */
3769    /**
3770     * Rotation angle of the image pixel map. The value ranges from 0 to 360.
3771     *
3772     * @type { ?number }
3773     * @syscap SystemCapability.Multimedia.Image.ImageSource
3774     * @crossplatform
3775     * @since 10
3776     */
3777    /**
3778     * Rotation angle of the image pixel map. The value ranges from 0 to 360.
3779     *
3780     * @type { ?number }
3781     * @syscap SystemCapability.Multimedia.Image.ImageSource
3782     * @crossplatform
3783     * @atomicservice
3784     * @since 11
3785     */
3786    /**
3787     * Rotation angle of the image pixel map. The value ranges from 0 to 360.
3788     *
3789     * @type { ?number }
3790     * @syscap SystemCapability.Multimedia.Image.ImageSource
3791     * @crossplatform
3792     * @form
3793     * @atomicservice
3794     * @since 12
3795     */
3796    rotate?: number;
3797
3798    /**
3799     * Whether the image pixel map is editable.
3800     *
3801     * @type { ?boolean }
3802     * @syscap SystemCapability.Multimedia.Image.ImageSource
3803     * @since 7
3804     */
3805    /**
3806     * Whether the image pixel map is editable.
3807     *
3808     * @type { ?boolean }
3809     * @syscap SystemCapability.Multimedia.Image.ImageSource
3810     * @crossplatform
3811     * @since 10
3812     */
3813    /**
3814     * Whether the image pixel map is editable.
3815     *
3816     * @type { ?boolean }
3817     * @syscap SystemCapability.Multimedia.Image.ImageSource
3818     * @crossplatform
3819     * @atomicservice
3820     * @since 11
3821     */
3822    /**
3823     * Whether the image pixel map is editable.
3824     *
3825     * @type { ?boolean }
3826     * @syscap SystemCapability.Multimedia.Image.ImageSource
3827     * @crossplatform
3828     * @form
3829     * @atomicservice
3830     * @since 12
3831     */
3832    editable?: boolean;
3833
3834    /**
3835     * Width and height of the image pixel map. The value (0, 0) indicates that the pixels are decoded
3836     * based on the original image size.
3837     *
3838     * @type { ?Size }
3839     * @syscap SystemCapability.Multimedia.Image.ImageSource
3840     * @since 7
3841     */
3842    /**
3843     * Width and height of the image pixel map. The value (0, 0) indicates that the pixels are decoded
3844     * based on the original image size.
3845     *
3846     * @type { ?Size }
3847     * @syscap SystemCapability.Multimedia.Image.ImageSource
3848     * @crossplatform
3849     * @since 10
3850     */
3851    /**
3852     * Width and height of the image pixel map. The value (0, 0) indicates that the pixels are decoded
3853     * based on the original image size.
3854     *
3855     * @type { ?Size }
3856     * @syscap SystemCapability.Multimedia.Image.ImageSource
3857     * @crossplatform
3858     * @atomicservice
3859     * @since 11
3860     */
3861    /**
3862     * Width and height of the image pixel map. The value (0, 0) indicates that the pixels are decoded
3863     * based on the original image size.
3864     *
3865     * @type { ?Size }
3866     * @syscap SystemCapability.Multimedia.Image.ImageSource
3867     * @crossplatform
3868     * @form
3869     * @atomicservice
3870     * @since 12
3871     */
3872    desiredSize?: Size;
3873
3874    /**
3875     * Cropping region of the image pixel map.
3876     *
3877     * @type { ?Region }
3878     * @syscap SystemCapability.Multimedia.Image.ImageSource
3879     * @since 7
3880     */
3881    /**
3882     * Cropping region of the image pixel map.
3883     *
3884     * @type { ?Region }
3885     * @syscap SystemCapability.Multimedia.Image.ImageSource
3886     * @crossplatform
3887     * @since 10
3888     */
3889    /**
3890     * Cropping region of the image pixel map.
3891     *
3892     * @type { ?Region }
3893     * @syscap SystemCapability.Multimedia.Image.ImageSource
3894     * @crossplatform
3895     * @atomicservice
3896     * @since 11
3897     */
3898    /**
3899     * Cropping region of the image pixel map.
3900     *
3901     * @type { ?Region }
3902     * @syscap SystemCapability.Multimedia.Image.ImageSource
3903     * @crossplatform
3904     * @form
3905     * @atomicservice
3906     * @since 12
3907     */
3908    desiredRegion?: Region;
3909
3910    /**
3911     * Data format of the image pixel map.
3912     *
3913     * @type { ?PixelMapFormat }
3914     * @syscap SystemCapability.Multimedia.Image.ImageSource
3915     * @since 7
3916     */
3917    /**
3918     * Data format of the image pixel map.
3919     *
3920     * @type { ?PixelMapFormat }
3921     * @syscap SystemCapability.Multimedia.Image.ImageSource
3922     * @crossplatform
3923     * @since 10
3924     */
3925    /**
3926     * Data format of the image pixel map.
3927     *
3928     * @type { ?PixelMapFormat }
3929     * @syscap SystemCapability.Multimedia.Image.ImageSource
3930     * @crossplatform
3931     * @atomicservice
3932     * @since 11
3933     */
3934    /**
3935     * Data format of the image pixel map.
3936     *
3937     * @type { ?PixelMapFormat }
3938     * @syscap SystemCapability.Multimedia.Image.ImageSource
3939     * @crossplatform
3940     * @form
3941     * @atomicservice
3942     * @since 12
3943     */
3944    desiredPixelFormat?: PixelMapFormat;
3945
3946    /**
3947     * The density for image pixel map.
3948     *
3949     * @type { ?number }
3950     * @syscap SystemCapability.Multimedia.Image.ImageSource
3951     * @since 9
3952     */
3953    /**
3954     * The density for image pixel map.
3955     *
3956     * @type { ?number }
3957     * @syscap SystemCapability.Multimedia.Image.ImageSource
3958     * @crossplatform
3959     * @since 10
3960     */
3961    /**
3962     * The density for image pixel map.
3963     *
3964     * @type { ?number }
3965     * @syscap SystemCapability.Multimedia.Image.ImageSource
3966     * @crossplatform
3967     * @atomicservice
3968     * @since 11
3969     */
3970    /**
3971     * The density for image pixel map.
3972     *
3973     * @type { ?number }
3974     * @syscap SystemCapability.Multimedia.Image.ImageSource
3975     * @crossplatform
3976     * @form
3977     * @atomicservice
3978     * @since 12
3979     */
3980    fitDensity?: number;
3981
3982    /**
3983     * Color space of the image pixel map.
3984     *
3985     * @type { ?colorSpaceManager.ColorSpaceManager }
3986     * @syscap SystemCapability.Multimedia.Image.ImageSource
3987     * @crossplatform
3988     * @since 11
3989     */
3990    desiredColorSpace?: colorSpaceManager.ColorSpaceManager;
3991
3992    /**
3993     * The desired dynamic range of the image pixelmap.
3994     *
3995     * @type { ?DecodingDynamicRange }
3996     * @syscap SystemCapability.Multimedia.Image.ImageSource
3997     * @since 12
3998     */
3999    desiredDynamicRange?: DecodingDynamicRange;
4000
4001    /**
4002     * Resolution Quality of the image.
4003     *
4004     * @type { ?ResolutionQuality }
4005     * @syscap SystemCapability.Multimedia.Image.ImageSource
4006     * @systemapi
4007     * @since 12
4008     */
4009    resolutionQuality?: ResolutionQuality;
4010
4011    /**
4012     * Describes the strategy for executing the cropping and scaling operations when both desiredSize and desiredRegion are specified.
4013     *
4014     * @type { ?CropAndScaleStrategy }
4015     * @syscap SystemCapability.Multimedia.Image.ImageSource
4016     * @since 18
4017     */
4018    cropAndScaleStrategy?: CropAndScaleStrategy;
4019  }
4020
4021  /**
4022   * Describes image color components.
4023   *
4024   * @typedef Component
4025   * @syscap SystemCapability.Multimedia.Image.Core
4026   * @since 9
4027   */
4028  interface Component {
4029    /**
4030     * Component type.
4031     *
4032     * @type { ComponentType }
4033     * @readonly
4034     * @syscap SystemCapability.Multimedia.Image.Core
4035     * @since 9
4036     */
4037    readonly componentType: ComponentType;
4038
4039    /**
4040     * Row stride.
4041     *
4042     * @type { number }
4043     * @readonly
4044     * @syscap SystemCapability.Multimedia.Image.Core
4045     * @since 9
4046     */
4047    readonly rowStride: number;
4048
4049    /**
4050     * Pixel stride.
4051     *
4052     * @type { number }
4053     * @readonly
4054     * @syscap SystemCapability.Multimedia.Image.Core
4055     * @since 9
4056     */
4057    readonly pixelStride: number;
4058
4059    /**
4060     * Component buffer.
4061     *
4062     * @type { ArrayBuffer }
4063     * @readonly
4064     * @syscap SystemCapability.Multimedia.Image.Core
4065     * @since 9
4066     */
4067    readonly byteBuffer: ArrayBuffer;
4068  }
4069
4070  /**
4071   * Initialization options for pixelmap.
4072   *
4073   * @typedef InitializationOptions
4074   * @syscap SystemCapability.Multimedia.Image.Core
4075   * @since 8
4076   */
4077  /**
4078   * Initialization options for pixelmap.
4079   *
4080   * @typedef InitializationOptions
4081   * @syscap SystemCapability.Multimedia.Image.Core
4082   * @crossplatform
4083   * @since 10
4084   */
4085  /**
4086   * Initialization options for pixelmap.
4087   *
4088   * @typedef InitializationOptions
4089   * @syscap SystemCapability.Multimedia.Image.Core
4090   * @crossplatform
4091   * @atomicservice
4092   * @since 11
4093   */
4094  /**
4095   * Initialization options for pixelmap.
4096   *
4097   * @typedef InitializationOptions
4098   * @syscap SystemCapability.Multimedia.Image.Core
4099   * @crossplatform
4100   * @form
4101   * @atomicservice
4102   * @since 12
4103   */
4104  interface InitializationOptions {
4105    /**
4106     * PixelMap size.
4107     *
4108     * @type { Size }
4109     * @syscap SystemCapability.Multimedia.Image.Core
4110     * @since 8
4111     */
4112    /**
4113     * PixelMap size.
4114     *
4115     * @type { Size }
4116     * @syscap SystemCapability.Multimedia.Image.Core
4117     * @crossplatform
4118     * @since 10
4119     */
4120    /**
4121     * PixelMap size.
4122     *
4123     * @type { Size }
4124     * @syscap SystemCapability.Multimedia.Image.Core
4125     * @crossplatform
4126     * @atomicservice
4127     * @since 11
4128     */
4129    /**
4130     * PixelMap size.
4131     *
4132     * @type { Size }
4133     * @syscap SystemCapability.Multimedia.Image.Core
4134     * @crossplatform
4135     * @form
4136     * @atomicservice
4137     * @since 12
4138     */
4139    size: Size;
4140
4141    /**
4142     * PixelMap source format.
4143     *
4144     * @type { ?PixelMapFormat }
4145     * @syscap SystemCapability.Multimedia.Image.Core
4146     * @since 12
4147     */
4148    srcPixelFormat?: PixelMapFormat;
4149
4150    /**
4151     * PixelMap expected format.
4152     *
4153     * @type { ?PixelMapFormat }
4154     * @syscap SystemCapability.Multimedia.Image.Core
4155     * @since 8
4156     */
4157    /**
4158     * PixelMap expected format.
4159     *
4160     * @type { ?PixelMapFormat }
4161     * @syscap SystemCapability.Multimedia.Image.Core
4162     * @crossplatform
4163     * @since 10
4164     */
4165    /**
4166     * PixelMap expected format.
4167     *
4168     * @type { ?PixelMapFormat }
4169     * @syscap SystemCapability.Multimedia.Image.Core
4170     * @crossplatform
4171     * @atomicservice
4172     * @since 11
4173     */
4174    /**
4175     * PixelMap expected format.
4176     *
4177     * @type { ?PixelMapFormat }
4178     * @syscap SystemCapability.Multimedia.Image.Core
4179     * @crossplatform
4180     * @form
4181     * @atomicservice
4182     * @since 12
4183     */
4184    pixelFormat?: PixelMapFormat;
4185
4186    /**
4187     * Editable or not.
4188     *
4189     * @type { ?boolean }
4190     * @syscap SystemCapability.Multimedia.Image.Core
4191     * @since 8
4192     */
4193    /**
4194     * Editable or not.
4195     *
4196     * @type { ?boolean }
4197     * @syscap SystemCapability.Multimedia.Image.Core
4198     * @crossplatform
4199     * @since 10
4200     */
4201    /**
4202     * Editable or not.
4203     *
4204     * @type { ?boolean }
4205     * @syscap SystemCapability.Multimedia.Image.Core
4206     * @crossplatform
4207     * @atomicservice
4208     * @since 11
4209     */
4210    /**
4211     * Editable or not.
4212     *
4213     * @type { ?boolean }
4214     * @syscap SystemCapability.Multimedia.Image.Core
4215     * @crossplatform
4216     * @form
4217     * @atomicservice
4218     * @since 12
4219     */
4220    editable?: boolean;
4221
4222    /**
4223     * PixelMap expected alpha type.
4224     *
4225     * @type { ?AlphaType }
4226     * @syscap SystemCapability.Multimedia.Image.Core
4227     * @since 9
4228     */
4229    /**
4230     * PixelMap expected alpha type.
4231     *
4232     * @type { ?AlphaType }
4233     * @syscap SystemCapability.Multimedia.Image.Core
4234     * @crossplatform
4235     * @since 10
4236     */
4237    /**
4238     * PixelMap expected alpha type.
4239     *
4240     * @type { ?AlphaType }
4241     * @syscap SystemCapability.Multimedia.Image.Core
4242     * @crossplatform
4243     * @atomicservice
4244     * @since 11
4245     */
4246    /**
4247     * PixelMap expected alpha type.
4248     *
4249     * @type { ?AlphaType }
4250     * @syscap SystemCapability.Multimedia.Image.Core
4251     * @crossplatform
4252     * @form
4253     * @atomicservice
4254     * @since 12
4255     */
4256    alphaType?: AlphaType;
4257
4258    /**
4259     * PixelMap expected scaling effect.
4260     *
4261     * @type { ?ScaleMode }
4262     * @syscap SystemCapability.Multimedia.Image.Core
4263     * @since 9
4264     */
4265    /**
4266     * PixelMap expected scaling effect.
4267     *
4268     * @type { ?ScaleMode }
4269     * @syscap SystemCapability.Multimedia.Image.Core
4270     * @crossplatform
4271     * @since 10
4272     */
4273    /**
4274     * PixelMap expected scaling effect.
4275     *
4276     * @type { ?ScaleMode }
4277     * @syscap SystemCapability.Multimedia.Image.Core
4278     * @crossplatform
4279     * @atomicservice
4280     * @since 11
4281     */
4282    /**
4283     * PixelMap expected scaling effect.
4284     *
4285     * @type { ?ScaleMode }
4286     * @syscap SystemCapability.Multimedia.Image.Core
4287     * @crossplatform
4288     * @form
4289     * @atomicservice
4290     * @since 12
4291     */
4292    scaleMode?: ScaleMode;
4293  }
4294
4295  /**
4296   * Initialization options for ImageSource.
4297   *
4298   * @typedef SourceOptions
4299   * @syscap SystemCapability.Multimedia.Image.Core
4300   * @since 9
4301   */
4302  /**
4303   * Initialization options for ImageSource.
4304   *
4305   * @typedef SourceOptions
4306   * @syscap SystemCapability.Multimedia.Image.Core
4307   * @crossplatform
4308   * @since 10
4309   */
4310  /**
4311   * Initialization options for ImageSource.
4312   *
4313   * @typedef SourceOptions
4314   * @syscap SystemCapability.Multimedia.Image.Core
4315   * @crossplatform
4316   * @atomicservice
4317   * @since 11
4318   */
4319  /**
4320   * Initialization options for ImageSource.
4321   *
4322   * @typedef SourceOptions
4323   * @syscap SystemCapability.Multimedia.Image.Core
4324   * @crossplatform
4325   * @form
4326   * @atomicservice
4327   * @since 12
4328   */
4329  interface SourceOptions {
4330    /**
4331     * The density for ImageSource.
4332     *
4333     * @type { number }
4334     * @syscap SystemCapability.Multimedia.Image.Core
4335     * @since 9
4336     */
4337    /**
4338     * The density for ImageSource.
4339     *
4340     * @type { number }
4341     * @syscap SystemCapability.Multimedia.Image.Core
4342     * @crossplatform
4343     * @since 10
4344     */
4345    /**
4346     * The density for ImageSource.
4347     *
4348     * @type { number }
4349     * @syscap SystemCapability.Multimedia.Image.Core
4350     * @crossplatform
4351     * @atomicservice
4352     * @since 11
4353     */
4354    /**
4355     * The density for ImageSource.
4356     *
4357     * @type { number }
4358     * @syscap SystemCapability.Multimedia.Image.Core
4359     * @crossplatform
4360     * @form
4361     * @atomicservice
4362     * @since 12
4363     */
4364    sourceDensity: number;
4365
4366    /**
4367     * PixelMap expected format.
4368     *
4369     * @type { ?PixelMapFormat }
4370     * @syscap SystemCapability.Multimedia.Image.Core
4371     * @since 9
4372     */
4373    /**
4374     * PixelMap expected format.
4375     *
4376     * @type { ?PixelMapFormat }
4377     * @syscap SystemCapability.Multimedia.Image.Core
4378     * @crossplatform
4379     * @since 10
4380     */
4381    /**
4382     * PixelMap expected format.
4383     *
4384     * @type { ?PixelMapFormat }
4385     * @syscap SystemCapability.Multimedia.Image.Core
4386     * @crossplatform
4387     * @atomicservice
4388     * @since 11
4389     */
4390    /**
4391     * PixelMap expected format.
4392     *
4393     * @type { ?PixelMapFormat }
4394     * @syscap SystemCapability.Multimedia.Image.Core
4395     * @crossplatform
4396     * @form
4397     * @atomicservice
4398     * @since 12
4399     */
4400    sourcePixelFormat?: PixelMapFormat;
4401
4402    /**
4403     * PixelMap size.
4404     *
4405     * @type { ?Size }
4406     * @syscap SystemCapability.Multimedia.Image.Core
4407     * @since 9
4408     */
4409    /**
4410     * PixelMap size.
4411     *
4412     * @type { ?Size }
4413     * @syscap SystemCapability.Multimedia.Image.Core
4414     * @crossplatform
4415     * @since 10
4416     */
4417    /**
4418     * PixelMap size.
4419     *
4420     * @type { ?Size }
4421     * @syscap SystemCapability.Multimedia.Image.Core
4422     * @crossplatform
4423     * @atomicservice
4424     * @since 11
4425     */
4426    /**
4427     * PixelMap size.
4428     *
4429     * @type { ?Size }
4430     * @syscap SystemCapability.Multimedia.Image.Core
4431     * @crossplatform
4432     * @form
4433     * @atomicservice
4434     * @since 12
4435     */
4436    sourceSize?: Size;
4437  }
4438
4439  /**
4440   * Value for HDR_STATIC_METADATA.
4441   *
4442   * @typedef HdrStaticMetadata
4443   * @syscap SystemCapability.Multimedia.Image.Core
4444   * @since 12
4445   */
4446  interface HdrStaticMetadata {
4447    /**
4448     * The X-coordinate of the primary colors. The length of the array is three. Store in the order of r, g, b.
4449     *
4450     * @type { Array<number> }
4451     * @syscap SystemCapability.Multimedia.Image.Core
4452     * @since 12
4453     */
4454    displayPrimariesX: Array<number>;
4455
4456    /**
4457     * The Y-coordinate of the primary colors. The length of the array is three. Store in the order of r, g, b.
4458     *
4459     * @type { Array<number> }
4460     * @syscap SystemCapability.Multimedia.Image.Core
4461     * @since 12
4462     */
4463    displayPrimariesY: Array<number>;
4464
4465    /**
4466     * The X-coordinate of the white point value.
4467     *
4468     * @type { number }
4469     * @syscap SystemCapability.Multimedia.Image.Core
4470     * @since 12
4471     */
4472    whitePointX: number;
4473
4474    /**
4475     * The Y-coordinate of the white point value.
4476     *
4477     * @type { number }
4478     * @syscap SystemCapability.Multimedia.Image.Core
4479     * @since 12
4480     */
4481    whitePointY: number;
4482
4483    /**
4484     * Max luminance.
4485     *
4486     * @type { number }
4487     * @syscap SystemCapability.Multimedia.Image.Core
4488     * @since 12
4489     */
4490    maxLuminance: number;
4491
4492    /**
4493     * Min luminance.
4494     *
4495     * @type { number }
4496     * @syscap SystemCapability.Multimedia.Image.Core
4497     * @since 12
4498     */
4499    minLuminance: number;
4500
4501    /**
4502     * Maximum brightness of displayed content.
4503     *
4504     * @type { number }
4505     * @syscap SystemCapability.Multimedia.Image.Core
4506     * @since 12
4507     */
4508    maxContentLightLevel: number;
4509
4510    /**
4511     * Maximum average brightness of displayed content.
4512     *
4513     * @type { number }
4514     * @syscap SystemCapability.Multimedia.Image.Core
4515     * @since 12
4516     */
4517    maxFrameAverageLightLevel: number;
4518  }
4519
4520  /**
4521   * The per-component metadata.
4522   *
4523   * @typedef GainmapChannel
4524   * @syscap SystemCapability.Multimedia.Image.Core
4525   * @since 12
4526   */
4527  interface GainmapChannel {
4528    /**
4529     * The per-component max gain map values.
4530     *
4531     * @type { number }
4532     * @syscap SystemCapability.Multimedia.Image.Core
4533     * @since 12
4534     */
4535    gainmapMax: number;
4536
4537    /**
4538     * The per-component min gain map values.
4539     *
4540     * @type { number }
4541     * @syscap SystemCapability.Multimedia.Image.Core
4542     * @since 12
4543     */
4544    gainmapMin: number;
4545
4546    /**
4547     * The per-component gamma values.
4548     *
4549     * @type { number }
4550     * @syscap SystemCapability.Multimedia.Image.Core
4551     * @since 12
4552     */
4553    gamma: number;
4554
4555    /**
4556     * The per-component baseline offset.
4557     *
4558     * @type { number }
4559     * @syscap SystemCapability.Multimedia.Image.Core
4560     * @since 12
4561     */
4562    baseOffset: number;
4563
4564    /**
4565     * The per-component alternate offset.
4566     *
4567     * @type { number }
4568     * @syscap SystemCapability.Multimedia.Image.Core
4569     * @since 12
4570     */
4571    alternateOffset: number;
4572  }
4573
4574  /**
4575   * Values for HDR_GAINMAP_METADATA.
4576   *
4577   * @typedef HdrGainmapMetadata
4578   * @syscap SystemCapability.Multimedia.Image.Core
4579   * @since 12
4580   */
4581  interface HdrGainmapMetadata {
4582    /**
4583     * The version used by the writer.
4584     *
4585     * @type { number }
4586     * @syscap SystemCapability.Multimedia.Image.Core
4587     * @since 12
4588     */
4589    writerVersion: number;
4590
4591    /**
4592     * The minimum version a parser needs to understand.
4593     *
4594     * @type { number }
4595     * @syscap SystemCapability.Multimedia.Image.Core
4596     * @since 12
4597     */
4598    miniVersion: number;
4599
4600    /**
4601     * The number of gain map channels, with a value of 1 or 3.
4602     *
4603     * @type { number }
4604     * @syscap SystemCapability.Multimedia.Image.Core
4605     * @since 12
4606     */
4607    gainmapChannelCount: number;
4608
4609    /**
4610     * Indicate whether to use the color space of the base image.
4611     *
4612     * @type { boolean }
4613     * @syscap SystemCapability.Multimedia.Image.Core
4614     * @since 12
4615     */
4616    useBaseColorFlag: boolean;
4617
4618    /**
4619     * The baseline hdr headroom.
4620     *
4621     * @type { number }
4622     * @syscap SystemCapability.Multimedia.Image.Core
4623     * @since 12
4624     */
4625    baseHeadroom: number;
4626
4627    /**
4628     * The alternate hdr headroom.
4629     *
4630     * @type { number }
4631     * @syscap SystemCapability.Multimedia.Image.Core
4632     * @since 12
4633     */
4634    alternateHeadroom: number;
4635
4636    /**
4637     * The per-channel metadata.
4638     *
4639     * @type { Array<GainmapChannel> }
4640     * @syscap SystemCapability.Multimedia.Image.Core
4641     * @since 12
4642     */
4643    channels: Array<GainmapChannel>;
4644  }
4645
4646  /**
4647   * Defines the hdr metadata value.
4648   *
4649   * @typedef {HdrMetadataType | HdrStaticMetadata | ArrayBuffer | HdrGainmapMetadata} HdrMetadataValue
4650   * @syscap SystemCapability.Multimedia.Image.Core
4651   * @since 12
4652   */
4653  type HdrMetadataValue = HdrMetadataType | HdrStaticMetadata | ArrayBuffer | HdrGainmapMetadata;
4654
4655  /**
4656   * Create pixelmap by data buffer.
4657   *
4658   * @param { ArrayBuffer } colors The image color buffer.
4659   * @param { InitializationOptions } options Initialization options for pixelmap.
4660   * @param { AsyncCallback<PixelMap> } callback Callback used to return the PixelMap object.
4661   * @syscap SystemCapability.Multimedia.Image.Core
4662   * @since 8
4663   */
4664  /**
4665   * Create pixelmap by data buffer.
4666   *
4667   * @param { ArrayBuffer } colors The image color buffer.
4668   * @param { InitializationOptions } options Initialization options for pixelmap.
4669   * @param { AsyncCallback<PixelMap> } callback Callback used to return the PixelMap object.
4670   * @syscap SystemCapability.Multimedia.Image.Core
4671   * @crossplatform
4672   * @since 10
4673   */
4674  function createPixelMap(colors: ArrayBuffer, options: InitializationOptions, callback: AsyncCallback<PixelMap>): void;
4675
4676  /**
4677   * Create pixelmap by data buffer.
4678   *
4679   * @param { ArrayBuffer } colors The image color buffer.
4680   * @param { InitializationOptions } options Initialization options for pixelmap.
4681   * @returns { Promise<PixelMap> } A Promise instance used to return the PixelMap object.
4682   * @syscap SystemCapability.Multimedia.Image.Core
4683   * @since 8
4684   */
4685  /**
4686   * Create pixelmap by data buffer.
4687   *
4688   * @param { ArrayBuffer } colors The image color buffer.
4689   * @param { InitializationOptions } options Initialization options for pixelmap.
4690   * @returns { Promise<PixelMap> } A Promise instance used to return the PixelMap object.
4691   * @syscap SystemCapability.Multimedia.Image.Core
4692   * @crossplatform
4693   * @since 10
4694   */
4695  function createPixelMap(colors: ArrayBuffer, options: InitializationOptions): Promise<PixelMap>;
4696
4697  /**
4698   * Create pixelmap by data buffer.
4699   *
4700   * @param { ArrayBuffer } colors The image color buffer.
4701   * @param { InitializationOptions } options Initialization options for pixelmap.
4702   * @returns { PixelMap } Returns the instance if the operation is successful;Otherwise, return undefined.
4703   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified.
4704   * 2.Incorrect parameter types. 3.Parameter verification failed.
4705   * @syscap SystemCapability.Multimedia.Image.Core
4706   * @crossplatform
4707   * @since 12
4708   */
4709  function createPixelMapSync(colors: ArrayBuffer, options: InitializationOptions): PixelMap;
4710
4711  /**
4712   * Create an empty pixelmap.
4713   *
4714   * @param { InitializationOptions } options Initialization options for pixelmap.
4715   * @returns { PixelMap } Returns the instance if the operation is successful;Otherwise, return undefined.
4716   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified.
4717   * 2.Incorrect parameter types. 3.Parameter verification failed.
4718   * @syscap SystemCapability.Multimedia.Image.Core
4719   * @crossplatform
4720   * @since 12
4721   */
4722function createPixelMapSync(options: InitializationOptions): PixelMap;
4723
4724  /**
4725   * Transforms pixelmap from unpremultiplied alpha format to premultiplied alpha format.
4726   *
4727   * @param { PixelMap } src The source pixelmap.
4728   * @param { PixelMap } dst The destination pixelmap.
4729   * @param { AsyncCallback<void> } callback Callback used to return the operation result.
4730   * If the operation fails, an error message is returned.
4731   * @throws { BusinessError } 62980103 - The image data is not supported.
4732   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified.
4733   * 2.Incorrect parameter types. 3.Parameter verification failed.
4734   * @throws { BusinessError } 62980246 - Failed to read the pixelMap.
4735   * @throws { BusinessError } 62980248 - Pixelmap not allow modify.
4736   * @syscap SystemCapability.Multimedia.Image.Core
4737   * @crossplatform
4738   * @since 12
4739   */
4740function createPremultipliedPixelMap(src: PixelMap, dst: PixelMap, callback: AsyncCallback<void>): void;
4741
4742  /**
4743   * Transforms pixelmap from premultiplied alpha format to unpremultiplied alpha format.
4744   *
4745   * @param { PixelMap } src The source pixelMap.
4746   * @param { PixelMap } dst The destination pixelmap.
4747   * @returns { Promise<void> } A Promise instance used to return the operation result.
4748   * If the operation fails, an error message is returned.
4749   * @throws { BusinessError } 62980103 - The image data is not supported.
4750   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified.
4751   * 2.Incorrect parameter types. 3.Parameter verification failed.
4752   * @throws { BusinessError } 62980246 - Failed to read the pixelMap.
4753   * @throws { BusinessError } 62980248 - Pixelmap not allow modify.
4754   * @syscap SystemCapability.Multimedia.Image.Core
4755   * @crossplatform
4756   * @since 12
4757   */
4758function createPremultipliedPixelMap(src: PixelMap, dst: PixelMap): Promise<void>;
4759
4760  /**
4761   * Transforms pixelmap from premultiplied alpha format to unpremultiplied alpha format.
4762   *
4763   * @param { PixelMap } src The source pixelmap.
4764   * @param { PixelMap } dst The destination pixelmap.
4765   * @param { AsyncCallback<void> } callback Callback used to return the operation result.
4766   * If the operation fails, an error message is returned.
4767   * @throws { BusinessError } 62980103 - The image data is not supported.
4768   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified.
4769   * 2.Incorrect parameter types. 3.Parameter verification failed.
4770   * @throws { BusinessError } 62980246 - Failed to read the pixelMap.
4771   * @throws { BusinessError } 62980248 - Pixelmap not allow modify.
4772   * @syscap SystemCapability.Multimedia.Image.Core
4773   * @crossplatform
4774   * @since 12
4775   */
4776function createUnpremultipliedPixelMap(src: PixelMap, dst: PixelMap, callback: AsyncCallback<void>): void;
4777
4778  /**
4779   * Transforms pixelmap from premultiplied alpha format to unpremultiplied alpha format.
4780   *
4781   * @param { PixelMap } src The source pixelmap.
4782   * @param { PixelMap } dst The destination pixelmap.
4783   * @returns { Promise<void> } A Promise instance used to return the operation result.
4784   * If the operation fails, an error message is returned.
4785   * @throws { BusinessError } 62980103 - The image data is not supported.
4786   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified.
4787   * 2.Incorrect parameter types. 3.Parameter verification failed.
4788   * @throws { BusinessError } 62980246 - Failed to read the pixelMap.
4789   * @throws { BusinessError } 62980248 - Pixelmap not allow modify.
4790   * @syscap SystemCapability.Multimedia.Image.Core
4791   * @crossplatform
4792   * @since 12
4793   */
4794function createUnpremultipliedPixelMap(src: PixelMap, dst: PixelMap): Promise<void>;
4795
4796  /**
4797   * Creates a PixelMap object based on MessageSequence parameter.
4798   *
4799   * @param { rpc.MessageSequence } sequence - rpc.MessageSequence parameter.
4800   * @returns { PixelMap } Returns the instance if the operation is successful;Otherwise, an exception will be thrown.
4801   * @throws { BusinessError } 62980096 - Operation failed.
4802   * @throws { BusinessError } 62980097 - IPC error.
4803   * @throws { BusinessError } 62980115 - Invalid input parameter.
4804   * @throws { BusinessError } 62980105 - Failed to get the data.
4805   * @throws { BusinessError } 62980177 - Abnormal API environment.
4806   * @throws { BusinessError } 62980178 - Failed to create the PixelMap.
4807   * @throws { BusinessError } 62980179 - Abnormal buffer size.
4808   * @throws { BusinessError } 62980180 - FD mapping failed.
4809   * @throws { BusinessError } 62980246 - Failed to read the PixelMap.
4810   * @syscap SystemCapability.Multimedia.Image.Core
4811   * @since 11
4812   */
4813  function createPixelMapFromParcel(sequence: rpc.MessageSequence): PixelMap;
4814
4815  /**
4816   * Creates a PixelMap object from surface id.
4817   *
4818   * @param { string } surfaceId - surface id.
4819   * @param { Region } region - The region to surface.
4820   * @returns { Promise<PixelMap> } Returns the instance if the operation is successful;Otherwise, an exception will be thrown.
4821   * @throws { BusinessError } 62980115 - If the image parameter invalid.
4822   * @throws { BusinessError } 62980105 - Failed to get the data.
4823   * @throws { BusinessError } 62980178 - Failed to create the PixelMap.
4824   * @syscap SystemCapability.Multimedia.Image.Core
4825   * @since 11
4826   */
4827  function createPixelMapFromSurface(surfaceId: string, region: Region): Promise<PixelMap>;
4828
4829  /**
4830   * Creates a PixelMap object from surface id.
4831   *
4832   * @param { string } surfaceId - surface id.
4833   * @param { Region } region - The region to surface.
4834   * @returns { PixelMap } Returns the instance if the operation is successful;Otherwise, an exception will be thrown.
4835   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified.
4836   *     2.Incorrect parameter types. 3.Parameter verification failed.
4837   * @throws { BusinessError } 62980105 - Failed to get the data.
4838   * @throws { BusinessError } 62980178 - Failed to create the PixelMap.
4839   * @syscap SystemCapability.Multimedia.Image.Core
4840   * @since 12
4841   */
4842  function createPixelMapFromSurfaceSync(surfaceId: string, region: Region): PixelMap;
4843
4844  /**
4845   * Creates a PixelMap object from surface id.
4846   *
4847   * @param { string } surfaceId - surface id.
4848   * @returns { Promise<PixelMap> } Returns the instance if the operation is successful;Otherwise, an exception will be thrown.
4849   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified.
4850   *     2.Incorrect parameter types. 3.Parameter verification failed.
4851   * @throws { BusinessError } 62980105 - Failed to get the data.
4852   * @throws { BusinessError } 62980178 - Failed to create the PixelMap.
4853   * @syscap SystemCapability.Multimedia.Image.Core
4854   * @since 15
4855   */
4856  function createPixelMapFromSurface(surfaceId: string): Promise<PixelMap>;
4857
4858  /**
4859   * Creates a PixelMap object from surface id.
4860   *
4861   * @param { string } surfaceId - surface id.
4862   * @returns { PixelMap } Returns the instance if the operation is successful;Otherwise, an exception will be thrown.
4863   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified.
4864   *     2.Incorrect parameter types. 3.Parameter verification failed.
4865   * @throws { BusinessError } 62980105 - Failed to get the data.
4866   * @throws { BusinessError } 62980178 - Failed to create the PixelMap.
4867   * @syscap SystemCapability.Multimedia.Image.Core
4868   * @since 15
4869   */
4870  function createPixelMapFromSurfaceSync(surfaceId: string): PixelMap;
4871
4872  /**
4873   * Creates an ImageSource instance based on the URI.
4874   *
4875   * @param { string } uri Image source URI.
4876   * @returns { ImageSource } returns the ImageSource instance if the operation is successful; returns undefined otherwise.
4877   * @syscap SystemCapability.Multimedia.Image.ImageSource
4878   * @since 6
4879   */
4880  /**
4881   * Creates an ImageSource instance based on the URI.
4882   *
4883   * @param { string } uri Image source URI.
4884   * @returns { ImageSource } returns the ImageSource instance if the operation is successful; returns undefined otherwise.
4885   * @syscap SystemCapability.Multimedia.Image.ImageSource
4886   * @crossplatform
4887   * @since 10
4888   */
4889  /**
4890   * Creates an ImageSource instance based on the URI.
4891   *
4892   * @param { string } uri Image source URI.
4893   * @returns { ImageSource } returns the ImageSource instance if the operation is successful; returns undefined otherwise.
4894   * @syscap SystemCapability.Multimedia.Image.ImageSource
4895   * @crossplatform
4896   * @atomicservice
4897   * @since 11
4898   */
4899  function createImageSource(uri: string): ImageSource;
4900
4901  /**
4902   * Creates an ImageSource instance based on the URI.
4903   *
4904   * @param { string } uri Image source URI.
4905   * @param { SourceOptions } options The config of Image source.
4906   * @returns { ImageSource } Returns the ImageSource instance if the operation is successful; returns undefined otherwise.
4907   * @syscap SystemCapability.Multimedia.Image.ImageSource
4908   * @since 9
4909   */
4910  /**
4911   * Creates an ImageSource instance based on the URI.
4912   *
4913   * @param { string } uri Image source URI.
4914   * @param { SourceOptions } options The config of Image source.
4915   * @returns { ImageSource } Returns the ImageSource instance if the operation is successful; returns undefined otherwise.
4916   * @syscap SystemCapability.Multimedia.Image.ImageSource
4917   * @crossplatform
4918   * @since 10
4919   */
4920  /**
4921   * Creates an ImageSource instance based on the URI.
4922   *
4923   * @param { string } uri Image source URI.
4924   * @param { SourceOptions } options The config of Image source.
4925   * @returns { ImageSource } Returns the ImageSource instance if the operation is successful; returns undefined otherwise.
4926   * @syscap SystemCapability.Multimedia.Image.ImageSource
4927   * @crossplatform
4928   * @atomicservice
4929   * @since 11
4930   */
4931  /**
4932   * Creates an ImageSource instance based on the URI.
4933   *
4934   * @param { string } uri Image source URI.
4935   * @param { SourceOptions } options The config of Image source.
4936   * @returns { ImageSource } Returns the ImageSource instance if the operation is successful; returns undefined otherwise.
4937   * @syscap SystemCapability.Multimedia.Image.ImageSource
4938   * @crossplatform
4939   * @form
4940   * @atomicservice
4941   * @since 12
4942   */
4943  function createImageSource(uri: string, options: SourceOptions): ImageSource;
4944
4945  /**
4946   * Creates an ImageSource instance based on the file descriptor.
4947   *
4948   * @param { number } fd ID of a file descriptor.
4949   * @returns { ImageSource } Returns the ImageSource instance if the operation is successful; returns undefined otherwise.
4950   * @syscap SystemCapability.Multimedia.Image.ImageSource
4951   * @since 7
4952   */
4953  /**
4954   * Creates an ImageSource instance based on the file descriptor.
4955   *
4956   * @param { number } fd ID of a file descriptor.
4957   * @returns { ImageSource } Returns the ImageSource instance if the operation is successful; returns undefined otherwise.
4958   * @syscap SystemCapability.Multimedia.Image.ImageSource
4959   * @crossplatform
4960   * @since 10
4961   */
4962  /**
4963   * Creates an ImageSource instance based on the file descriptor.
4964   *
4965   * @param { number } fd ID of a file descriptor.
4966   * @returns { ImageSource } Returns the ImageSource instance if the operation is successful; returns undefined otherwise.
4967   * @syscap SystemCapability.Multimedia.Image.ImageSource
4968   * @crossplatform
4969   * @atomicservice
4970   * @since 11
4971   */
4972  function createImageSource(fd: number): ImageSource;
4973
4974  /**
4975   * Creates an ImageSource instance based on the file descriptor.
4976   *
4977   * @param { number } fd ID of a file descriptor.
4978   * @param { SourceOptions } options The config of Image source.
4979   * @returns { ImageSource } Returns the ImageSource instance if the operation is successful; returns undefined otherwise.
4980   * @syscap SystemCapability.Multimedia.Image.ImageSource
4981   * @since 9
4982   */
4983  /**
4984   * Creates an ImageSource instance based on the file descriptor.
4985   *
4986   * @param { number } fd ID of a file descriptor.
4987   * @param { SourceOptions } options The config of Image source.
4988   * @returns { ImageSource } Returns the ImageSource instance if the operation is successful; returns undefined otherwise.
4989   * @syscap SystemCapability.Multimedia.Image.ImageSource
4990   * @crossplatform
4991   * @since 10
4992   */
4993  /**
4994   * Creates an ImageSource instance based on the file descriptor.
4995   *
4996   * @param { number } fd ID of a file descriptor.
4997   * @param { SourceOptions } options The config of Image source.
4998   * @returns { ImageSource } Returns the ImageSource instance if the operation is successful; returns undefined otherwise.
4999   * @syscap SystemCapability.Multimedia.Image.ImageSource
5000   * @crossplatform
5001   * @atomicservice
5002   * @since 11
5003   */
5004  /**
5005   * Creates an ImageSource instance based on the file descriptor.
5006   *
5007   * @param { number } fd ID of a file descriptor.
5008   * @param { SourceOptions } options The config of Image source.
5009   * @returns { ImageSource } Returns the ImageSource instance if the operation is successful; returns undefined otherwise.
5010   * @syscap SystemCapability.Multimedia.Image.ImageSource
5011   * @crossplatform
5012   * @form
5013   * @atomicservice
5014   * @since 12
5015   */
5016  function createImageSource(fd: number, options: SourceOptions): ImageSource;
5017
5018  /**
5019   * Creates an ImageSource instance based on the buffer.
5020   *
5021   * @param { ArrayBuffer } buf The buffer of the image.
5022   * @returns { ImageSource } Returns the ImageSource instance if the operation is successful; returns undefined otherwise.
5023   * @syscap SystemCapability.Multimedia.Image.ImageSource
5024   * @since 9
5025   */
5026  /**
5027   * Creates an ImageSource instance based on the buffer.
5028   *
5029   * @param { ArrayBuffer } buf The buffer of the image.
5030   * @returns { ImageSource } Returns the ImageSource instance if the operation is successful; returns undefined otherwise.
5031   * @syscap SystemCapability.Multimedia.Image.ImageSource
5032   * @crossplatform
5033   * @since 10
5034   */
5035  /**
5036   * Creates an ImageSource instance based on the buffer.
5037   *
5038   * @param { ArrayBuffer } buf The buffer of the image.
5039   * @returns { ImageSource } Returns the ImageSource instance if the operation is successful; returns undefined otherwise.
5040   * @syscap SystemCapability.Multimedia.Image.ImageSource
5041   * @crossplatform
5042   * @atomicservice
5043   * @since 11
5044   */
5045  /**
5046   * Creates an ImageSource instance based on the buffer.
5047   *
5048   * @param { ArrayBuffer } buf The buffer of the image.
5049   * @returns { ImageSource } Returns the ImageSource instance if the operation is successful; returns undefined otherwise.
5050   * @syscap SystemCapability.Multimedia.Image.ImageSource
5051   * @crossplatform
5052   * @form
5053   * @atomicservice
5054   * @since 12
5055   */
5056  function createImageSource(buf: ArrayBuffer): ImageSource;
5057
5058  /**
5059   * Creates an ImageSource instance based on the buffer.
5060   *
5061   * @param { ArrayBuffer } buf The buffer of the image.
5062   * @param { SourceOptions } options The config of Image source.
5063   * @returns { ImageSource } Returns the ImageSource instance if the operation is successful; returns undefined otherwise.
5064   * @syscap SystemCapability.Multimedia.Image.ImageSource
5065   * @since 9
5066   */
5067  /**
5068   * Creates an ImageSource instance based on the buffer.
5069   *
5070   * @param { ArrayBuffer } buf The buffer of the image.
5071   * @param { SourceOptions } options The config of Image source.
5072   * @returns { ImageSource } Returns the ImageSource instance if the operation is successful; returns undefined otherwise.
5073   * @syscap SystemCapability.Multimedia.Image.ImageSource
5074   * @crossplatform
5075   * @since 10
5076   */
5077  /**
5078   * Creates an ImageSource instance based on the buffer.
5079   *
5080   * @param { ArrayBuffer } buf The buffer of the image.
5081   * @param { SourceOptions } options The config of Image source.
5082   * @returns { ImageSource } Returns the ImageSource instance if the operation is successful; returns undefined otherwise.
5083   * @syscap SystemCapability.Multimedia.Image.ImageSource
5084   * @crossplatform
5085   * @atomicservice
5086   * @since 11
5087   */
5088  /**
5089   * Creates an ImageSource instance based on the buffer.
5090   *
5091   * @param { ArrayBuffer } buf The buffer of the image.
5092   * @param { SourceOptions } options The config of Image source.
5093   * @returns { ImageSource } Returns the ImageSource instance if the operation is successful; returns undefined otherwise.
5094   * @syscap SystemCapability.Multimedia.Image.ImageSource
5095   * @crossplatform
5096   * @form
5097   * @atomicservice
5098   * @since 12
5099   */
5100  function createImageSource(buf: ArrayBuffer, options: SourceOptions): ImageSource;
5101
5102  /**
5103   * Creates an ImageSource instance based on the raw file descriptor.
5104   *
5105   * @param { resourceManager.RawFileDescriptor } rawfile The raw file descriptor of the image.
5106   * @param { SourceOptions } options The config of Image source.
5107   * @returns { ImageSource } Returns the ImageSource instance if the operation is successful; returns undefined otherwise.
5108   * @syscap SystemCapability.Multimedia.Image.ImageSource
5109   * @crossplatform
5110   * @atomicservice
5111   * @since 11
5112   */
5113  function createImageSource(rawfile: resourceManager.RawFileDescriptor, options?: SourceOptions): ImageSource;
5114
5115  /**
5116   * Creates an ImageSource instance based on the buffer in incremental.
5117   *
5118   * @param { ArrayBuffer } buf The buffer of the image.
5119   * @returns { ImageSource } Returns the ImageSource instance if the operation is successful; returns undefined otherwise.
5120   * @syscap SystemCapability.Multimedia.Image.ImageSource
5121   * @since 9
5122   */
5123  /**
5124   * Creates an ImageSource instance based on the buffer in incremental.
5125   *
5126   * @param { ArrayBuffer } buf The buffer of the image.
5127   * @returns { ImageSource } Returns the ImageSource instance if the operation is successful; returns undefined otherwise.
5128   * @syscap SystemCapability.Multimedia.Image.ImageSource
5129   * @crossplatform
5130   * @since 10
5131   */
5132  function CreateIncrementalSource(buf: ArrayBuffer): ImageSource;
5133
5134  /**
5135   * Creates an ImageSource instance based on the buffer in incremental.
5136   *
5137   * @param { ArrayBuffer } buf The buffer of the image.
5138   * @param { SourceOptions } options The config of source.
5139   * @returns { ImageSource } Returns the ImageSource instance if the operation is successful; returns undefined otherwise.
5140   * @syscap SystemCapability.Multimedia.Image.ImageSource
5141   * @since 9
5142   */
5143  /**
5144   * Creates an ImageSource instance based on the buffer in incremental.
5145   *
5146   * @param { ArrayBuffer } buf The buffer of the image.
5147   * @param { SourceOptions } options The config of source.
5148   * @returns { ImageSource } Returns the ImageSource instance if the operation is successful; returns undefined otherwise.
5149   * @syscap SystemCapability.Multimedia.Image.ImageSource
5150   * @crossplatform
5151   * @since 10
5152   */
5153  function CreateIncrementalSource(buf: ArrayBuffer, options?: SourceOptions): ImageSource;
5154
5155  /**
5156   * Creates an ImagePacker instance.
5157   *
5158   * @returns { ImagePacker } Returns the ImagePacker instance if the operation is successful; returns null otherwise.
5159   * @syscap SystemCapability.Multimedia.Image.ImagePacker
5160   * @since 6
5161   */
5162  /**
5163   * Creates an ImagePacker instance.
5164   *
5165   * @returns { ImagePacker } Returns the ImagePacker instance if the operation is successful; returns null otherwise.
5166   * @syscap SystemCapability.Multimedia.Image.ImagePacker
5167   * @crossplatform
5168   * @since 10
5169   */
5170  /**
5171   * Creates an ImagePacker instance.
5172   *
5173   * @returns { ImagePacker } Returns the ImagePacker instance if the operation is successful; returns null otherwise.
5174   * @syscap SystemCapability.Multimedia.Image.ImagePacker
5175   * @crossplatform
5176   * @atomicservice
5177   * @since 11
5178   */
5179  function createImagePacker(): ImagePacker;
5180
5181  /**
5182   * Creates an ImageReceiver instance.
5183   *
5184   * @param { number } width The default width in pixels of the Images that this receiver will produce.
5185   * @param { number } height The default height in pixels of the Images that this receiver will produce.
5186   * @param { number } format The format of the Image that this receiver will produce. This must be one of the
5187   *            {@link ImageFormat} constants.
5188   * @param { number } capacity The maximum number of images the user will want to access simultaneously.
5189   * @returns { ImageReceiver } Returns the ImageReceiver instance if the operation is successful; returns null otherwise.
5190   * @syscap SystemCapability.Multimedia.Image.ImageReceiver
5191   * @since 9
5192   * @deprecated since 11
5193   * @useinstead image#createImageReceiver
5194   */
5195  function createImageReceiver(width: number, height: number, format: number, capacity: number): ImageReceiver;
5196
5197  /**
5198   * Creates an ImageReceiver instance.
5199   *
5200   * @param { Size } size - The default {@link Size} in pixels of the Images that this receiver will produce.
5201   * @param { ImageFormat } format - The format of the Image that this receiver will produce. This must be one of the
5202   *            {@link ImageFormat} constants.
5203   * @param { number } capacity - The maximum number of images the user will want to access simultaneously.
5204   * @returns { ImageReceiver } Returns the ImageReceiver instance if the operation is successful; returns null otherwise.
5205   * @throws { BusinessError } 401 - Parameter error.Possible causes: 1.Mandatory parameters are left unspecified; 2.Incorrect parameter types;
5206   * @syscap SystemCapability.Multimedia.Image.ImageReceiver
5207   * @since 11
5208   */
5209  function createImageReceiver(size: Size, format: ImageFormat, capacity: number): ImageReceiver;
5210
5211  /**
5212   * Creates an ImageCreator instance.
5213   *
5214   * @param { number } width The default width in pixels of the Images that this creator will produce.
5215   * @param { number } height The default height in pixels of the Images that this creator will produce.
5216   * @param { number } format The format of the Image that this creator will produce. This must be one of the
5217   *            {@link ImageFormat} constants.
5218   * @param { number } capacity The maximum number of images the user will want to access simultaneously.
5219   * @returns { ImageCreator } Returns the ImageCreator instance if the operation is successful; returns null otherwise.
5220   * @syscap SystemCapability.Multimedia.Image.ImageCreator
5221   * @since 9
5222   * @deprecated since 11
5223   * @useinstead image#createImageCreator
5224   */
5225  function createImageCreator(width: number, height: number, format: number, capacity: number): ImageCreator;
5226
5227  /**
5228   * Creates an ImageCreator instance.
5229   *
5230   * @param { Size } size - The default {@link Size} in pixels of the Images that this creator will produce.
5231   * @param { ImageFormat } format - The format of the Image that this creator will produce. This must be one of the
5232   *            {@link ImageFormat} constants.
5233   * @param { number } capacity - The maximum number of images the user will want to access simultaneously.
5234   * @returns { ImageCreator } Returns the ImageCreator instance if the operation is successful; returns null otherwise.
5235   * @throws { BusinessError } 401 - Parameter error.Possible causes: 1.Mandatory parameters are left unspecified; 2.Incorrect parameter types;
5236   * @syscap SystemCapability.Multimedia.Image.ImageCreator
5237   * @since 11
5238   */
5239  function createImageCreator(size: Size, format: ImageFormat, capacity: number): ImageCreator;
5240  /**
5241   * PixelMap instance.
5242   *
5243   * @typedef PixelMap
5244   * @syscap SystemCapability.Multimedia.Image.Core
5245   * @since 7
5246   */
5247  /**
5248   * PixelMap instance.
5249   *
5250   * @typedef PixelMap
5251   * @syscap SystemCapability.Multimedia.Image.Core
5252   * @crossplatform
5253   * @since 10
5254   */
5255  /**
5256   * PixelMap instance.
5257   *
5258   * @typedef PixelMap
5259   * @syscap SystemCapability.Multimedia.Image.Core
5260   * @crossplatform
5261   * @atomicservice
5262   * @since 11
5263   */
5264  /**
5265   * PixelMap instance.
5266   *
5267   * @typedef PixelMap
5268   * @syscap SystemCapability.Multimedia.Image.Core
5269   * @crossplatform
5270   * @form
5271   * @atomicservice
5272   * @since 12
5273   */
5274  interface PixelMap {
5275    /**
5276     * Whether the image pixel map can be edited.
5277     *
5278     * @type { boolean }
5279     * @readonly
5280     * @syscap SystemCapability.Multimedia.Image.Core
5281     * @since 7
5282     */
5283    /**
5284     * Whether the image pixel map can be edited.
5285     *
5286     * @type { boolean }
5287     * @readonly
5288     * @syscap SystemCapability.Multimedia.Image.Core
5289     * @crossplatform
5290     * @since 10
5291     */
5292    /**
5293     * Whether the image pixel map can be edited.
5294     *
5295     * @type { boolean }
5296     * @readonly
5297     * @syscap SystemCapability.Multimedia.Image.Core
5298     * @crossplatform
5299     * @atomicservice
5300     * @since 11
5301     */
5302    /**
5303     * Whether the image pixel map can be edited.
5304     *
5305     * @type { boolean }
5306     * @readonly
5307     * @syscap SystemCapability.Multimedia.Image.Core
5308     * @crossplatform
5309     * @form
5310     * @atomicservice
5311     * @since 12
5312     */
5313    readonly isEditable: boolean;
5314
5315    /**
5316     * Reads image pixel map data and writes the data to an ArrayBuffer. This method uses
5317     * a promise to return the result.
5318     *
5319     * @param { ArrayBuffer } dst A buffer to which the image pixel map data will be written.
5320     * @returns { Promise<void> } A Promise instance used to return the operation result. If the operation fails, an error message is returned.
5321     * @syscap SystemCapability.Multimedia.Image.Core
5322     * @since 7
5323     */
5324    /**
5325     * Reads image pixel map data and writes the data to an ArrayBuffer. This method uses
5326     * a promise to return the result.
5327     *
5328     * @param { ArrayBuffer } dst A buffer to which the image pixel map data will be written.
5329     * @returns { Promise<void> } A Promise instance used to return the operation result. If the operation fails, an error message is returned.
5330     * @syscap SystemCapability.Multimedia.Image.Core
5331     * @crossplatform
5332     * @since 10
5333     */
5334    /**
5335     * Reads image pixel map data and writes the data to an ArrayBuffer. This method uses
5336     * a promise to return the result.
5337     *
5338     * @param { ArrayBuffer } dst A buffer to which the image pixel map data will be written.
5339     * @returns { Promise<void> } A Promise instance used to return the operation result. If the operation fails, an error message is returned.
5340     * @syscap SystemCapability.Multimedia.Image.Core
5341     * @crossplatform
5342     * @atomicservice
5343     * @since 11
5344     */
5345    /**
5346     * Reads image pixel map data and writes the data to an ArrayBuffer. This method uses
5347     * a promise to return the result.
5348     *
5349     * @param { ArrayBuffer } dst A buffer to which the image pixel map data will be written.
5350     * @returns { Promise<void> } A Promise instance used to return the operation result. If the operation fails, an error message is returned.
5351     * @syscap SystemCapability.Multimedia.Image.Core
5352     * @crossplatform
5353     * @form
5354     * @atomicservice
5355     * @since 12
5356     */
5357    readPixelsToBuffer(dst: ArrayBuffer): Promise<void>;
5358
5359    /**
5360     * Reads image pixel map data and writes the data to an ArrayBuffer. This method uses
5361     * a callback to return the result.
5362     *
5363     * @param { ArrayBuffer } dst A buffer to which the image pixel map data will be written.
5364     * @param { AsyncCallback<void> } callback Callback used to return the operation result. If the operation fails, an error message is returned.
5365     * @syscap SystemCapability.Multimedia.Image.Core
5366     * @since 7
5367     */
5368    /**
5369     * Reads image pixel map data and writes the data to an ArrayBuffer. This method uses
5370     * a callback to return the result.
5371     *
5372     * @param { ArrayBuffer } dst A buffer to which the image pixel map data will be written.
5373     * @param { AsyncCallback<void> } callback Callback used to return the operation result. If the operation fails, an error message is returned.
5374     * @syscap SystemCapability.Multimedia.Image.Core
5375     * @crossplatform
5376     * @since 10
5377     */
5378    /**
5379     * Reads image pixel map data and writes the data to an ArrayBuffer. This method uses
5380     * a callback to return the result.
5381     *
5382     * @param { ArrayBuffer } dst A buffer to which the image pixel map data will be written.
5383     * @param { AsyncCallback<void> } callback Callback used to return the operation result. If the operation fails, an error message is returned.
5384     * @syscap SystemCapability.Multimedia.Image.Core
5385     * @crossplatform
5386     * @atomicservice
5387     * @since 11
5388     */
5389    /**
5390     * Reads image pixel map data and writes the data to an ArrayBuffer. This method uses
5391     * a callback to return the result.
5392     *
5393     * @param { ArrayBuffer } dst A buffer to which the image pixel map data will be written.
5394     * @param { AsyncCallback<void> } callback Callback used to return the operation result. If the operation fails, an error message is returned.
5395     * @syscap SystemCapability.Multimedia.Image.Core
5396     * @crossplatform
5397     * @form
5398     * @atomicservice
5399     * @since 12
5400     */
5401    readPixelsToBuffer(dst: ArrayBuffer, callback: AsyncCallback<void>): void;
5402
5403    /**
5404     * Reads image pixel map data and writes the data to an ArrayBuffer.
5405     *
5406     * @param { ArrayBuffer } dst A buffer to which the image pixel map data will be written.
5407     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified.
5408     * 2.Incorrect parameter types. 3.Parameter verification failed.
5409     * @throws { BusinessError } 501 - Resource Unavailable.
5410     * @syscap SystemCapability.Multimedia.Image.Core
5411     * @crossplatform
5412     * @form
5413     * @atomicservice
5414     * @since 12
5415     */
5416    readPixelsToBufferSync(dst: ArrayBuffer): void;
5417
5418    /**
5419     * Reads image pixel map data in an area. This method uses a promise to return the data read.
5420     *
5421     * @param { PositionArea } area Area from which the image pixel map data will be read.
5422     * @returns { Promise<void> } A Promise instance used to return the operation result. If the operation fails, an error message is returned.
5423     * @syscap SystemCapability.Multimedia.Image.Core
5424     * @since 7
5425     */
5426    /**
5427     * Reads image pixel map data in an area. This method uses a promise to return the data read.
5428     *
5429     * @param { PositionArea } area Area from which the image pixel map data will be read.
5430     * @returns { Promise<void> } A Promise instance used to return the operation result. If the operation fails, an error message is returned.
5431     * @syscap SystemCapability.Multimedia.Image.Core
5432     * @crossplatform
5433     * @since 10
5434     */
5435    /**
5436     * Reads image pixel map data in an area. This method uses a promise to return the data read.
5437     *
5438     * @param { PositionArea } area Area from which the image pixel map data will be read.
5439     * @returns { Promise<void> } A Promise instance used to return the operation result. If the operation fails, an error message is returned.
5440     * @syscap SystemCapability.Multimedia.Image.Core
5441     * @crossplatform
5442     * @atomicservice
5443     * @since 11
5444     */
5445    /**
5446     * Reads image pixel map data in an area. This method uses a promise to return the data read.
5447     *
5448     * @param { PositionArea } area Area from which the image pixel map data will be read.
5449     * @returns { Promise<void> } A Promise instance used to return the operation result. If the operation fails, an error message is returned.
5450     * @syscap SystemCapability.Multimedia.Image.Core
5451     * @crossplatform
5452     * @form
5453     * @atomicservice
5454     * @since 12
5455     */
5456    readPixels(area: PositionArea): Promise<void>;
5457
5458    /**
5459     * Reads image pixel map data in an area. This method uses a callback to return the data read.
5460     *
5461     * @param { PositionArea } area Area from which the image pixel map data will be read.
5462     * @param { AsyncCallback<void> } callback Callback used to return the operation result. If the operation fails, an error message is returned.
5463     * @syscap SystemCapability.Multimedia.Image.Core
5464     * @since 7
5465     */
5466    /**
5467     * Reads image pixel map data in an area. This method uses a callback to return the data read.
5468     *
5469     * @param { PositionArea } area Area from which the image pixel map data will be read.
5470     * @param { AsyncCallback<void> } callback Callback used to return the operation result. If the operation fails, an error message is returned.
5471     * @syscap SystemCapability.Multimedia.Image.Core
5472     * @crossplatform
5473     * @since 10
5474     */
5475    /**
5476     * Reads image pixel map data in an area. This method uses a callback to return the data read.
5477     *
5478     * @param { PositionArea } area Area from which the image pixel map data will be read.
5479     * @param { AsyncCallback<void> } callback Callback used to return the operation result. If the operation fails, an error message is returned.
5480     * @syscap SystemCapability.Multimedia.Image.Core
5481     * @crossplatform
5482     * @atomicservice
5483     * @since 11
5484     */
5485    /**
5486     * Reads image pixel map data in an area. This method uses a callback to return the data read.
5487     *
5488     * @param { PositionArea } area Area from which the image pixel map data will be read.
5489     * @param { AsyncCallback<void> } callback Callback used to return the operation result. If the operation fails, an error message is returned.
5490     * @syscap SystemCapability.Multimedia.Image.Core
5491     * @crossplatform
5492     * @form
5493     * @atomicservice
5494     * @since 12
5495     */
5496    readPixels(area: PositionArea, callback: AsyncCallback<void>): void;
5497
5498    /**
5499     * Reads image pixel map data in an area.
5500     *
5501     * @param { PositionArea } area Area from which the image pixel map data will be read.
5502     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified.
5503     * 2.Incorrect parameter types. 3.Parameter verification failed.
5504     * @throws { BusinessError } 501 - Resource Unavailable.
5505     * @syscap SystemCapability.Multimedia.Image.Core
5506     * @crossplatform
5507     * @atomicservice
5508     * @since 12
5509     */
5510    readPixelsSync(area: PositionArea): void;
5511
5512    /**
5513     * Writes image pixel map data to the specified area. This method uses a promise to return
5514     * the operation result.
5515     *
5516     * @param { PositionArea } area Area to which the image pixel map data will be written.
5517     * @returns { Promise<void> } A Promise instance used to return the operation result. If the operation fails, an error message is returned.
5518     * @syscap SystemCapability.Multimedia.Image.Core
5519     * @since 7
5520     */
5521    /**
5522     * Writes image pixel map data to the specified area. This method uses a promise to return
5523     * the operation result.
5524     *
5525     * @param { PositionArea } area Area to which the image pixel map data will be written.
5526     * @returns { Promise<void> } A Promise instance used to return the operation result. If the operation fails, an error message is returned.
5527     * @syscap SystemCapability.Multimedia.Image.Core
5528     * @crossplatform
5529     * @since 10
5530     */
5531    /**
5532     * Writes image pixel map data to the specified area. This method uses a promise to return
5533     * the operation result.
5534     *
5535     * @param { PositionArea } area Area to which the image pixel map data will be written.
5536     * @returns { Promise<void> } A Promise instance used to return the operation result. If the operation fails, an error message is returned.
5537     * @syscap SystemCapability.Multimedia.Image.Core
5538     * @crossplatform
5539     * @atomicservice
5540     * @since 11
5541     */
5542    /**
5543     * Writes image pixel map data to the specified area. This method uses a promise to return
5544     * the operation result.
5545     *
5546     * @param { PositionArea } area Area to which the image pixel map data will be written.
5547     * @returns { Promise<void> } A Promise instance used to return the operation result. If the operation fails, an error message is returned.
5548     * @syscap SystemCapability.Multimedia.Image.Core
5549     * @crossplatform
5550     * @form
5551     * @atomicservice
5552     * @since 12
5553     */
5554    writePixels(area: PositionArea): Promise<void>;
5555
5556    /**
5557     * Writes image pixel map data to the specified area. This method uses a callback to return
5558     * the operation result.
5559     *
5560     * @param { PositionArea } area Area to which the image pixel map data will be written.
5561     * @param { AsyncCallback<void> } callback Callback used to return the operation result. If the operation fails, an error message is returned.
5562     * @syscap SystemCapability.Multimedia.Image.Core
5563     * @since 7
5564     */
5565    /**
5566     * Writes image pixel map data to the specified area. This method uses a callback to return
5567     * the operation result.
5568     *
5569     * @param { PositionArea } area Area to which the image pixel map data will be written.
5570     * @param { AsyncCallback<void> } callback Callback used to return the operation result. If the operation fails, an error message is returned.
5571     * @syscap SystemCapability.Multimedia.Image.Core
5572     * @crossplatform
5573     * @since 10
5574     */
5575    /**
5576     * Writes image pixel map data to the specified area. This method uses a callback to return
5577     * the operation result.
5578     *
5579     * @param { PositionArea } area Area to which the image pixel map data will be written.
5580     * @param { AsyncCallback<void> } callback Callback used to return the operation result. If the operation fails, an error message is returned.
5581     * @syscap SystemCapability.Multimedia.Image.Core
5582     * @crossplatform
5583     * @atomicservice
5584     * @since 11
5585     */
5586    /**
5587     * Writes image pixel map data to the specified area. This method uses a callback to return
5588     * the operation result.
5589     *
5590     * @param { PositionArea } area Area to which the image pixel map data will be written.
5591     * @param { AsyncCallback<void> } callback Callback used to return the operation result. If the operation fails, an error message is returned.
5592     * @syscap SystemCapability.Multimedia.Image.Core
5593     * @crossplatform
5594     * @form
5595     * @atomicservice
5596     * @since 12
5597     */
5598    writePixels(area: PositionArea, callback: AsyncCallback<void>): void;
5599
5600    /**
5601     * Writes image pixel map data to the specified area.
5602     *
5603     * @param { PositionArea } area Area to which the image pixel map data will be written.
5604     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified.
5605     * 2.Incorrect parameter types. 3.Parameter verification failed.
5606     * @throws { BusinessError } 501 - Resource Unavailable.
5607     * @syscap SystemCapability.Multimedia.Image.Core
5608     * @crossplatform
5609     * @form
5610     * @atomicservice
5611     * @since 12
5612     */
5613    writePixelsSync(area: PositionArea): void;
5614    /**
5615     * Reads image data in an ArrayBuffer and writes the data to a PixelMap object. This method
5616     * uses a promise to return the result.
5617     *
5618     * @param { ArrayBuffer } src A buffer from which the image data will be read.
5619     * @returns { Promise<void> } A Promise instance used to return the operation result. If the operation fails, an error message is returned.
5620     * @syscap SystemCapability.Multimedia.Image.Core
5621     * @since 7
5622     */
5623    /**
5624     * Reads image data in an ArrayBuffer and writes the data to a PixelMap object. This method
5625     * uses a promise to return the result.
5626     *
5627     * @param { ArrayBuffer } src A buffer from which the image data will be read.
5628     * @returns { Promise<void> } A Promise instance used to return the operation result. If the operation fails, an error message is returned.
5629     * @syscap SystemCapability.Multimedia.Image.Core
5630     * @crossplatform
5631     * @since 10
5632     */
5633    /**
5634     * Reads image data in an ArrayBuffer and writes the data to a PixelMap object. This method
5635     * uses a promise to return the result.
5636     *
5637     * @param { ArrayBuffer } src A buffer from which the image data will be read.
5638     * @returns { Promise<void> } A Promise instance used to return the operation result. If the operation fails, an error message is returned.
5639     * @syscap SystemCapability.Multimedia.Image.Core
5640     * @crossplatform
5641     * @atomicservice
5642     * @since 11
5643     */
5644    /**
5645     * Reads image data in an ArrayBuffer and writes the data to a PixelMap object. This method
5646     * uses a promise to return the result.
5647     *
5648     * @param { ArrayBuffer } src A buffer from which the image data will be read.
5649     * @returns { Promise<void> } A Promise instance used to return the operation result. If the operation fails, an error message is returned.
5650     * @syscap SystemCapability.Multimedia.Image.Core
5651     * @crossplatform
5652     * @form
5653     * @atomicservice
5654     * @since 12
5655     */
5656    writeBufferToPixels(src: ArrayBuffer): Promise<void>;
5657
5658    /**
5659     * Reads image data in an ArrayBuffer and writes the data to a PixelMap object. This method
5660     * uses a callback to return the result.
5661     *
5662     * @param { ArrayBuffer } src A buffer from which the image data will be read.
5663     * @param { AsyncCallback<void> } callback Callback used to return the operation result. If the operation fails, an error message is returned.
5664     * @syscap SystemCapability.Multimedia.Image.Core
5665     * @since 7
5666     */
5667    /**
5668     * Reads image data in an ArrayBuffer and writes the data to a PixelMap object. This method
5669     * uses a callback to return the result.
5670     *
5671     * @param { ArrayBuffer } src A buffer from which the image data will be read.
5672     * @param { AsyncCallback<void> } callback Callback used to return the operation result. If the operation fails, an error message is returned.
5673     * @syscap SystemCapability.Multimedia.Image.Core
5674     * @crossplatform
5675     * @since 10
5676     */
5677    /**
5678     * Reads image data in an ArrayBuffer and writes the data to a PixelMap object. This method
5679     * uses a callback to return the result.
5680     *
5681     * @param { ArrayBuffer } src A buffer from which the image data will be read.
5682     * @param { AsyncCallback<void> } callback Callback used to return the operation result. If the operation fails, an error message is returned.
5683     * @syscap SystemCapability.Multimedia.Image.Core
5684     * @crossplatform
5685     * @atomicservice
5686     * @since 11
5687     */
5688    /**
5689     * Reads image data in an ArrayBuffer and writes the data to a PixelMap object. This method
5690     * uses a callback to return the result.
5691     *
5692     * @param { ArrayBuffer } src A buffer from which the image data will be read.
5693     * @param { AsyncCallback<void> } callback Callback used to return the operation result. If the operation fails, an error message is returned.
5694     * @syscap SystemCapability.Multimedia.Image.Core
5695     * @crossplatform
5696     * @form
5697     * @atomicservice
5698     * @since 12
5699     */
5700    writeBufferToPixels(src: ArrayBuffer, callback: AsyncCallback<void>): void;
5701
5702    /**
5703     * Reads image data in an ArrayBuffer and writes the data to a PixelMap object.
5704     *
5705     * @param { ArrayBuffer } src A buffer from which the image data will be read.
5706     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified.
5707     * 2.Incorrect parameter types. 3.Parameter verification failed.
5708     * @throws { BusinessError } 501 - Resource Unavailable.
5709     * @syscap SystemCapability.Multimedia.Image.Core
5710     * @crossplatform
5711     * @atomicservice
5712     * @since 12
5713     */
5714    writeBufferToPixelsSync(src: ArrayBuffer): void;
5715
5716    /**
5717     * Convert pixelmap to standard dynamic range.
5718     *
5719     * @returns { Promise<void> } A Promise instance used to return the operation result. If the operation fails, an error message is returned.
5720     * @throws { BusinessError } 62980137 - Invalid image operation.
5721     * @syscap SystemCapability.Multimedia.Image.Core
5722     * @since 12
5723     */
5724    toSdr(): Promise<void>;
5725
5726    /**
5727     * Obtains pixel map information about this image. This method uses a promise to return the information.
5728     *
5729     * @returns { Promise<ImageInfo> } A Promise instance used to return the image pixel map information. If the operation fails, an error message is returned.
5730     * @syscap SystemCapability.Multimedia.Image.Core
5731     * @since 7
5732     */
5733    /**
5734     * Obtains pixel map information about this image. This method uses a promise to return the information.
5735     *
5736     * @returns { Promise<ImageInfo> } A Promise instance used to return the image pixel map information. If the operation fails, an error message is returned.
5737     * @syscap SystemCapability.Multimedia.Image.Core
5738     * @crossplatform
5739     * @since 10
5740     */
5741    /**
5742     * Obtains pixel map information about this image. This method uses a promise to return the information.
5743     *
5744     * @returns { Promise<ImageInfo> } A Promise instance used to return the image pixel map information. If the operation fails, an error message is returned.
5745     * @syscap SystemCapability.Multimedia.Image.Core
5746     * @crossplatform
5747     * @atomicservice
5748     * @since 11
5749     */
5750    /**
5751     * Obtains pixel map information about this image. This method uses a promise to return the information.
5752     *
5753     * @returns { Promise<ImageInfo> } A Promise instance used to return the image pixel map information. If the operation fails, an error message is returned.
5754     * @syscap SystemCapability.Multimedia.Image.Core
5755     * @crossplatform
5756     * @form
5757     * @atomicservice
5758     * @since 12
5759     */
5760    getImageInfo(): Promise<ImageInfo>;
5761
5762    /**
5763     * Obtains pixel map information about this image. This method uses a callback to return the information.
5764     *
5765     * @param { AsyncCallback<ImageInfo> } callback Callback used to return the image pixel map information.
5766     * If the operation fails, an error message is returned.
5767     * @syscap SystemCapability.Multimedia.Image.Core
5768     * @since 7
5769     */
5770    /**
5771     * Obtains pixel map information about this image. This method uses a callback to return the information.
5772     *
5773     * @param { AsyncCallback<ImageInfo> } callback Callback used to return the image pixel map information.
5774     * If the operation fails, an error message is returned.
5775     * @syscap SystemCapability.Multimedia.Image.Core
5776     * @crossplatform
5777     * @since 10
5778     */
5779    /**
5780     * Obtains pixel map information about this image. This method uses a callback to return the information.
5781     *
5782     * @param { AsyncCallback<ImageInfo> } callback Callback used to return the image pixel map information.
5783     * If the operation fails, an error message is returned.
5784     * @syscap SystemCapability.Multimedia.Image.Core
5785     * @crossplatform
5786     * @atomicservice
5787     * @since 11
5788     */
5789    /**
5790     * Obtains pixel map information about this image. This method uses a callback to return the information.
5791     *
5792     * @param { AsyncCallback<ImageInfo> } callback Callback used to return the image pixel map information.
5793     * If the operation fails, an error message is returned.
5794     * @syscap SystemCapability.Multimedia.Image.Core
5795     * @crossplatform
5796     * @form
5797     * @atomicservice
5798     * @since 12
5799     */
5800    getImageInfo(callback: AsyncCallback<ImageInfo>): void;
5801
5802    /**
5803     * Get image information from image source.
5804     *
5805     * @returns { ImageInfo } the image information.
5806     * @throws { BusinessError } 501 - Resource Unavailable.
5807     * @syscap SystemCapability.Multimedia.Image.ImageSource
5808     * @crossplatform
5809     * @form
5810     * @atomicservice
5811     * @since 12
5812     */
5813    getImageInfoSync(): ImageInfo;
5814
5815    /**
5816     * Obtains the number of bytes in each line of the image pixel map.
5817     *
5818     * @returns { number } Number of bytes in each line.
5819     * @syscap SystemCapability.Multimedia.Image.Core
5820     * @since 7
5821     */
5822    /**
5823     * Obtains the number of bytes in each line of the image pixel map.
5824     *
5825     * @returns { number } Number of bytes in each line.
5826     * @syscap SystemCapability.Multimedia.Image.Core
5827     * @crossplatform
5828     * @since 10
5829     */
5830    /**
5831     * Obtains the number of bytes in each line of the image pixel map.
5832     *
5833     * @returns { number } Number of bytes in each line.
5834     * @syscap SystemCapability.Multimedia.Image.Core
5835     * @crossplatform
5836     * @atomicservice
5837     * @since 11
5838     */
5839    /**
5840     * Obtains the number of bytes in each line of the image pixel map.
5841     *
5842     * @returns { number } Number of bytes in each line.
5843     * @syscap SystemCapability.Multimedia.Image.Core
5844     * @crossplatform
5845     * @form
5846     * @atomicservice
5847     * @since 12
5848     */
5849    getBytesNumberPerRow(): number;
5850
5851    /**
5852     * Obtains the total number of bytes of the image pixel map.
5853     *
5854     * @returns { number } Total number of bytes.
5855     * @syscap SystemCapability.Multimedia.Image.Core
5856     * @since 7
5857     */
5858    /**
5859     * Obtains the total number of bytes of the image pixel map.
5860     *
5861     * @returns { number } Total number of bytes.
5862     * @syscap SystemCapability.Multimedia.Image.Core
5863     * @crossplatform
5864     * @since 10
5865     */
5866    /**
5867     * Obtains the total number of bytes of the image pixel map.
5868     *
5869     * @returns { number } Total number of bytes.
5870     * @syscap SystemCapability.Multimedia.Image.Core
5871     * @crossplatform
5872     * @atomicservice
5873     * @since 11
5874     */
5875    /**
5876     * Obtains the total number of bytes of the image pixel map.
5877     *
5878     * @returns { number } Total number of bytes.
5879     * @syscap SystemCapability.Multimedia.Image.Core
5880     * @crossplatform
5881     * @form
5882     * @atomicservice
5883     * @since 12
5884     */
5885    getPixelBytesNumber(): number;
5886
5887    /**
5888     * Obtains the density of the image pixel map.
5889     *
5890     * @returns { number } The number of density.
5891     * @syscap SystemCapability.Multimedia.Image.Core
5892     * @since 9
5893     */
5894    /**
5895     * Obtains the density of the image pixel map.
5896     *
5897     * @returns { number } The number of density.
5898     * @syscap SystemCapability.Multimedia.Image.Core
5899     * @crossplatform
5900     * @since 10
5901     */
5902    /**
5903     * Obtains the density of the image pixel map.
5904     *
5905     * @returns { number } The number of density.
5906     * @syscap SystemCapability.Multimedia.Image.Core
5907     * @crossplatform
5908     * @atomicservice
5909     * @since 11
5910     */
5911    /**
5912     * Obtains the density of the image pixel map.
5913     *
5914     * @returns { number } The number of density.
5915     * @syscap SystemCapability.Multimedia.Image.Core
5916     * @crossplatform
5917     * @form
5918     * @atomicservice
5919     * @since 12
5920     */
5921    getDensity(): number;
5922
5923    /**
5924     * Set the transparent rate of pixel map. This method uses a callback to return the operation result.
5925     *
5926     * @param { number } rate The value of transparent rate.
5927     * @param { AsyncCallback<void> } callback Callback used to return the operation result. If the operation fails, an error message is returned.
5928     * @syscap SystemCapability.Multimedia.Image.Core
5929     * @since 9
5930     */
5931    /**
5932     * Set the transparent rate of pixel map. This method uses a callback to return the operation result.
5933     *
5934     * @param { number } rate The value of transparent rate.
5935     * @param { AsyncCallback<void> } callback Callback used to return the operation result. If the operation fails, an error message is returned.
5936     * @syscap SystemCapability.Multimedia.Image.Core
5937     * @crossplatform
5938     * @since 10
5939     */
5940    /**
5941     * Set the transparent rate of pixel map. This method uses a callback to return the operation result.
5942     *
5943     * @param { number } rate The value of transparent rate.
5944     * @param { AsyncCallback<void> } callback Callback used to return the operation result. If the operation fails, an error message is returned.
5945     * @syscap SystemCapability.Multimedia.Image.Core
5946     * @crossplatform
5947     * @atomicservice
5948     * @since 11
5949     */
5950    /**
5951     * Set the transparent rate of pixel map. This method uses a callback to return the operation result.
5952     *
5953     * @param { number } rate The value of transparent rate.
5954     * @param { AsyncCallback<void> } callback Callback used to return the operation result. If the operation fails, an error message is returned.
5955     * @syscap SystemCapability.Multimedia.Image.Core
5956     * @crossplatform
5957     * @form
5958     * @atomicservice
5959     * @since 12
5960     */
5961    opacity(rate: number, callback: AsyncCallback<void>): void;
5962
5963    /**
5964     * Set the transparent rate of pixel map. This method uses a promise to return the result.
5965     *
5966     * @param { number } rate The value of transparent rate.
5967     * @returns { Promise<void> } A Promise instance used to return the operation result. If the operation fails, an error message is returned.
5968     * @syscap SystemCapability.Multimedia.Image.Core
5969     * @since 9
5970     */
5971    /**
5972     * Set the transparent rate of pixel map. This method uses a promise to return the result.
5973     *
5974     * @param { number } rate The value of transparent rate.
5975     * @returns { Promise<void> } A Promise instance used to return the operation result. If the operation fails, an error message is returned.
5976     * @syscap SystemCapability.Multimedia.Image.Core
5977     * @crossplatform
5978     * @since 10
5979     */
5980    /**
5981     * Set the transparent rate of pixel map. This method uses a promise to return the result.
5982     *
5983     * @param { number } rate The value of transparent rate.
5984     * @returns { Promise<void> } A Promise instance used to return the operation result. If the operation fails, an error message is returned.
5985     * @syscap SystemCapability.Multimedia.Image.Core
5986     * @crossplatform
5987     * @atomicservice
5988     * @since 11
5989     */
5990    /**
5991     * Set the transparent rate of pixel map. This method uses a promise to return the result.
5992     *
5993     * @param { number } rate The value of transparent rate.
5994     * @returns { Promise<void> } A Promise instance used to return the operation result. If the operation fails, an error message is returned.
5995     * @syscap SystemCapability.Multimedia.Image.Core
5996     * @crossplatform
5997     * @form
5998     * @atomicservice
5999     * @since 12
6000     */
6001    opacity(rate: number): Promise<void>;
6002
6003    /**
6004     * Set the transparent rate of pixel map.
6005     *
6006     * @param { number } rate The value of transparent rate.
6007     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified.
6008     * 2.Incorrect parameter types. 3.Parameter verification failed.
6009     * @throws { BusinessError } 501 - Resource Unavailable.
6010     * @syscap SystemCapability.Multimedia.Image.Core
6011     * @crossplatform
6012     * @atomicservice
6013     * @since 12
6014     */
6015    opacitySync(rate: number): void;
6016    /**
6017     * Obtains new pixel map with alpha information. This method uses a promise to return the information.
6018     *
6019     * @returns { Promise<PixelMap> } A Promise instance used to return the new image pixel map. If the operation fails, an error message is returned.
6020     * @syscap SystemCapability.Multimedia.Image.Core
6021     * @since 9
6022     */
6023    /**
6024     * Obtains new pixel map with alpha information. This method uses a promise to return the information.
6025     *
6026     * @returns { Promise<PixelMap> } A Promise instance used to return the new image pixel map. If the operation fails, an error message is returned.
6027     * @syscap SystemCapability.Multimedia.Image.Core
6028     * @crossplatform
6029     * @since 10
6030     */
6031    /**
6032     * Obtains new pixel map with alpha information. This method uses a promise to return the information.
6033     *
6034     * @returns { Promise<PixelMap> } A Promise instance used to return the new image pixel map. If the operation fails, an error message is returned.
6035     * @syscap SystemCapability.Multimedia.Image.Core
6036     * @crossplatform
6037     * @atomicservice
6038     * @since 11
6039     */
6040    /**
6041     * Obtains new pixel map with alpha information. This method uses a promise to return the information.
6042     *
6043     * @returns { Promise<PixelMap> } A Promise instance used to return the new image pixel map. If the operation fails, an error message is returned.
6044     * @syscap SystemCapability.Multimedia.Image.Core
6045     * @crossplatform
6046     * @form
6047     * @atomicservice
6048     * @since 12
6049     */
6050    createAlphaPixelmap(): Promise<PixelMap>;
6051
6052    /**
6053     * Obtains new pixel map with alpha information. This method uses a callback to return the information.
6054     *
6055     * @param { AsyncCallback<PixelMap> } callback Callback used to return the new image pixel map. If the operation fails, an error message is returned.
6056     * @syscap SystemCapability.Multimedia.Image.Core
6057     * @since 9
6058     */
6059    /**
6060     * Obtains new pixel map with alpha information. This method uses a callback to return the information.
6061     *
6062     * @param { AsyncCallback<PixelMap> } callback Callback used to return the new image pixel map. If the operation fails, an error message is returned.
6063     * @syscap SystemCapability.Multimedia.Image.Core
6064     * @crossplatform
6065     * @since 10
6066     */
6067    /**
6068     * Obtains new pixel map with alpha information. This method uses a callback to return the information.
6069     *
6070     * @param { AsyncCallback<PixelMap> } callback Callback used to return the new image pixel map. If the operation fails, an error message is returned.
6071     * @syscap SystemCapability.Multimedia.Image.Core
6072     * @crossplatform
6073     * @atomicservice
6074     * @since 11
6075     */
6076    /**
6077     * Obtains new pixel map with alpha information. This method uses a callback to return the information.
6078     *
6079     * @param { AsyncCallback<PixelMap> } callback Callback used to return the new image pixel map. If the operation fails, an error message is returned.
6080     * @syscap SystemCapability.Multimedia.Image.Core
6081     * @crossplatform
6082     * @form
6083     * @atomicservice
6084     * @since 12
6085     */
6086    createAlphaPixelmap(callback: AsyncCallback<PixelMap>): void;
6087
6088    /**
6089     * Obtains new pixel map with alpha information.
6090     *
6091     * @returns { PixelMap } return the new image pixel map. If the operation fails, an error message is returned.
6092     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Parameter verification failed.
6093     * @throws { BusinessError } 501 - Resource Unavailable.
6094     * @syscap SystemCapability.Multimedia.Image.Core
6095     * @crossplatform
6096     * @atomicservice
6097     * @since 12
6098     */
6099    createAlphaPixelmapSync(): PixelMap;
6100    /**
6101     * Image zoom in width and height. This method uses a callback to return the operation result.
6102     *
6103     * @param { number } x The zoom value of width.
6104     * @param { number } y The zoom value of height.
6105     * @param { AsyncCallback<void> } callback Callback used to return the operation result. If the operation fails, an error message is returned.
6106     * @syscap SystemCapability.Multimedia.Image.Core
6107     * @since 9
6108     */
6109    /**
6110     * Image zoom in width and height. This method uses a callback to return the operation result.
6111     *
6112     * @param { number } x The zoom value of width.
6113     * @param { number } y The zoom value of height.
6114     * @param { AsyncCallback<void> } callback Callback used to return the operation result. If the operation fails, an error message is returned.
6115     * @syscap SystemCapability.Multimedia.Image.Core
6116     * @crossplatform
6117     * @since 10
6118     */
6119    /**
6120     * Image zoom in width and height. This method uses a callback to return the operation result.
6121     *
6122     * @param { number } x The zoom value of width.
6123     * @param { number } y The zoom value of height.
6124     * @param { AsyncCallback<void> } callback Callback used to return the operation result. If the operation fails, an error message is returned.
6125     * @syscap SystemCapability.Multimedia.Image.Core
6126     * @crossplatform
6127     * @atomicservice
6128     * @since 11
6129     */
6130    /**
6131     * Image zoom in width and height. This method uses a callback to return the operation result.
6132     *
6133     * @param { number } x The zoom value of width.
6134     * @param { number } y The zoom value of height.
6135     * @param { AsyncCallback<void> } callback Callback used to return the operation result. If the operation fails, an error message is returned.
6136     * @syscap SystemCapability.Multimedia.Image.Core
6137     * @crossplatform
6138     * @form
6139     * @atomicservice
6140     * @since 12
6141     */
6142    scale(x: number, y: number, callback: AsyncCallback<void>): void;
6143
6144    /**
6145     * Image zoom in width and height. This method uses a promise to return the result.
6146     *
6147     * @param { number } x The zoom value of width.
6148     * @param { number } y The zoom value of height.
6149     * @returns { Promise<void> } A Promise instance used to return the operation result. If the operation fails, an error message is returned.
6150     * @syscap SystemCapability.Multimedia.Image.Core
6151     * @since 9
6152     */
6153    /**
6154     * Image zoom in width and height. This method uses a promise to return the result.
6155     *
6156     * @param { number } x The zoom value of width.
6157     * @param { number } y The zoom value of height.
6158     * @returns { Promise<void> } A Promise instance used to return the operation result. If the operation fails, an error message is returned.
6159     * @syscap SystemCapability.Multimedia.Image.Core
6160     * @crossplatform
6161     * @since 10
6162     */
6163    /**
6164     * Image zoom in width and height. This method uses a promise to return the result.
6165     *
6166     * @param { number } x The zoom value of width.
6167     * @param { number } y The zoom value of height.
6168     * @returns { Promise<void> } A Promise instance used to return the operation result. If the operation fails, an error message is returned.
6169     * @syscap SystemCapability.Multimedia.Image.Core
6170     * @crossplatform
6171     * @atomicservice
6172     * @since 11
6173     */
6174    /**
6175     * Image zoom in width and height. This method uses a promise to return the result.
6176     *
6177     * @param { number } x The zoom value of width.
6178     * @param { number } y The zoom value of height.
6179     * @returns { Promise<void> } A Promise instance used to return the operation result. If the operation fails, an error message is returned.
6180     * @syscap SystemCapability.Multimedia.Image.Core
6181     * @crossplatform
6182     * @form
6183     * @atomicservice
6184     * @since 12
6185     */
6186    scale(x: number, y: number): Promise<void>;
6187
6188    /**
6189     * Image zoom in width and height.
6190     *
6191     * @param { number } x The zoom value of width.
6192     * @param { number } y The zoom value of height.
6193     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified.
6194     * 2.Incorrect parameter types. 3.Parameter verification failed.
6195     * @throws { BusinessError } 501 - Resource Unavailable.
6196     * @syscap SystemCapability.Multimedia.Image.Core
6197     * @crossplatform
6198     * @atomicservice
6199     * @since 12
6200     */
6201    scaleSync(x: number, y: number): void;
6202
6203    /**
6204     * Image zoom in width and height width with anti-aliasing. This method uses a promise to return the result.
6205     *
6206     * @param { number } x The zoom value of width.
6207     * @param { number } y The zoom value of height.
6208     * @param { AntiAliasingLevel } level The anti-aliasing algorithm to be used.
6209     * @returns { Promise<void> } A Promise instance used to return the operation result. If the operation fails, an error message is returned.
6210     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified.
6211     * 2.Incorrect parameter types. 3.Parameter verification failed.
6212     * @throws { BusinessError } 501 - Resource Unavailable.
6213     * @syscap SystemCapability.Multimedia.Image.Core
6214     * @crossplatform
6215     * @form
6216     * @atomicservice
6217     * @since 12
6218     */
6219    scale(x: number, y: number, level: AntiAliasingLevel): Promise<void>;
6220
6221    /**
6222     * Image zoom in width and height with anti-aliasing.
6223     *
6224     * @param { number } x The zoom value of width.
6225     * @param { number } y The zoom value of height.
6226     * @param { AntiAliasingLevel } level The anti-aliasing algorithm to be used.
6227     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified.
6228     * 2.Incorrect parameter types. 3.Parameter verification failed.
6229     * @throws { BusinessError } 501 - Resource Unavailable.
6230     * @syscap SystemCapability.Multimedia.Image.Core
6231     * @crossplatform
6232     * @atomicservice
6233     * @since 12
6234     */
6235    scaleSync(x: number, y: number, level: AntiAliasingLevel): void;
6236
6237    /**
6238     * Create a new scaled pixelmap based on this image zoom in width and height with anti-aliasing. This method uses a promise to return the information.
6239     *
6240     * @param { number } x The zoom value of width.
6241     * @param { number } y The zoom value of height.
6242     * @param { AntiAliasingLevel } level The anti-aliasing algorithm to be used.
6243     * @returns { Promise<PixelMap> } A Promise instance used to return the new scaled pixelmap. If the operation fails, an error message is returned.
6244     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified.
6245     * 2.Incorrect parameter types. 3.Parameter verification failed.
6246     * @throws { BusinessError } 501 - Resource Unavailable.
6247     * @syscap SystemCapability.Multimedia.Image.Core
6248     * @since 18
6249     */
6250    createScaledPixelMap(x: number, y: number, level?: AntiAliasingLevel): Promise<PixelMap>;
6251
6252    /**
6253     * Create a new scaled pixelmap based on this image zoom in width and height with anti-aliasing.
6254     *
6255     * @param { number } x The zoom value of width.
6256     * @param { number } y The zoom value of height.
6257     * @param { AntiAliasingLevel } level The anti-aliasing algorithm to be used.
6258     * @returns { PixelMap } return the new scaled pixelmap. If the operation fails, an error message is returned.
6259     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified.
6260     * 2.Incorrect parameter types. 3.Parameter verification failed.
6261     * @throws { BusinessError } 501 - Resource Unavailable.
6262     * @syscap SystemCapability.Multimedia.Image.Core
6263     * @since 18
6264     */
6265    createScaledPixelMapSync(x: number, y: number, level?: AntiAliasingLevel): PixelMap;
6266
6267    /**
6268     * Image position transformation. This method uses a callback to return the operation result.
6269     *
6270     * @param { number } x The position value of width.
6271     * @param { number } y The position value of height.
6272     * @param { AsyncCallback<void> } callback Callback used to return the operation result. If the operation fails, an error message is returned.
6273     * @syscap SystemCapability.Multimedia.Image.Core
6274     * @since 9
6275     */
6276    /**
6277     * Image position transformation. This method uses a callback to return the operation result.
6278     *
6279     * @param { number } x The position value of width.
6280     * @param { number } y The position value of height.
6281     * @param { AsyncCallback<void> } callback Callback used to return the operation result. If the operation fails, an error message is returned.
6282     * @syscap SystemCapability.Multimedia.Image.Core
6283     * @crossplatform
6284     * @since 10
6285     */
6286    /**
6287     * Image position transformation. This method uses a callback to return the operation result.
6288     *
6289     * @param { number } x The position value of width.
6290     * @param { number } y The position value of height.
6291     * @param { AsyncCallback<void> } callback Callback used to return the operation result. If the operation fails, an error message is returned.
6292     * @syscap SystemCapability.Multimedia.Image.Core
6293     * @crossplatform
6294     * @atomicservice
6295     * @since 11
6296     */
6297    /**
6298     * Image position transformation. This method uses a callback to return the operation result.
6299     *
6300     * @param { number } x The position value of width.
6301     * @param { number } y The position value of height.
6302     * @param { AsyncCallback<void> } callback Callback used to return the operation result. If the operation fails, an error message is returned.
6303     * @syscap SystemCapability.Multimedia.Image.Core
6304     * @crossplatform
6305     * @form
6306     * @atomicservice
6307     * @since 12
6308     */
6309    translate(x: number, y: number, callback: AsyncCallback<void>): void;
6310
6311    /**
6312     * Image position transformation. This method uses a promise to return the result.
6313     *
6314     * @param { number } x The position value of width.
6315     * @param { number } y The position value of height.
6316     * @returns { Promise<void> } A Promise instance used to return the operation result. If the operation fails, an error message is returned.
6317     * @syscap SystemCapability.Multimedia.Image.Core
6318     * @since 9
6319     */
6320    /**
6321     * Image position transformation. This method uses a promise to return the result.
6322     *
6323     * @param { number } x The position value of width.
6324     * @param { number } y The position value of height.
6325     * @returns { Promise<void> } A Promise instance used to return the operation result. If the operation fails, an error message is returned.
6326     * @syscap SystemCapability.Multimedia.Image.Core
6327     * @crossplatform
6328     * @since 10
6329     */
6330    /**
6331     * Image position transformation. This method uses a promise to return the result.
6332     *
6333     * @param { number } x The position value of width.
6334     * @param { number } y The position value of height.
6335     * @returns { Promise<void> } A Promise instance used to return the operation result. If the operation fails, an error message is returned.
6336     * @syscap SystemCapability.Multimedia.Image.Core
6337     * @crossplatform
6338     * @atomicservice
6339     * @since 11
6340     */
6341    /**
6342     * Image position transformation. This method uses a promise to return the result.
6343     *
6344     * @param { number } x The position value of width.
6345     * @param { number } y The position value of height.
6346     * @returns { Promise<void> } A Promise instance used to return the operation result. If the operation fails, an error message is returned.
6347     * @syscap SystemCapability.Multimedia.Image.Core
6348     * @crossplatform
6349     * @form
6350     * @atomicservice
6351     * @since 12
6352     */
6353    translate(x: number, y: number): Promise<void>;
6354
6355    /**
6356     * Image position transformation.
6357     *
6358     * @param { number } x The position value of width.
6359     * @param { number } y The position value of height.
6360     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified.
6361     * 2.Incorrect parameter types. 3.Parameter verification failed.
6362     * @throws { BusinessError } 501 - Resource Unavailable.
6363     * @syscap SystemCapability.Multimedia.Image.Core
6364     * @crossplatform
6365     * @atomicservice
6366     * @since 12
6367     */
6368    translateSync(x: number, y: number): void;
6369
6370    /**
6371     * Image rotation. This method uses a callback to return the operation result.
6372     *
6373     * @param { number } angle The rotation angle.
6374     * @param { AsyncCallback<void> } callback Callback used to return the operation result. If the operation fails, an error message is returned.
6375     * @syscap SystemCapability.Multimedia.Image.Core
6376     * @since 9
6377     */
6378    /**
6379     * Image rotation. This method uses a callback to return the operation result.
6380     *
6381     * @param { number } angle The rotation angle.
6382     * @param { AsyncCallback<void> } callback Callback used to return the operation result. If the operation fails, an error message is returned.
6383     * @syscap SystemCapability.Multimedia.Image.Core
6384     * @crossplatform
6385     * @since 10
6386     */
6387    /**
6388     * Image rotation. This method uses a callback to return the operation result.
6389     *
6390     * @param { number } angle The rotation angle.
6391     * @param { AsyncCallback<void> } callback Callback used to return the operation result. If the operation fails, an error message is returned.
6392     * @syscap SystemCapability.Multimedia.Image.Core
6393     * @crossplatform
6394     * @atomicservice
6395     * @since 11
6396     */
6397    /**
6398     * Image rotation. This method uses a callback to return the operation result.
6399     *
6400     * @param { number } angle The rotation angle.
6401     * @param { AsyncCallback<void> } callback Callback used to return the operation result. If the operation fails, an error message is returned.
6402     * @syscap SystemCapability.Multimedia.Image.Core
6403     * @crossplatform
6404     * @form
6405     * @atomicservice
6406     * @since 12
6407     */
6408    rotate(angle: number, callback: AsyncCallback<void>): void;
6409
6410    /**
6411     * Image rotation. This method uses a promise to return the result.
6412     *
6413     * @param { number } angle The rotation angle.
6414     * @returns { Promise<void> } A Promise instance used to return the operation result. If the operation fails, an error message is returned.
6415     * @syscap SystemCapability.Multimedia.Image.Core
6416     * @since 9
6417     */
6418    /**
6419     * Image rotation. This method uses a promise to return the result.
6420     *
6421     * @param { number } angle The rotation angle.
6422     * @returns { Promise<void> } A Promise instance used to return the operation result. If the operation fails, an error message is returned.
6423     * @syscap SystemCapability.Multimedia.Image.Core
6424     * @crossplatform
6425     * @since 10
6426     */
6427    /**
6428     * Image rotation. This method uses a promise to return the result.
6429     *
6430     * @param { number } angle The rotation angle.
6431     * @returns { Promise<void> } A Promise instance used to return the operation result. If the operation fails, an error message is returned.
6432     * @syscap SystemCapability.Multimedia.Image.Core
6433     * @crossplatform
6434     * @atomicservice
6435     * @since 11
6436     */
6437    /**
6438     * Image rotation. This method uses a promise to return the result.
6439     *
6440     * @param { number } angle The rotation angle.
6441     * @returns { Promise<void> } A Promise instance used to return the operation result. If the operation fails, an error message is returned.
6442     * @syscap SystemCapability.Multimedia.Image.Core
6443     * @crossplatform
6444     * @form
6445     * @atomicservice
6446     * @since 12
6447     */
6448    rotate(angle: number): Promise<void>;
6449
6450    /**
6451     * Image rotation.
6452     *
6453     * @param { number } angle The rotation angle.
6454     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified.
6455     * 2.Incorrect parameter types. 3.Parameter verification failed.
6456     * @throws { BusinessError } 501 - Resource Unavailable.
6457     * @syscap SystemCapability.Multimedia.Image.Core
6458     * @crossplatform
6459     * @atomicservice
6460     * @since 12
6461     */
6462    rotateSync(angle: number): void;
6463
6464    /**
6465     * Image flipping. This method uses a callback to return the operation result.
6466     *
6467     * @param { boolean } horizontal Is flip in horizontal.
6468     * @param { boolean } vertical Is flip in vertical.
6469     * @param { AsyncCallback<void> } callback Callback used to return the operation result. If the operation fails, an error message is returned.
6470     * @syscap SystemCapability.Multimedia.Image.Core
6471     * @since 9
6472     */
6473    /**
6474     * Image flipping. This method uses a callback to return the operation result.
6475     *
6476     * @param { boolean } horizontal Is flip in horizontal.
6477     * @param { boolean } vertical Is flip in vertical.
6478     * @param { AsyncCallback<void> } callback Callback used to return the operation result. If the operation fails, an error message is returned.
6479     * @syscap SystemCapability.Multimedia.Image.Core
6480     * @crossplatform
6481     * @since 10
6482     */
6483    /**
6484     * Image flipping. This method uses a callback to return the operation result.
6485     *
6486     * @param { boolean } horizontal Is flip in horizontal.
6487     * @param { boolean } vertical Is flip in vertical.
6488     * @param { AsyncCallback<void> } callback Callback used to return the operation result. If the operation fails, an error message is returned.
6489     * @syscap SystemCapability.Multimedia.Image.Core
6490     * @crossplatform
6491     * @atomicservice
6492     * @since 11
6493     */
6494    /**
6495     * Image flipping. This method uses a callback to return the operation result.
6496     *
6497     * @param { boolean } horizontal Is flip in horizontal.
6498     * @param { boolean } vertical Is flip in vertical.
6499     * @param { AsyncCallback<void> } callback Callback used to return the operation result. If the operation fails, an error message is returned.
6500     * @syscap SystemCapability.Multimedia.Image.Core
6501     * @crossplatform
6502     * @form
6503     * @atomicservice
6504     * @since 12
6505     */
6506    flip(horizontal: boolean, vertical: boolean, callback: AsyncCallback<void>): void;
6507
6508    /**
6509     * Image flipping. This method uses a promise to return the result.
6510     *
6511     * @param { boolean } horizontal Is flip in horizontal.
6512     * @param { boolean } vertical Is flip in vertical.
6513     * @returns { Promise<void> } A Promise instance used to return the operation result. If the operation fails, an error message is returned.
6514     * @syscap SystemCapability.Multimedia.Image.Core
6515     * @since 9
6516     */
6517    /**
6518     * Image flipping. This method uses a promise to return the result.
6519     *
6520     * @param { boolean } horizontal Is flip in horizontal.
6521     * @param { boolean } vertical Is flip in vertical.
6522     * @returns { Promise<void> } A Promise instance used to return the operation result. If the operation fails, an error message is returned.
6523     * @syscap SystemCapability.Multimedia.Image.Core
6524     * @crossplatform
6525     * @since 10
6526     */
6527    /**
6528     * Image flipping. This method uses a promise to return the result.
6529     *
6530     * @param { boolean } horizontal Is flip in horizontal.
6531     * @param { boolean } vertical Is flip in vertical.
6532     * @returns { Promise<void> } A Promise instance used to return the operation result. If the operation fails, an error message is returned.
6533     * @syscap SystemCapability.Multimedia.Image.Core
6534     * @crossplatform
6535     * @atomicservice
6536     * @since 11
6537     */
6538    /**
6539     * Image flipping. This method uses a promise to return the result.
6540     *
6541     * @param { boolean } horizontal Is flip in horizontal.
6542     * @param { boolean } vertical Is flip in vertical.
6543     * @returns { Promise<void> } A Promise instance used to return the operation result. If the operation fails, an error message is returned.
6544     * @syscap SystemCapability.Multimedia.Image.Core
6545     * @crossplatform
6546     * @form
6547     * @atomicservice
6548     * @since 12
6549     */
6550    flip(horizontal: boolean, vertical: boolean): Promise<void>;
6551
6552    /**
6553     * Image flipping.
6554     *
6555     * @param { boolean } horizontal Is flip in horizontal.
6556     * @param { boolean } vertical Is flip in vertical.
6557     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified.
6558     * 2.Incorrect parameter types. 3.Parameter verification failed.
6559     * @throws { BusinessError } 501 - Resource Unavailable.
6560     * @syscap SystemCapability.Multimedia.Image.Core
6561     * @crossplatform
6562     * @atomicservice
6563     * @since 12
6564     */
6565    flipSync(horizontal: boolean, vertical: boolean): void;
6566
6567    /**
6568     * Crop the image. This method uses a callback to return the operation result.
6569     *
6570     * @param { Region } region The region to crop.
6571     * @param { AsyncCallback<void> } callback Callback used to return the operation result. If the operation fails, an error message is returned.
6572     * @syscap SystemCapability.Multimedia.Image.Core
6573     * @since 9
6574     */
6575    /**
6576     * Crop the image. This method uses a callback to return the operation result.
6577     *
6578     * @param { Region } region The region to crop.
6579     * @param { AsyncCallback<void> } callback Callback used to return the operation result. If the operation fails, an error message is returned.
6580     * @syscap SystemCapability.Multimedia.Image.Core
6581     * @crossplatform
6582     * @since 10
6583     */
6584    /**
6585     * Crop the image. This method uses a callback to return the operation result.
6586     *
6587     * @param { Region } region The region to crop.
6588     * @param { AsyncCallback<void> } callback Callback used to return the operation result. If the operation fails, an error message is returned.
6589     * @syscap SystemCapability.Multimedia.Image.Core
6590     * @crossplatform
6591     * @atomicservice
6592     * @since 11
6593     */
6594    /**
6595     * Crop the image. This method uses a callback to return the operation result.
6596     *
6597     * @param { Region } region The region to crop.
6598     * @param { AsyncCallback<void> } callback Callback used to return the operation result. If the operation fails, an error message is returned.
6599     * @syscap SystemCapability.Multimedia.Image.Core
6600     * @crossplatform
6601     * @form
6602     * @atomicservice
6603     * @since 12
6604     */
6605    crop(region: Region, callback: AsyncCallback<void>): void;
6606
6607    /**
6608     * Crop the image. This method uses a promise to return the result.
6609     *
6610     * @param { Region } region The region to crop.
6611     * @returns { Promise<void> } A Promise instance used to return the operation result. If the operation fails, an error message is returned.
6612     * @syscap SystemCapability.Multimedia.Image.Core
6613     * @since 9
6614     */
6615    /**
6616     * Crop the image. This method uses a promise to return the result.
6617     *
6618     * @param { Region } region The region to crop.
6619     * @returns { Promise<void> } A Promise instance used to return the operation result. If the operation fails, an error message is returned.
6620     * @syscap SystemCapability.Multimedia.Image.Core
6621     * @crossplatform
6622     * @since 10
6623     */
6624    /**
6625     * Crop the image. This method uses a promise to return the result.
6626     *
6627     * @param { Region } region The region to crop.
6628     * @returns { Promise<void> } A Promise instance used to return the operation result. If the operation fails, an error message is returned.
6629     * @syscap SystemCapability.Multimedia.Image.Core
6630     * @crossplatform
6631     * @atomicservice
6632     * @since 11
6633     */
6634    /**
6635     * Crop the image. This method uses a promise to return the result.
6636     *
6637     * @param { Region } region The region to crop.
6638     * @returns { Promise<void> } A Promise instance used to return the operation result. If the operation fails, an error message is returned.
6639     * @syscap SystemCapability.Multimedia.Image.Core
6640     * @crossplatform
6641     * @form
6642     * @atomicservice
6643     * @since 12
6644     */
6645    crop(region: Region): Promise<void>;
6646
6647    /**
6648     * Crop the image.
6649     *
6650     * @param { Region } region The region to crop.
6651     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified.
6652     * 2.Incorrect parameter types. 3.Parameter verification failed.
6653     * @throws { BusinessError } 501 - Resource Unavailable.
6654     * @syscap SystemCapability.Multimedia.Image.Core
6655     * @crossplatform
6656     * @atomicservice
6657     * @since 12
6658     */
6659    cropSync(region: Region): void;
6660
6661    /**
6662     * Get color space of pixel map.
6663     *
6664     * @returns { colorSpaceManager.ColorSpaceManager } If the operation fails, an error message is returned.
6665     * @throws { BusinessError } 62980101 - The image data is abnormal.
6666     * @throws { BusinessError } 62980103 - The image data is not supported.
6667     * @throws { BusinessError } 62980115 - Invalid image parameter.
6668     * @syscap SystemCapability.Multimedia.Image.Core
6669     * @since 10
6670     */
6671    /**
6672     * Get color space of pixel map.
6673     *
6674     * @returns { colorSpaceManager.ColorSpaceManager } If the operation fails, an error message is returned.
6675     * @throws { BusinessError } 62980101 - If the image data abnormal.
6676     * @throws { BusinessError } 62980103 - If the image data unsupport.
6677     * @throws { BusinessError } 62980115 - If the image parameter invalid.
6678     * @syscap SystemCapability.Multimedia.Image.Core
6679     * @crossplatform
6680     * @since 11
6681     */
6682    getColorSpace(): colorSpaceManager.ColorSpaceManager;
6683
6684    /**
6685     * Marshalling pixelmap and write into MessageSequence.
6686     *
6687     * @param { rpc.MessageSequence } sequence rpc.MessageSequence parameter.
6688     * @throws { BusinessError } 62980115 - Invalid image parameter.
6689     * @throws { BusinessError } 62980097 - IPC error.
6690     * @syscap SystemCapability.Multimedia.Image.Core
6691     * @since 10
6692     */
6693    marshalling(sequence: rpc.MessageSequence): void;
6694
6695    /**
6696     * Creates a PixelMap object based on MessageSequence parameter.
6697     *
6698     * @param { rpc.MessageSequence } sequence rpc.MessageSequence parameter.
6699     * @returns { Promise<PixelMap> } A Promise instance used to return the PixelMap object.
6700     * @throws { BusinessError } 62980115 - Invalid image parameter.
6701     * @throws { BusinessError } 62980097 - IPC error.
6702     * @throws { BusinessError } 62980096 - The operation failed.
6703     * @syscap SystemCapability.Multimedia.Image.Core
6704     * @since 10
6705     */
6706    unmarshalling(sequence: rpc.MessageSequence): Promise<PixelMap>;
6707
6708    /**
6709     * Set color space of pixel map.
6710     *
6711     * This method is only used to set the colorspace property of pixelmap, while all pixel data remains the same after calling this method.
6712     * If you want to change colorspace for all pixels, use method {@Link #applyColorSpace(colorSpaceManager.ColorSpaceManager)} or
6713     * {@Link #applyColorSpace(colorSpaceManager.ColorSpaceManager, AsyncCallback<void>)}.
6714     *
6715     * @param { colorSpaceManager.ColorSpaceManager } colorSpace The color space for pixel map.
6716     * @throws { BusinessError } 62980111 - The image source data is incomplete.
6717     * @throws { BusinessError } 62980115 - Invalid image parameter.
6718     * @syscap SystemCapability.Multimedia.Image.Core
6719     * @since 10
6720     */
6721    /**
6722     * Set color space of pixel map.
6723     *
6724     * This method is only used to set the colorspace property of pixelmap, while all pixel data remains the same after calling this method.
6725     * If you want to change colorspace for all pixels, use method {@Link #applyColorSpace(colorSpaceManager.ColorSpaceManager)} or
6726     * {@Link #applyColorSpace(colorSpaceManager.ColorSpaceManager, AsyncCallback<void>)}.
6727     *
6728     * @param { colorSpaceManager.ColorSpaceManager } colorSpace The color space for pixel map.
6729     * @throws { BusinessError } 62980111 - If the operation invalid.
6730     * @throws { BusinessError } 62980115 - If the image parameter invalid.
6731     * @syscap SystemCapability.Multimedia.Image.Core
6732     * @crossplatform
6733     * @since 11
6734     */
6735     /**
6736     * Set color space of pixel map.
6737     *
6738     * This method is only used to set the colorspace property of pixelmap, while all pixel data remains the same after calling this method.
6739     * If you want to change colorspace for all pixels, use method {@Link #applyColorSpace(colorSpaceManager.ColorSpaceManager)} or
6740     * {@Link #applyColorSpace(colorSpaceManager.ColorSpaceManager, AsyncCallback<void>)}.
6741     *
6742     * @param { colorSpaceManager.ColorSpaceManager } colorSpace The color space for pixel map.
6743     * @throws { BusinessError } 62980111 - The image source data is incomplete.
6744     * @throws { BusinessError } 62980115 - If the image parameter invalid.
6745     * @syscap SystemCapability.Multimedia.Image.Core
6746     * @crossplatform
6747     * @since 12
6748     */
6749    setColorSpace(colorSpace: colorSpaceManager.ColorSpaceManager): void;
6750
6751    /**
6752     * Is it stride Alignment
6753     *
6754     * @type { boolean }
6755     * @readonly
6756     * @syscap SystemCapability.Multimedia.Image.Core
6757     * @since 11
6758     */
6759    readonly isStrideAlignment: boolean;
6760
6761     /**
6762     * Apply color space of pixel map, the pixels will be changed by input color space. This method uses a callback to return the operation result.
6763     *
6764     * This method is used to change color space of pixelmap. Pixel data will be changed by calling this method.
6765     * If you want to set the colorspace property of pixelmap only, use method {@Link #setColorSpace(colorSpaceManager.ColorSpaceManager)}.
6766     *
6767     * @param { colorSpaceManager.ColorSpaceManager } targetColorSpace - The color space for pixel map.
6768     * @param { AsyncCallback<void> } callback - Callback used to return the operation result. If the operation fails, an error message is returned.
6769     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified.
6770     * 2.Incorrect parameter types. 3.Parameter verification failed.
6771     * @throws { BusinessError } 62980104 - Failed to initialize the internal object.
6772     * @throws { BusinessError } 62980108 - Failed to convert the color space.
6773     * @throws { BusinessError } 62980115 - Invalid image parameter.
6774     * @syscap SystemCapability.Multimedia.Image.Core
6775     * @crossplatform
6776     * @since 11
6777     */
6778    applyColorSpace(targetColorSpace: colorSpaceManager.ColorSpaceManager, callback: AsyncCallback<void>): void;
6779
6780    /**
6781     * Apply color space of pixel map, the pixels will be changed by input color space. This method uses a promise to return the result.
6782     *
6783     * This method is used to change color space of pixelmap. Pixel data will be changed by calling this method.
6784     * If you want to set the colorspace property of pixelmap only, use method {@Link #setColorSpace(colorSpaceManager.ColorSpaceManager)}.
6785     *
6786     * @param { colorSpaceManager.ColorSpaceManager } targetColorSpace - The color space for pixel map.
6787     * @returns { Promise<void> } A Promise instance used to return the operation result. If the operation fails, an error message is returned.
6788     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified.
6789     * 2.Incorrect parameter types. 3.Parameter verification failed.
6790     * @throws { BusinessError } 62980104 - Failed to initialize the internal object.
6791     * @throws { BusinessError } 62980108 - Failed to convert the color space.
6792     * @throws { BusinessError } 62980115 - Invalid image parameter.
6793     * @syscap SystemCapability.Multimedia.Image.Core
6794     * @crossplatform
6795     * @since 11
6796     */
6797    applyColorSpace(targetColorSpace: colorSpaceManager.ColorSpaceManager): Promise<void>;
6798
6799    /**
6800     * The method is used for the transformation of the image formats. Pixel data will be changed by calling this method.
6801     *
6802     * @param { PixelMapFormat } targetPixelFormat - The pixel format for pixelmap conversion.
6803     * @returns { Promise<void> } A Promise instance used to return the operation result. If the operation fails, an error message is returned.
6804     * @throws { BusinessError } 62980115 - Invalid input parameter.
6805     * @throws { BusinessError } 62980111 - The image source data is incomplete.
6806     * @throws { BusinessError } 62980274 - The conversion failed.
6807     * @throws { BusinessError } 62980276 - The type to be converted is an unsupported target pixel format.
6808     * @throws { BusinessError } 62980178 - Failed to create the pixelmap.
6809     * @syscap SystemCapability.Multimedia.Image.Core
6810     * @since 12
6811     */
6812     convertPixelFormat(targetPixelFormat: PixelMapFormat): Promise<void>;
6813
6814     /**
6815     * Releases this PixelMap object. This method uses a callback to return the result.
6816     *
6817     * @param { AsyncCallback<void> } callback Callback invoked for instance release. If the operation fails, an error message is returned.
6818     * @syscap SystemCapability.Multimedia.Image.Core
6819     * @since 7
6820     */
6821    /**
6822     * Releases this PixelMap object. This method uses a callback to return the result.
6823     *
6824     * @param { AsyncCallback<void> } callback Callback invoked for instance release. If the operation fails, an error message is returned.
6825     * @syscap SystemCapability.Multimedia.Image.Core
6826     * @crossplatform
6827     * @since 10
6828     */
6829    /**
6830     * Releases this PixelMap object. This method uses a callback to return the result.
6831     *
6832     * @param { AsyncCallback<void> } callback Callback invoked for instance release. If the operation fails, an error message is returned.
6833     * @syscap SystemCapability.Multimedia.Image.Core
6834     * @crossplatform
6835     * @atomicservice
6836     * @since 11
6837     */
6838    /**
6839     * Releases this PixelMap object. This method uses a callback to return the result.
6840     *
6841     * @param { AsyncCallback<void> } callback Callback invoked for instance release. If the operation fails, an error message is returned.
6842     * @syscap SystemCapability.Multimedia.Image.Core
6843     * @crossplatform
6844     * @form
6845     * @atomicservice
6846     * @since 12
6847     */
6848    release(callback: AsyncCallback<void>): void;
6849
6850    /**
6851     * Releases this PixelMap object. This method uses a promise to return the result.
6852     *
6853     * @returns { Promise<void> } A Promise instance used to return the instance release result. If the operation fails, an error message is returned.
6854     * @syscap SystemCapability.Multimedia.Image.Core
6855     * @since 7
6856     */
6857    /**
6858     * Releases this PixelMap object. This method uses a promise to return the result.
6859     *
6860     * @returns { Promise<void> } A Promise instance used to return the instance release result. If the operation fails, an error message is returned.
6861     * @syscap SystemCapability.Multimedia.Image.Core
6862     * @crossplatform
6863     * @since 10
6864     */
6865    /**
6866     * Releases this PixelMap object. This method uses a promise to return the result.
6867     *
6868     * @returns { Promise<void> } A Promise instance used to return the instance release result. If the operation fails, an error message is returned.
6869     * @syscap SystemCapability.Multimedia.Image.Core
6870     * @crossplatform
6871     * @atomicservice
6872     * @since 11
6873     */
6874    /**
6875     * Releases this PixelMap object. This method uses a promise to return the result.
6876     *
6877     * @returns { Promise<void> } A Promise instance used to return the instance release result. If the operation fails, an error message is returned.
6878     * @syscap SystemCapability.Multimedia.Image.Core
6879     * @crossplatform
6880     * @form
6881     * @atomicservice
6882     * @since 12
6883     */
6884    release(): Promise<void>;
6885
6886   /**
6887     * Enables the PixelMap object to be transferred across threads and detaches the reference from the current
6888     * thread upon transfer.
6889     *
6890     * @param { boolean } detached A boolean value indicating whether to enable or disable the transfer and
6891     * detachment feature.
6892     * @throws { BusinessError } 501 - Resource Unavailable.
6893     * @syscap SystemCapability.Multimedia.Image.Core
6894     * @since 12
6895     */
6896    setTransferDetached(detached: boolean): void;
6897
6898    /**
6899     * Get metadata.
6900     *
6901     * @param { HdrMetadataKey } key Type of metadata.
6902     * @returns { HdrMetadataValue } Returns the value of metadata.
6903     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified.
6904     * 2.Incorrect parameter types. 3.Parameter verification failed.
6905     * @throws { BusinessError } 501 - Resource unavailable.
6906     * @throws { BusinessError } 62980173 - The DMA memory does not exist.
6907     * @throws { BusinessError } 62980302 - Memory copy failed.
6908     * @syscap SystemCapability.Multimedia.Image.Core
6909     * @since 12
6910     */
6911    getMetadata(key: HdrMetadataKey): HdrMetadataValue;
6912
6913    /**
6914     * Set pixelmap memory name.
6915     *
6916     * @param { string } name The name of the memory that needs to be set
6917     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.The length of the input parameter is too long.
6918     * 2.Parameter verification failed.
6919     * @throws { BusinessError } 501 - Resource unavailable.
6920     * @throws { BusinessError } 62980286 - Memory format not supported.
6921     * @syscap SystemCapability.Multimedia.Image.Core
6922     * @since 13
6923     */
6924    setMemoryNameSync(name: string): void;
6925
6926    /**
6927     * Clone pixelmap from current pixelmap.
6928     *
6929     * @returns { PixelMap } A instance used to return the PixelMap object.
6930     * @throws { BusinessError } 501 - Resource unavailable.
6931     * @throws { BusinessError } 62980102 - Image malloc abnormal.
6932     * @throws { BusinessError } 62980103 - Image types are not supported.
6933     * @throws { BusinessError } 62980104 - Image initialization abnormal.
6934     * @throws { BusinessError } 62980106 - The image data is to large.
6935     * @syscap SystemCapability.Multimedia.Image.Core
6936     * @since 18
6937     */
6938    cloneSync(): PixelMap;
6939
6940    /**
6941     * Clone pixelmap from current pixelmap.
6942     *
6943     * @returns { Promise<PixelMap> } A Promise instance used to return the PixelMap object.
6944     * @throws { BusinessError } 501 - Resource unavailable.
6945     * @throws { BusinessError } 62980102 - Image malloc abnormal.
6946     * @throws { BusinessError } 62980103 - Image types are not supported.
6947     * @throws { BusinessError } 62980104 - Image initialization abnormal.
6948     * @throws { BusinessError } 62980106 - The image data is to large.
6949     * @syscap SystemCapability.Multimedia.Image.Core
6950     * @since 18
6951     */
6952    clone(): Promise<PixelMap>;
6953
6954    /**
6955     * Set metadata.
6956     *
6957     * @param { HdrMetadataKey } key Type of metadata.
6958     * @param { HdrMetadataValue } value Value of metadata.
6959     * @returns { Promise<void> } A Promise instance used to return the instance release result. If the operation fails,
6960     * an error message is returned.
6961     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified.
6962     * 2.Incorrect parameter types. 3.Parameter verification failed.
6963     * @throws { BusinessError } 501 - Resource unavailable.
6964     * @throws { BusinessError } 62980173 - The DMA memory does not exist.
6965     * @throws { BusinessError } 62980302 - Memory copy failed.
6966     * @syscap SystemCapability.Multimedia.Image.Core
6967     * @since 12
6968     */
6969    setMetadata(key: HdrMetadataKey, value: HdrMetadataValue): Promise<void>;
6970  }
6971
6972  /**
6973   * Picture instance.
6974   *
6975   * @typedef Picture
6976   * @syscap SystemCapability.Multimedia.Image.Core
6977   * @since 13
6978   */
6979  interface Picture {
6980    /**
6981     * Obtains the pixel map of the main image.
6982     *
6983     * @returns { PixelMap } Returns the pixel map.
6984     * @syscap SystemCapability.Multimedia.Image.Core
6985     * @since 13
6986     */
6987    getMainPixelmap(): PixelMap;
6988
6989    /**
6990     * Obtains the hdr pixel map. This method uses a promise to return the PixelMap object.
6991     *
6992     * @returns { Promise<PixelMap> } A Promise instance used to return the PixelMap object.
6993     * @throws { BusinessError } 7600901 - Unknown error.
6994     * @throws { BusinessError } 7600201 - Unsupported operation.
6995     * @syscap SystemCapability.Multimedia.Image.Core
6996     * @since 13
6997     */
6998    getHdrComposedPixelmap(): Promise<PixelMap>;
6999
7000    /**
7001     * Obtains the gain map pixel map.
7002     * @returns { PixelMap | null } Returns the pixel map if the operation is successful; returns null otherwise.
7003     * @syscap SystemCapability.Multimedia.Image.Core
7004     * @since 13
7005     */
7006    getGainmapPixelmap(): PixelMap | null;
7007
7008    /**
7009     * Set auxiliary picture.
7010     *
7011     * @param { AuxiliaryPictureType } type The type of auxiliary picture.
7012     * @param { AuxiliaryPicture } auxiliaryPicture AuxiliaryPicture object.
7013     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified.
7014     * 2.Incorrect parameter types. 3.Parameter verification failed.
7015     * @syscap SystemCapability.Multimedia.Image.Core
7016     * @since 13
7017     */
7018    setAuxiliaryPicture(type: AuxiliaryPictureType, auxiliaryPicture: AuxiliaryPicture): void;
7019
7020    /**
7021     * Obtains the auxiliary picture based on type.
7022     *
7023     * @param { AuxiliaryPictureType } type The type of auxiliary picture.
7024     * @returns { AuxiliaryPicture | null } Returns the auxiliary picture object.
7025     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified.
7026     * 2.Incorrect parameter types. 3.Parameter verification failed.
7027     * @syscap SystemCapability.Multimedia.Image.Core
7028     * @since 13
7029     */
7030    getAuxiliaryPicture(type: AuxiliaryPictureType): AuxiliaryPicture | null;
7031
7032    /**
7033     * Set the metadata of main picture.
7034     *
7035     * @param { MetadataType } metadataType The type of metadata.
7036     * @param { Metadata } metadata The metadata of main picture.
7037     * @returns { Promise<void> } A Promise instance used to return the operation result.
7038     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified.
7039     * 2.Incorrect parameter types. 3.Parameter verification failed.
7040     * @throws { BusinessError } 7600202 - Unsupported metadata. Possible causes: Unsupported metadata type.
7041     * @syscap SystemCapability.Multimedia.Image.Core
7042     * @since 13
7043     */
7044    setMetadata(metadataType: MetadataType, metadata: Metadata): Promise<void>
7045
7046    /**
7047     * Obtains the metadata of main picture.
7048     *
7049     * @param { MetadataType } metadataType The type of metadata.
7050     * @returns { Promise<Metadata> } Return the metadata of main picture.
7051     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified.
7052     * 2.Incorrect parameter types. 3.Parameter verification failed.
7053     * @throws { BusinessError } 7600202 - Unsupported metadata. Possible causes: Unsupported metadata type.
7054     * @syscap SystemCapability.Multimedia.Image.Core
7055     * @since 13
7056     */
7057    getMetadata(metadataType: MetadataType): Promise<Metadata>
7058
7059    /**
7060     * Marshalling picture and write into MessageSequence.
7061     *
7062     * @param { rpc.MessageSequence } sequence rpc.MessageSequence parameter.
7063     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified.
7064     * 2.Incorrect parameter types; 3.Parameter verification failed.
7065     * @throws { BusinessError } 62980097 - IPC error.
7066     * @syscap SystemCapability.Multimedia.Image.Core
7067     * @since 13
7068     */
7069    marshalling(sequence: rpc.MessageSequence): void
7070
7071    /**
7072     * Releases this Picture object.
7073     * @syscap SystemCapability.Multimedia.Image.Core
7074     * @since 13
7075     */
7076    release(): void
7077  }
7078
7079  /**
7080   * Create a Picture object by the pixel map of the main image.
7081   *
7082   * @param { PixelMap } mainPixelmap The pixel map of the main image.
7083   * @returns { Picture } Returns the Picture object.
7084   * @throws { BusinessError } 401 - Parameter error.Possible causes: 1.Mandatory parameters are left unspecified.
7085   * 2.Incorrect parameter types; 3.Parameter verification failed.
7086   * @syscap SystemCapability.Multimedia.Image.Core
7087   * @since 13
7088   */
7089  function createPicture(mainPixelmap : PixelMap): Picture;
7090
7091  /**
7092   * Creates a Picture object based on MessageSequence parameter.
7093   *
7094   * @param { rpc.MessageSequence } sequence - rpc.MessageSequence parameter.
7095   * @returns { Picture } Returns the Picture object.
7096   * @throws { BusinessError } 401 - Parameter error.Possible causes: 1.Mandatory parameters are left unspecified.
7097   * 2.Incorrect parameter types; 3.Parameter verification failed.
7098   * @throws { BusinessError } 62980097 - IPC error.
7099   * @syscap SystemCapability.Multimedia.Image.Core
7100   * @since 13
7101   */
7102  function createPictureFromParcel(sequence: rpc.MessageSequence): Picture;
7103
7104  /**
7105   * Create a AuxiliaryPicture object by data buffer.
7106   *
7107   * @param { ArrayBuffer } buffer The image data buffer.
7108   * @param { Size } size The size of auxiliary picture.
7109   * @param { AuxiliaryPictureType } type The type of auxiliary picture.
7110   * @returns { AuxiliaryPicture } The AuxiliaryPicture object.
7111   * @throws { BusinessError } 401 - Parameter error.Possible causes: 1.Mandatory parameters are left unspecified.
7112   * 2.Incorrect parameter types; 3.Parameter verification failed.
7113   * @syscap SystemCapability.Multimedia.Image.Core
7114   * @since 13
7115   */
7116  function createAuxiliaryPicture(buffer: ArrayBuffer, size: Size, type: AuxiliaryPictureType): AuxiliaryPicture;
7117
7118  /**
7119   * AuxiliaryPicture instance.
7120   *
7121   * @typedef AuxiliaryPicture
7122   * @syscap SystemCapability.Multimedia.Image.Core
7123   * @since 13
7124   */
7125  interface AuxiliaryPicture {
7126    /**
7127     * Reads auxiliary picture data in an ArrayBuffer and writes the data to a AuxiliaryPicture object. This method
7128     * uses a promise to return the result.
7129     *
7130     * @param { ArrayBuffer } data A buffer from which the auxiliary picture data will be read.
7131     * @returns { Promise<void> } A Promise instance used to return the operation result. If the operation fails, an
7132     * error message is returned.
7133     * @throws { BusinessError } 401 - Parameter error.Possible causes: 1.Mandatory parameters are left unspecified.
7134     * 2.Incorrect parameter types. 3.Parameter verification failed.
7135     * @throws { BusinessError } 7600301 - Memory alloc failed.
7136     * @throws { BusinessError } 7600302 - Memory copy failed.
7137     * @syscap SystemCapability.Multimedia.Image.Core
7138     * @since 13
7139     */
7140    writePixelsFromBuffer(data: ArrayBuffer): Promise<void>;
7141
7142    /**
7143     * Reads image pixel map data and writes the data to an ArrayBuffer. This method uses
7144     * a promise to return the result.
7145     *
7146     * @returns { Promise<ArrayBuffer> } A Promise instance used to return the pixel map data.
7147     * @throws { BusinessError } 7600301 - Memory alloc failed.
7148     * @throws { BusinessError } 7600302 - Memory copy failed.
7149     * @syscap SystemCapability.Multimedia.Image.Core
7150     * @since 13
7151     */
7152    readPixelsToBuffer(): Promise<ArrayBuffer>;
7153
7154    /**
7155     * Obtains the type of auxiliary picture.
7156     *
7157     * @returns { AuxiliaryPictureType } Returns the type of auxiliary picture.
7158     * @syscap SystemCapability.Multimedia.Image.Core
7159     * @since 13
7160     */
7161    getType(): AuxiliaryPictureType;
7162
7163    /**
7164     * Set the metadata of auxiliary picture.
7165     *
7166     * @param { MetadataType } metadataType The type of metadata.
7167     * @param { Metadata } metadata The metadata of auxiliary picture.
7168     * @returns { Promise<void> } A Promise instance used to return the operation result.
7169     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified.
7170     * 2.Incorrect parameter types. 3.Parameter verification failed.
7171     * @throws { BusinessError } 7600202 - Unsupported metadata. Possible causes: 1. Unsupported metadata type. 2. The
7172     * metadata type does not match the auxiliary picture type.
7173     * @syscap SystemCapability.Multimedia.Image.Core
7174     * @since 13
7175     */
7176    setMetadata(metadataType: MetadataType, metadata: Metadata): Promise<void>
7177
7178    /**
7179     * Obtains the metadata of auxiliary picture.
7180     *
7181     * @param { MetadataType } metadataType The type of metadata.
7182     * @returns { Promise<Metadata> } Return the metadata of auxiliary picture.
7183     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified.
7184     * 2.Incorrect parameter types. 3.Parameter verification failed.
7185     * @throws { BusinessError } 7600202 - Unsupported metadata. Possible causes: 1. Unsupported metadata type. 2. The
7186     * metadata type does not match the auxiliary picture type.
7187     * @syscap SystemCapability.Multimedia.Image.Core
7188     * @since 13
7189     */
7190    getMetadata(metadataType: MetadataType): Promise<Metadata>
7191
7192    /**
7193     * Obtains the information about this auxiliary picture.
7194     *
7195     * @returns { AuxiliaryPictureInfo } Returns the auxiliary picture information. If the operation fails, an error
7196     * message is returned.
7197     * @syscap SystemCapability.Multimedia.Image.Core
7198     * @since 13
7199     */
7200    getAuxiliaryPictureInfo(): AuxiliaryPictureInfo;
7201
7202    /**
7203     * Set the information about this auxiliary picture.
7204     *
7205     * @param { AuxiliaryPictureInfo } info the auxiliary picture information.
7206     * @throws { BusinessError } 401 - Parameter error.Possible causes: 1.Mandatory parameters are left unspecified.
7207     * 2.Incorrect parameter types. 3.Parameter verification failed.
7208     * @syscap SystemCapability.Multimedia.Image.Core
7209     * @since 13
7210     */
7211    setAuxiliaryPictureInfo(info: AuxiliaryPictureInfo): void
7212
7213    /**
7214     * Releases this AuxiliaryPicture object.
7215     * @syscap SystemCapability.Multimedia.Image.Core
7216     * @since 13
7217     */
7218    release():void
7219  }
7220
7221  /**
7222   * Enumerates auxiliary picture type.
7223   *
7224   * @enum { number }
7225   * @syscap SystemCapability.Multimedia.Image.Core
7226   * @since 13
7227   */
7228  enum AuxiliaryPictureType {
7229    /**
7230     * Gain map.
7231     *
7232     * @syscap SystemCapability.Multimedia.Image.Core
7233     * @since 13
7234     */
7235    GAINMAP = 1,
7236
7237    /**
7238     * Depth map.
7239     *
7240     * @syscap SystemCapability.Multimedia.Image.Core
7241     * @since 13
7242     */
7243    DEPTH_MAP = 2,
7244
7245    /**
7246     * Unrefocus map.
7247     *
7248     * @syscap SystemCapability.Multimedia.Image.Core
7249     * @since 13
7250     */
7251    UNREFOCUS_MAP = 3,
7252
7253    /**
7254     * Linear map.
7255     *
7256     * @syscap SystemCapability.Multimedia.Image.Core
7257     * @since 13
7258     */
7259    LINEAR_MAP = 4,
7260
7261    /**
7262     * Fragment map.
7263     *
7264     * @syscap SystemCapability.Multimedia.Image.Core
7265     * @since 13
7266     */
7267    FRAGMENT_MAP = 5,
7268  }
7269
7270  /**
7271   * Enumerates metadata type.
7272   *
7273   * @enum { number }
7274   * @syscap SystemCapability.Multimedia.Image.Core
7275   * @since 13
7276   */
7277  enum MetadataType {
7278    /**
7279     * EXIF metadata.
7280     *
7281     * @syscap SystemCapability.Multimedia.Image.Core
7282     * @since 13
7283     */
7284    EXIF_METADATA = 1,
7285
7286    /**
7287     * Fragment metadata.
7288     *
7289     * @syscap SystemCapability.Multimedia.Image.Core
7290     * @since 13
7291     */
7292    FRAGMENT_METADATA = 2,
7293  }
7294
7295  /**
7296   * Metadata instance.
7297   *
7298   * @typedef Metadata
7299   * @syscap SystemCapability.Multimedia.Image.Core
7300   * @since 13
7301   */
7302  interface Metadata {
7303    /**
7304     * Obtains the value of properties in an image. This method uses a promise to return the property values in array
7305     * of records.
7306     *
7307     * @param { Array<string> } key Name of the properties whose value is to be obtained.
7308     * @returns { Promise<Record<string, string | null>> } Array of Records instance used to return the property values.
7309     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified.
7310     * 2.Incorrect parameter types. 3.Parameter verification failed.
7311     * @throws { BusinessError } 7600202 - Unsupported metadata. Possible causes: 1. Unsupported metadata type. 2. The
7312     * metadata type does not match the auxiliary picture type.
7313     * @syscap SystemCapability.Multimedia.Image.Core
7314     * @since 13
7315     */
7316    getProperties(key: Array<string>): Promise<Record<string, string | null>>
7317
7318    /**
7319     * Modify the value of properties in an image with the specified keys.
7320     *
7321     * @param { Record<string, string | null> } records Array of the property Records whose values are to
7322     * be modified.
7323     * @returns { Promise<void> } A Promise instance used to return the operation result.
7324     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified.
7325     * 2.Incorrect parameter types. 3.Parameter verification failed.
7326     * @throws { BusinessError } 7600202 - Unsupported metadata. Possible causes: 1. Unsupported metadata type. 2. The
7327     * metadata type does not match the auxiliary picture type.
7328     * @syscap SystemCapability.Multimedia.Image.Core
7329     * @since 13
7330     */
7331    setProperties(records: Record<string, string | null>): Promise<void>
7332
7333    /**
7334     * Obtains the value of all properties in an image. This method uses a promise to return the property values
7335     * in array of records.
7336     *
7337     * @returns { Promise<Record<string, string | null>> } Array of Records instance used to return the property values.
7338     * @syscap SystemCapability.Multimedia.Image.Core
7339     * @since 13
7340     */
7341    getAllProperties(): Promise<Record<string, string | null>>
7342
7343    /**
7344     * Obtains a clone of metadata. This method uses a promise to return the metadata.
7345     *
7346     * @returns { Promise<Metadata> } A Promise instance used to return the metadata.
7347     * @throws { BusinessError } 7600301 - Memory alloc failed.
7348     * @throws { BusinessError } 7600302 - Memory copy failed.
7349     * @syscap SystemCapability.Multimedia.Image.Core
7350     * @since 13
7351     */
7352    clone(): Promise<Metadata>
7353  }
7354
7355  /**
7356   * Enumerates fragment map information types of an image.
7357   *
7358   * @enum { string }
7359   * @syscap SystemCapability.Multimedia.Image.Core
7360   * @since 13
7361   */
7362  enum FragmentMapPropertyKey {
7363    /**
7364     * The x-coordinate of the top left corner of the mark cup map in the original image.
7365     *
7366     * @syscap SystemCapability.Multimedia.Image.Core
7367     * @since 13
7368     */
7369    X_IN_ORIGINAL = 'XInOriginal',
7370
7371    /**
7372     * The y-coordinate of the top left corner of the mark cup map in the original image.
7373     *
7374     * @syscap SystemCapability.Multimedia.Image.Core
7375     * @since 13
7376     */
7377    Y_IN_ORIGINAL = 'YInOriginal',
7378
7379    /**
7380     * Mark cut map width.
7381     *
7382     * @syscap SystemCapability.Multimedia.Image.Core
7383     * @since 13
7384     */
7385    WIDTH = 'FragmentImageWidth',
7386
7387    /**
7388     * Mark cut map width.
7389     *
7390     * @syscap SystemCapability.Multimedia.Image.Core
7391     * @since 13
7392     */
7393    HEIGHT = 'FragmentImageHeight'
7394  }
7395
7396  /**
7397   * Describes image decoding parameters.
7398   *
7399   * @typedef DecodingOptionsForPicture
7400   * @syscap SystemCapability.Multimedia.Image.ImageSource
7401   * @since 13
7402   */
7403  interface DecodingOptionsForPicture {
7404    /**
7405     * Expected set of auxiliary picture types, default to decoding all auxiliary pictures.
7406     *
7407     * @type { Array<AuxiliaryPictureType> }
7408     * @syscap SystemCapability.Multimedia.Image.ImageSource
7409     * @since 13
7410     */
7411    desiredAuxiliaryPictures: Array<AuxiliaryPictureType>;
7412  }
7413
7414   /**
7415   * Describes auxiliary picture information.
7416   *
7417   * @typedef AuxiliaryPictureInfo
7418   * @syscap SystemCapability.Multimedia.Image.Core
7419   * @since 13
7420   */
7421  interface AuxiliaryPictureInfo {
7422    /**
7423     * Indicates auxiliary picture type.
7424     *
7425     * @type { AuxiliaryPictureType }
7426     * @syscap SystemCapability.Multimedia.Image.Core
7427     * @since 13
7428     */
7429    auxiliaryPictureType: AuxiliaryPictureType;
7430
7431    /**
7432     * Indicates image dimensions specified by a {@link Size} interface.
7433     *
7434     * @type { Size }
7435     * @syscap SystemCapability.Multimedia.Image.Core
7436     * @since 13
7437     */
7438    size: Size;
7439
7440    /**
7441     * The number of byte per row.
7442     *
7443     * @type { number }
7444     * @syscap SystemCapability.Multimedia.Image.Core
7445     * @since 13
7446     */
7447    rowStride: number;
7448
7449    /**
7450     * Indicates image format.
7451     *
7452     * @type { PixelMapFormat }
7453     * @syscap SystemCapability.Multimedia.Image.Core
7454     * @since 13
7455     */
7456     pixelFormat: PixelMapFormat;
7457
7458    /**
7459     * Indicates color space for pixel map.
7460     *
7461     * @type { colorSpaceManager.ColorSpaceManager }
7462     * @syscap SystemCapability.Multimedia.Image.Core
7463     * @since 13
7464     */
7465     colorSpace: colorSpaceManager.ColorSpaceManager;
7466  }
7467
7468  /**
7469   * ImageSource instance.
7470   *
7471   * @typedef ImageSource
7472   * @syscap SystemCapability.Multimedia.Image.ImageSource
7473   * @since 6
7474   */
7475  /**
7476   * ImageSource instance.
7477   *
7478   * @typedef ImageSource
7479   * @syscap SystemCapability.Multimedia.Image.ImageSource
7480   * @crossplatform
7481   * @since 10
7482   */
7483  /**
7484   * ImageSource instance.
7485   *
7486   * @typedef ImageSource
7487   * @syscap SystemCapability.Multimedia.Image.ImageSource
7488   * @crossplatform
7489   * @atomicservice
7490   * @since 11
7491   */
7492  /**
7493   * ImageSource instance.
7494   *
7495   * @typedef ImageSource
7496   * @syscap SystemCapability.Multimedia.Image.ImageSource
7497   * @crossplatform
7498   * @form
7499   * @atomicservice
7500   * @since 12
7501   */
7502  interface ImageSource {
7503    /**
7504     * Obtains information about an image with the specified sequence number and uses a callback
7505     * to return the result.
7506     *
7507     * @param { number } index Sequence number of an image.
7508     * @param { AsyncCallback<ImageInfo> } callback Callback used to return the image information.
7509     * @syscap SystemCapability.Multimedia.Image.ImageSource
7510     * @since 6
7511     */
7512    /**
7513     * Obtains information about an image with the specified sequence number and uses a callback
7514     * to return the result.
7515     *
7516     * @param { number } index Sequence number of an image.
7517     * @param { AsyncCallback<ImageInfo> } callback Callback used to return the image information.
7518     * @syscap SystemCapability.Multimedia.Image.ImageSource
7519     * @crossplatform
7520     * @since 10
7521     */
7522    /**
7523     * Obtains information about an image with the specified sequence number and uses a callback
7524     * to return the result.
7525     *
7526     * @param { number } index Sequence number of an image.
7527     * @param { AsyncCallback<ImageInfo> } callback Callback used to return the image information.
7528     * @syscap SystemCapability.Multimedia.Image.ImageSource
7529     * @crossplatform
7530     * @atomicservice
7531     * @since 11
7532     */
7533    /**
7534     * Obtains information about an image with the specified sequence number and uses a callback
7535     * to return the result.
7536     *
7537     * @param { number } index Sequence number of an image.
7538     * @param { AsyncCallback<ImageInfo> } callback Callback used to return the image information.
7539     * @syscap SystemCapability.Multimedia.Image.ImageSource
7540     * @crossplatform
7541     * @form
7542     * @atomicservice
7543     * @since 12
7544     */
7545    getImageInfo(index: number, callback: AsyncCallback<ImageInfo>): void;
7546
7547    /**
7548     * Obtains information about this image and uses a callback to return the result.
7549     *
7550     * @param { AsyncCallback<ImageInfo> } callback Callback used to return the image information.
7551     * @syscap SystemCapability.Multimedia.Image.ImageSource
7552     * @since 6
7553     */
7554    /**
7555     * Obtains information about this image and uses a callback to return the result.
7556     *
7557     * @param { AsyncCallback<ImageInfo> } callback Callback used to return the image information.
7558     * @syscap SystemCapability.Multimedia.Image.ImageSource
7559     * @crossplatform
7560     * @since 10
7561     */
7562    /**
7563     * Obtains information about this image and uses a callback to return the result.
7564     *
7565     * @param { AsyncCallback<ImageInfo> } callback Callback used to return the image information.
7566     * @syscap SystemCapability.Multimedia.Image.ImageSource
7567     * @crossplatform
7568     * @atomicservice
7569     * @since 11
7570     */
7571    /**
7572     * Obtains information about this image and uses a callback to return the result.
7573     *
7574     * @param { AsyncCallback<ImageInfo> } callback Callback used to return the image information.
7575     * @syscap SystemCapability.Multimedia.Image.ImageSource
7576     * @crossplatform
7577     * @form
7578     * @atomicservice
7579     * @since 12
7580     */
7581    getImageInfo(callback: AsyncCallback<ImageInfo>): void;
7582
7583    /**
7584     * Get image information from image source.
7585     *
7586     * @param { number } index Sequence number of an image. If this parameter is not specified, the default value 0 is used.
7587     * @returns { Promise<ImageInfo> } A Promise instance used to return the image information.
7588     * @syscap SystemCapability.Multimedia.Image.ImageSource
7589     * @since 6
7590     */
7591    /**
7592     * Get image information from image source.
7593     *
7594     * @param { number } index Sequence number of an image. If this parameter is not specified, the default value 0 is used.
7595     * @returns { Promise<ImageInfo> } A Promise instance used to return the image information.
7596     * @syscap SystemCapability.Multimedia.Image.ImageSource
7597     * @crossplatform
7598     * @since 10
7599     */
7600    /**
7601     * Get image information from image source.
7602     *
7603     * @param { number } index Sequence number of an image. If this parameter is not specified, the default value 0 is used.
7604     * @returns { Promise<ImageInfo> } A Promise instance used to return the image information.
7605     * @syscap SystemCapability.Multimedia.Image.ImageSource
7606     * @crossplatform
7607     * @atomicservice
7608     * @since 11
7609     */
7610    /**
7611     * Get image information from image source.
7612     *
7613     * @param { number } index Sequence number of an image. If this parameter is not specified, the default value 0 is used.
7614     * @returns { Promise<ImageInfo> } A Promise instance used to return the image information.
7615     * @syscap SystemCapability.Multimedia.Image.ImageSource
7616     * @crossplatform
7617     * @form
7618     * @atomicservice
7619     * @since 12
7620     */
7621    getImageInfo(index?: number): Promise<ImageInfo>;
7622
7623    /**
7624     * Get image information from image source synchronously.
7625     *
7626     * @param { number } index - Index of sequence images. If this parameter is not specified, default value is 0.
7627     * @returns { ImageInfo } The image information.
7628     * @syscap SystemCapability.Multimedia.Image.ImageSource
7629     * @crossplatform
7630     * @since 12
7631     */
7632    getImageInfoSync(index?: number): ImageInfo;
7633
7634    /**
7635     * Creates a PixelMap object based on image decoding parameters. This method uses a promise to
7636     * return the object.
7637     *
7638     * @param { DecodingOptions } options Image decoding parameters.
7639     * @returns { Promise<PixelMap> } A Promise instance used to return the PixelMap object.
7640     * @syscap SystemCapability.Multimedia.Image.ImageSource
7641     * @since 7
7642     */
7643    /**
7644     * Creates a PixelMap object based on image decoding parameters. This method uses a promise to
7645     * return the object.
7646     *
7647     * @param { DecodingOptions } options Image decoding parameters.
7648     * @returns { Promise<PixelMap> } A Promise instance used to return the PixelMap object.
7649     * @syscap SystemCapability.Multimedia.Image.ImageSource
7650     * @crossplatform
7651     * @since 10
7652     */
7653    /**
7654     * Creates a PixelMap object based on image decoding parameters. This method uses a promise to
7655     * return the object.
7656     *
7657     * @param { DecodingOptions } options Image decoding parameters.
7658     * @returns { Promise<PixelMap> } A Promise instance used to return the PixelMap object.
7659     * @syscap SystemCapability.Multimedia.Image.ImageSource
7660     * @crossplatform
7661     * @atomicservice
7662     * @since 11
7663     */
7664    /**
7665     * Creates a PixelMap object based on image decoding parameters. This method uses a promise to
7666     * return the object.
7667     *
7668     * @param { DecodingOptions } options Image decoding parameters.
7669     * @returns { Promise<PixelMap> } A Promise instance used to return the PixelMap object.
7670     * @syscap SystemCapability.Multimedia.Image.ImageSource
7671     * @crossplatform
7672     * @form
7673     * @atomicservice
7674     * @since 12
7675     */
7676    createPixelMap(options?: DecodingOptions): Promise<PixelMap>;
7677
7678    /**
7679     * Creates a PixelMap object. This method uses a callback to return the object.
7680     *
7681     * @param { AsyncCallback<PixelMap> } callback Callback used to return the PixelMap object.
7682     * @syscap SystemCapability.Multimedia.Image.ImageSource
7683     * @since 7
7684     */
7685    /**
7686     * Creates a PixelMap object. This method uses a callback to return the object.
7687     *
7688     * @param { AsyncCallback<PixelMap> } callback Callback used to return the PixelMap object.
7689     * @syscap SystemCapability.Multimedia.Image.ImageSource
7690     * @crossplatform
7691     * @since 10
7692     */
7693    /**
7694     * Creates a PixelMap object. This method uses a callback to return the object.
7695     *
7696     * @param { AsyncCallback<PixelMap> } callback Callback used to return the PixelMap object.
7697     * @syscap SystemCapability.Multimedia.Image.ImageSource
7698     * @crossplatform
7699     * @atomicservice
7700     * @since 11
7701     */
7702    /**
7703     * Creates a PixelMap object. This method uses a callback to return the object.
7704     *
7705     * @param { AsyncCallback<PixelMap> } callback Callback used to return the PixelMap object.
7706     * @syscap SystemCapability.Multimedia.Image.ImageSource
7707     * @crossplatform
7708     * @form
7709     * @atomicservice
7710     * @since 12
7711     */
7712    createPixelMap(callback: AsyncCallback<PixelMap>): void;
7713
7714    /**
7715     * Creates a PixelMap object based on image decoding parameters. This method uses a callback to
7716     * return the object.
7717     *
7718     * @param { DecodingOptions } options Image decoding parameters.
7719     * @param { AsyncCallback<PixelMap> } callback Callback used to return the PixelMap object.
7720     * @syscap SystemCapability.Multimedia.Image.ImageSource
7721     * @since 7
7722     */
7723    /**
7724     * Creates a PixelMap object based on image decoding parameters. This method uses a callback to
7725     * return the object.
7726     *
7727     * @param { DecodingOptions } options Image decoding parameters.
7728     * @param { AsyncCallback<PixelMap> } callback Callback used to return the PixelMap object.
7729     * @syscap SystemCapability.Multimedia.Image.ImageSource
7730     * @crossplatform
7731     * @since 10
7732     */
7733    /**
7734     * Creates a PixelMap object based on image decoding parameters. This method uses a callback to
7735     * return the object.
7736     *
7737     * @param { DecodingOptions } options Image decoding parameters.
7738     * @param { AsyncCallback<PixelMap> } callback Callback used to return the PixelMap object.
7739     * @syscap SystemCapability.Multimedia.Image.ImageSource
7740     * @crossplatform
7741     * @atomicservice
7742     * @since 11
7743     */
7744    /**
7745     * Creates a PixelMap object based on image decoding parameters. This method uses a callback to
7746     * return the object.
7747     *
7748     * @param { DecodingOptions } options Image decoding parameters.
7749     * @param { AsyncCallback<PixelMap> } callback Callback used to return the PixelMap object.
7750     * @syscap SystemCapability.Multimedia.Image.ImageSource
7751     * @crossplatform
7752     * @form
7753     * @atomicservice
7754     * @since 12
7755     */
7756    createPixelMap(options: DecodingOptions, callback: AsyncCallback<PixelMap>): void;
7757
7758    /**
7759     * Creates a PixelMap based on decoding parameters, the memory type used by the PixelMap can be specified by
7760     * allocatorType. By default, the system selects the memory type based on the image type, image size, platform
7761     * capability, etc. When processing the PixelMap returned by this interface, please always consider the impact of
7762     * stride.
7763     *
7764     * @param { DecodingOptions } options Image decoding parameters.
7765     * @param { AllocatorType } allocatorType Indicate which memory type will be used by the returned PixelMap.
7766     * @returns { Promise<PixelMap> } A Promise instance used to return the PixelMap object.
7767     * @throws { BusinessError } 401 - Parameter error.Possible causes: 1.Mandatory parameters are left unspecified.
7768     * 2.Incorrect parameter types; 3.Parameter verification failed.
7769     * @throws { BusinessError } 7700101 - Bad source.
7770     * @throws { BusinessError } 7700102 - Unsupported mimetype.
7771     * @throws { BusinessError } 7700103 - Image too large.
7772     * @throws { BusinessError } 7700201 - Unsupported allocator type, e.g., use share memory to decode a HDR image as
7773     * only DMA supported hdr metadata.
7774     * @throws { BusinessError } 7700203 - Unsupported options, e.g, cannot convert image into desired pixel format.
7775     * @throws { BusinessError } 7700301 - Decode failed.
7776     * @throws { BusinessError } 7700302 - Memory allocation failed.
7777     * @syscap SystemCapability.Multimedia.Image.ImageSource
7778     * @since 15
7779     */
7780    createPixelMapUsingAllocator(options?: DecodingOptions, allocatorType?: AllocatorType): Promise<PixelMap>;
7781
7782    /**
7783     * Create a PixelMap object based on image decoding parameters synchronously.
7784     *
7785     * @param { DecodingOptions } options - Image decoding parameters.
7786     * @returns { PixelMap } Return the PixelMap. If decoding fails, return undefined.
7787     * @syscap SystemCapability.Multimedia.Image.ImageSource
7788     * @crossplatform
7789     * @since 12
7790     */
7791    createPixelMapSync(options?: DecodingOptions): PixelMap;
7792
7793    /**
7794     * Creates a PixelMap based on decoding parameters synchronously, the memory type used by the PixelMap can be
7795     * specified by allocatorType. By default, the system selects the memory type based on the image type, image size,
7796     * platform capability, etc. When processing the PixelMap returned by this interface, please always consider the
7797     * impact of stride.
7798     *
7799     * @param { DecodingOptions } options Image decoding parameters.
7800     * @param { AllocatorType } allocatorType Indicate which memory type will be used by the returned PixelMap.
7801     * @returns { PixelMap } Return the PixelMap. If decoding fails, return undefined.
7802     * @throws { BusinessError } 401 - Parameter error.Possible causes: 1.Mandatory parameters are left unspecified.
7803     * 2.Incorrect parameter types; 3.Parameter verification failed.
7804     * @throws { BusinessError } 7700101 - Bad source.
7805     * @throws { BusinessError } 7700102 - Unsupported mimetype.
7806     * @throws { BusinessError } 7700103 - Image too large.
7807     * @throws { BusinessError } 7700201 - Unsupported allocator type, e.g., use share memory to decode a HDR image as
7808     * only DMA supported hdr metadata.
7809     * @throws { BusinessError } 7700203 - Unsupported options, e.g, cannot convert image into desired pixel format.
7810     * @throws { BusinessError } 7700301 - Decode failed.
7811     * @throws { BusinessError } 7700302 - Memory allocation failed.
7812     * @syscap SystemCapability.Multimedia.Image.ImageSource
7813     * @since 15
7814     */
7815    createPixelMapUsingAllocatorSync(options?: DecodingOptions, allocatorType?: AllocatorType): PixelMap;
7816
7817    /**
7818     * Creates a PixelMap array based on image decoding parameters. This method uses a promise to
7819     * return the array.
7820     *
7821     * @param { DecodingOptions } options Image decoding parameters.
7822     * @returns { Promise<Array<PixelMap>> } A Promise instance used to return the PixelMap array.
7823     * @throws { BusinessError } 62980096 - The operation failed.
7824     * @throws { BusinessError } 62980099 - The shared memory data is abnormal.
7825     * @throws { BusinessError } 62980101 - The image data is abnormal.
7826     * @throws { BusinessError } 62980103 - The image data is not supported.
7827     * @throws { BusinessError } 62980106 - The image is too large.
7828     * @throws { BusinessError } 62980109 - Failed to crop the image.
7829     * @throws { BusinessError } 62980110 - The image source data is incorrect.
7830     * @throws { BusinessError } 62980111 - The image source data is incomplete.
7831     * @throws { BusinessError } 62980112 - The image format does not match.
7832     * @throws { BusinessError } 62980113 - Unknown image format.
7833     * @throws { BusinessError } 62980115 - Invalid image parameter.
7834     * @throws { BusinessError } 62980116 - Failed to decode the image.
7835     * @throws { BusinessError } 62980118 - Failed to create the image plugin.
7836     * @throws { BusinessError } 62980122 - The image decoding header is abnormal.
7837     * @throws { BusinessError } 62980137 - Invalid media operation.
7838     * @throws { BusinessError } 62980173 - The DMA memory does not exist.
7839     * @throws { BusinessError } 62980174 - The DMA memory data is abnormal.
7840     * @syscap SystemCapability.Multimedia.Image.ImageSource
7841     * @crossplatform
7842     * @since 10
7843     */
7844     /**
7845     * Creates a PixelMap array based on image decoding parameters. This method uses a promise to
7846     * return the array.
7847     *
7848     * @param { DecodingOptions } options Image decoding parameters.
7849     * @returns { Promise<Array<PixelMap>> } A Promise instance used to return the PixelMap array.
7850     * @throws { BusinessError } 62980096 - The operation failed.
7851     * @throws { BusinessError } 62980099 - The shared memory data is abnormal.
7852     * @throws { BusinessError } 62980101 - The image data is abnormal.
7853     * @throws { BusinessError } 62980103 - The image data is not supported.
7854     * @throws { BusinessError } 62980106 - The image is too large.
7855     * @throws { BusinessError } 62980109 - Failed to crop the image.
7856     * @throws { BusinessError } 62980110 - The image source data is incorrect.
7857     * @throws { BusinessError } 62980111 - The image source data is incomplete.
7858     * @throws { BusinessError } 62980112 - The image format does not match.
7859     * @throws { BusinessError } 62980113 - Unknown image format.
7860     * @throws { BusinessError } 62980115 - Invalid image parameter.
7861     * @throws { BusinessError } 62980116 - Failed to decode the image.
7862     * @throws { BusinessError } 62980118 - Failed to create the image plugin.
7863     * @throws { BusinessError } 62980122 - Failed to decode the image header.
7864     * @throws { BusinessError } 62980137 - Invalid media operation.
7865     * @throws { BusinessError } 62980173 - The DMA memory does not exist.
7866     * @throws { BusinessError } 62980174 - The DMA memory data is abnormal.
7867     * @syscap SystemCapability.Multimedia.Image.ImageSource
7868     * @crossplatform
7869     * @since 12
7870     */
7871    createPixelMapList(options?: DecodingOptions): Promise<Array<PixelMap>>;
7872
7873    /**
7874     * Creates a PixelMap array. This method uses a callback to return the array.
7875     *
7876     * @param { AsyncCallback<Array<PixelMap>> } callback Callback used to return the PixelMap array.
7877     * @throws { BusinessError } 62980096 - The operation failed.
7878     * @throws { BusinessError } 62980099 - The shared memory data is abnormal.
7879     * @throws { BusinessError } 62980101 - The image data is abnormal.
7880     * @throws { BusinessError } 62980103 - The image data is not supported.
7881     * @throws { BusinessError } 62980106 - The image is too large.
7882     * @throws { BusinessError } 62980109 - Failed to crop the image.
7883     * @throws { BusinessError } 62980110 - The image source data is incorrect.
7884     * @throws { BusinessError } 62980111 - The image source data is incomplete.
7885     * @throws { BusinessError } 62980112 - The image format does not match.
7886     * @throws { BusinessError } 62980113 - Unknown image format.
7887     * @throws { BusinessError } 62980115 - Invalid image parameter.
7888     * @throws { BusinessError } 62980116 - Failed to decode the image.
7889     * @throws { BusinessError } 62980118 - Failed to create the image plugin.
7890     * @throws { BusinessError } 62980122 - The image decoding header is abnormal.
7891     * @throws { BusinessError } 62980137 - Invalid media operation.
7892     * @throws { BusinessError } 62980173 - The DMA memory does not exist.
7893     * @throws { BusinessError } 62980174 - The DMA memory data is abnormal.
7894     * @syscap SystemCapability.Multimedia.Image.ImageSource
7895     * @crossplatform
7896     * @since 10
7897     */
7898    /**
7899     * Creates a PixelMap array. This method uses a callback to return the array.
7900     *
7901     * @param { AsyncCallback<Array<PixelMap>> } callback Callback used to return the PixelMap array.
7902     * @throws { BusinessError } 62980096 - The operation failed.
7903     * @throws { BusinessError } 62980099 - The shared memory data is abnormal.
7904     * @throws { BusinessError } 62980101 - The image data is abnormal.
7905     * @throws { BusinessError } 62980103 - The image data is not supported.
7906     * @throws { BusinessError } 62980106 - The image is too large.
7907     * @throws { BusinessError } 62980109 - Failed to crop the image.
7908     * @throws { BusinessError } 62980110 - The image source data is incorrect.
7909     * @throws { BusinessError } 62980111 - The image source data is incomplete.
7910     * @throws { BusinessError } 62980112 - The image format does not match.
7911     * @throws { BusinessError } 62980113 - Unknown image format.
7912     * @throws { BusinessError } 62980115 - Invalid image parameter.
7913     * @throws { BusinessError } 62980116 - Failed to decode the image.
7914     * @throws { BusinessError } 62980118 - Failed to create the image plugin.
7915     * @throws { BusinessError } 62980122 - Failed to decode the image header.
7916     * @throws { BusinessError } 62980137 - Invalid media operation.
7917     * @throws { BusinessError } 62980173 - The DMA memory does not exist.
7918     * @throws { BusinessError } 62980174 - The DMA memory data is abnormal.
7919     * @syscap SystemCapability.Multimedia.Image.ImageSource
7920     * @crossplatform
7921     * @since 12
7922     */
7923    createPixelMapList(callback: AsyncCallback<Array<PixelMap>>): void;
7924
7925    /**
7926     * Creates a PixelMap array based on image decoding parameters. This method uses a callback to
7927     * return the array.
7928     *
7929     * @param { DecodingOptions } options Image decoding parameters.
7930     * @param { AsyncCallback<Array<PixelMap>> } callback Callback used to return the PixelMap array.
7931     * @throws { BusinessError } 62980096 - The operation failed.
7932     * @throws { BusinessError } 62980099 - The shared memory data is abnormal.
7933     * @throws { BusinessError } 62980101 - The image data is abnormal.
7934     * @throws { BusinessError } 62980103 - The image data is not supported.
7935     * @throws { BusinessError } 62980106 - The image is too large.
7936     * @throws { BusinessError } 62980109 - Failed to crop the image.
7937     * @throws { BusinessError } 62980110 - The image source data is incorrect.
7938     * @throws { BusinessError } 62980111 - The image source data is incomplete.
7939     * @throws { BusinessError } 62980112 - The image format does not match.
7940     * @throws { BusinessError } 62980113 - Unknown image format.
7941     * @throws { BusinessError } 62980115 - Invalid image parameter.
7942     * @throws { BusinessError } 62980116 - Failed to decode the image.
7943     * @throws { BusinessError } 62980118 - Failed to create the image plugin.
7944     * @throws { BusinessError } 62980122 - The image decoding header is abnormal.
7945     * @throws { BusinessError } 62980137 - Invalid media operation.
7946     * @throws { BusinessError } 62980173 - The DMA memory does not exist.
7947     * @throws { BusinessError } 62980174 - The DMA memory data is abnormal.
7948     * @syscap SystemCapability.Multimedia.Image.ImageSource
7949     * @crossplatform
7950     * @since 10
7951     */
7952    /**
7953     * Creates a PixelMap array based on image decoding parameters. This method uses a callback to
7954     * return the array.
7955     *
7956     * @param { DecodingOptions } options Image decoding parameters.
7957     * @param { AsyncCallback<Array<PixelMap>> } callback Callback used to return the PixelMap array.
7958     * @throws { BusinessError } 62980096 - The operation failed.
7959     * @throws { BusinessError } 62980099 - The shared memory data is abnormal.
7960     * @throws { BusinessError } 62980101 - The image data is abnormal.
7961     * @throws { BusinessError } 62980103 - The image data is not supported.
7962     * @throws { BusinessError } 62980106 - The image is too large.
7963     * @throws { BusinessError } 62980109 - Failed to crop the image.
7964     * @throws { BusinessError } 62980110 - The image source data is incorrect.
7965     * @throws { BusinessError } 62980111 - The image source data is incomplete.
7966     * @throws { BusinessError } 62980112 - The image format does not match.
7967     * @throws { BusinessError } 62980113 - Unknown image format.
7968     * @throws { BusinessError } 62980115 - Invalid image parameter.
7969     * @throws { BusinessError } 62980116 - Failed to decode the image.
7970     * @throws { BusinessError } 62980118 - Failed to create the image plugin.
7971     * @throws { BusinessError } 62980122 - Failed to decode the image header.
7972     * @throws { BusinessError } 62980137 - Invalid media operation.
7973     * @throws { BusinessError } 62980173 - The DMA memory does not exist.
7974     * @throws { BusinessError } 62980174 - The DMA memory data is abnormal.
7975     * @syscap SystemCapability.Multimedia.Image.ImageSource
7976     * @crossplatform
7977     * @since 12
7978     */
7979    createPixelMapList(options: DecodingOptions, callback: AsyncCallback<Array<PixelMap>>): void;
7980
7981    /**
7982     * Obtains the array of delay time in an image. This method uses a promise to return the array.
7983     *
7984     * @returns { Promise<Array<number>> } A Promise instance used to return the array.
7985     * @throws { BusinessError } 62980096 - The operation failed.
7986     * @throws { BusinessError } 62980110 - The image source data is incorrect.
7987     * @throws { BusinessError } 62980111 - The image source data is incomplete.
7988     * @throws { BusinessError } 62980112 - The image format does not match.
7989     * @throws { BusinessError } 62980113 - Unknown image format.
7990     * @throws { BusinessError } 62980115 - Invalid image parameter.
7991     * @throws { BusinessError } 62980116 - Failed to decode the image.
7992     * @throws { BusinessError } 62980118 - Failed to create the image plugin.
7993     * @throws { BusinessError } 62980122 - The image decoding header is abnormal.
7994     * @throws { BusinessError } 62980137 - Invalid media operation.
7995     * @throws { BusinessError } 62980149 - Invalid media parameter.
7996     * @syscap SystemCapability.Multimedia.Image.ImageSource
7997     * @crossplatform
7998     * @since 10
7999     */
8000    /**
8001     * Obtains the array of delay time in an image. This method uses a promise to return the array.
8002     *
8003     * @returns { Promise<Array<number>> } A Promise instance used to return the array.
8004     * @throws { BusinessError } 62980096 - The operation failed.
8005     * @throws { BusinessError } 62980110 - The image source data is incorrect.
8006     * @throws { BusinessError } 62980111 - The image source data is incomplete.
8007     * @throws { BusinessError } 62980112 - The image format does not match.
8008     * @throws { BusinessError } 62980113 - Unknown image format.
8009     * @throws { BusinessError } 62980115 - Invalid image parameter.
8010     * @throws { BusinessError } 62980116 - Failed to decode the image.
8011     * @throws { BusinessError } 62980118 - Failed to create the image plugin.
8012     * @throws { BusinessError } 62980122 - Failed to decode the image header.
8013     * @throws { BusinessError } 62980137 - Invalid media operation.
8014     * @throws { BusinessError } 62980149 - Invalid MIME type for the image source.
8015     * @syscap SystemCapability.Multimedia.Image.ImageSource
8016     * @crossplatform
8017     * @since 12
8018     */
8019    getDelayTimeList(): Promise<Array<number>>;
8020
8021    /**
8022     * Obtains the array of delay time in an image. This method uses a callback to return the array.
8023     *
8024     * @param { AsyncCallback<Array<number>> } callback Callback used to return the array.
8025     * @throws { BusinessError } 62980096 - The operation failed.
8026     * @throws { BusinessError } 62980110 - The image source data is incorrect.
8027     * @throws { BusinessError } 62980111 - The image source data is incomplete.
8028     * @throws { BusinessError } 62980112 - The image format does not match.
8029     * @throws { BusinessError } 62980113 - Unknown image format.
8030     * @throws { BusinessError } 62980115 - Invalid image parameter.
8031     * @throws { BusinessError } 62980116 - Failed to decode the image.
8032     * @throws { BusinessError } 62980118 - Failed to create the image plugin.
8033     * @throws { BusinessError } 62980122 - The image decoding header is abnormal.
8034     * @throws { BusinessError } 62980137 - Invalid media operation.
8035     * @throws { BusinessError } 62980149 - Invalid media parameter.
8036     * @syscap SystemCapability.Multimedia.Image.ImageSource
8037     * @crossplatform
8038     * @since 10
8039     */
8040    /**
8041     * Obtains the array of delay time in an image. This method uses a callback to return the array.
8042     *
8043     * @param { AsyncCallback<Array<number>> } callback Callback used to return the array.
8044     * @throws { BusinessError } 62980096 - The operation failed.
8045     * @throws { BusinessError } 62980110 - The image source data is incorrect.
8046     * @throws { BusinessError } 62980111 - The image source data is incomplete.
8047     * @throws { BusinessError } 62980112 - The image format does not match.
8048     * @throws { BusinessError } 62980113 - Unknown image format.
8049     * @throws { BusinessError } 62980115 - Invalid image parameter.
8050     * @throws { BusinessError } 62980116 - Failed to decode the image.
8051     * @throws { BusinessError } 62980118 - Failed to create the image plugin.
8052     * @throws { BusinessError } 62980122 - Failed to decode the image header.
8053     * @throws { BusinessError } 62980137 - Invalid media operation.
8054     * @throws { BusinessError } 62980149 - Invalid MIME type for the image source.
8055     * @syscap SystemCapability.Multimedia.Image.ImageSource
8056     * @crossplatform
8057     * @since 12
8058     */
8059    getDelayTimeList(callback: AsyncCallback<Array<number>>): void;
8060
8061    /**
8062     * Obtains the array of disposal type in a gif image. This method uses a promise to return the array.
8063     *
8064     * @returns { Promise<Array<number>> } A Promise instance used to return the array.
8065     * @throws { BusinessError } 62980096 - The operation failed.
8066     * @throws { BusinessError } 62980101 - The image data is abnormal.
8067     * @throws { BusinessError } 62980137 - Invalid media operation.
8068     * @throws { BusinessError } 62980149 - Invalid MIME type for the image source.
8069     * @syscap SystemCapability.Multimedia.Image.ImageSource
8070     * @crossplatform
8071     * @since 12
8072     */
8073    getDisposalTypeList(): Promise<Array<number>>;
8074
8075    /**
8076     * Obtains the count of frame in an image. This method uses a promise to return the number.
8077     *
8078     * @returns { Promise<number> } A Promise instance used to return the number.
8079     * @throws { BusinessError } 62980096 - The operation failed.
8080     * @throws { BusinessError } 62980110 - The image source data is incorrect.
8081     * @throws { BusinessError } 62980111 - The image source data is incomplete.
8082     * @throws { BusinessError } 62980112 - The image format does not match.
8083     * @throws { BusinessError } 62980113 - Unknown image format.
8084     * @throws { BusinessError } 62980115 - Invalid image parameter.
8085     * @throws { BusinessError } 62980116 - Failed to decode the image.
8086     * @throws { BusinessError } 62980118 - Failed to create the image plugin.
8087     * @throws { BusinessError } 62980122 - The image decoding header is abnormal.
8088     * @throws { BusinessError } 62980137 - Invalid media operation.
8089     * @syscap SystemCapability.Multimedia.Image.ImageSource
8090     * @crossplatform
8091     * @since 10
8092     */
8093    /**
8094     * Obtains the count of frame in an image. This method uses a promise to return the number.
8095     *
8096     * @returns { Promise<number> } A Promise instance used to return the number.
8097     * @throws { BusinessError } 62980096 - The operation failed.
8098     * @throws { BusinessError } 62980110 - The image source data is incorrect.
8099     * @throws { BusinessError } 62980111 - The image source data is incomplete.
8100     * @throws { BusinessError } 62980112 - The image format does not match.
8101     * @throws { BusinessError } 62980113 - Unknown image format.
8102     * @throws { BusinessError } 62980115 - Invalid image parameter.
8103     * @throws { BusinessError } 62980116 - Failed to decode the image.
8104     * @throws { BusinessError } 62980118 - Failed to create the image plugin.
8105     * @throws { BusinessError } 62980122 - Failed to decode the image header.
8106     * @throws { BusinessError } 62980137 - Invalid media operation.
8107     * @syscap SystemCapability.Multimedia.Image.ImageSource
8108     * @crossplatform
8109     * @since 12
8110     */
8111    getFrameCount(): Promise<number>;
8112
8113    /**
8114     * Obtains the count of frame in an image. This method uses a callback to return the number.
8115     *
8116     * @param { AsyncCallback<number> } callback Callback used to return the number.
8117     * @throws { BusinessError } 62980096 - The operation failed.
8118     * @throws { BusinessError } 62980110 - The image source data is incorrect.
8119     * @throws { BusinessError } 62980111 - The image source data is incomplete.
8120     * @throws { BusinessError } 62980112 - The image format does not match.
8121     * @throws { BusinessError } 62980113 - Unknown image format.
8122     * @throws { BusinessError } 62980115 - Invalid image parameter.
8123     * @throws { BusinessError } 62980116 - Failed to decode the image.
8124     * @throws { BusinessError } 62980118 - Failed to create the image plugin.
8125     * @throws { BusinessError } 62980122 - The image decoding header is abnormal.
8126     * @throws { BusinessError } 62980137 - Invalid media operation.
8127     * @syscap SystemCapability.Multimedia.Image.ImageSource
8128     * @crossplatform
8129     * @since 10
8130     */
8131    /**
8132     * Obtains the count of frame in an image. This method uses a callback to return the number.
8133     *
8134     * @param { AsyncCallback<number> } callback Callback used to return the number.
8135     * @throws { BusinessError } 62980096 - The operation failed.
8136     * @throws { BusinessError } 62980110 - The image source data is incorrect.
8137     * @throws { BusinessError } 62980111 - The image source data is incomplete.
8138     * @throws { BusinessError } 62980112 - The image format does not match.
8139     * @throws { BusinessError } 62980113 - Unknown image format.
8140     * @throws { BusinessError } 62980115 - Invalid image parameter.
8141     * @throws { BusinessError } 62980116 - Failed to decode the image.
8142     * @throws { BusinessError } 62980118 - Failed to create the image plugin.
8143     * @throws { BusinessError } 62980122 - Failed to decode the image header.
8144     * @throws { BusinessError } 62980137 - Invalid media operation.
8145     * @syscap SystemCapability.Multimedia.Image.ImageSource
8146     * @crossplatform
8147     * @since 12
8148     */
8149    getFrameCount(callback: AsyncCallback<number>): void;
8150
8151    /**
8152     * Obtains the value of a property in an image with the specified index. This method uses a
8153     * promise to return the property value in a string.
8154     *
8155     * @param { PropertyKey } key - Name of the property whose value is to be obtained.
8156     * @param { ImagePropertyOptions } options - Index of the image.
8157     * @returns { Promise<string> } A Promise instance used to return the property value. If the operation fails, the default value is returned.
8158     * @throws { BusinessError } 401 - Parameter error.Possible causes: 1.Mandatory parameters are left unspecified; 2.Incorrect parameter types;3.Parameter verification failed;
8159     * @throws { BusinessError } 62980096 - The operation failed.
8160     * @throws { BusinessError } 62980103 - The image data is not supported.
8161     * @throws { BusinessError } 62980110 - The image source data is incorrect.
8162     * @throws { BusinessError } 62980111 - The image source data is incomplete.
8163     * @throws { BusinessError } 62980112 - The image format does not match.
8164     * @throws { BusinessError } 62980113 - Unknown image format.
8165     * @throws { BusinessError } 62980115 - Invalid image parameter.
8166     * @throws { BusinessError } 62980116 - Failed to decode the image.
8167     * @throws { BusinessError } 62980118 - Failed to create the image plugin.
8168     * @throws { BusinessError } 62980122 - The image decoding header is abnormal.
8169     * @throws { BusinessError } 62980123 - Images in EXIF format are not supported.
8170     * @throws { BusinessError } 62980135 - The EXIF value is invalid.
8171     * @syscap SystemCapability.Multimedia.Image.ImageSource
8172     * @crossplatform
8173     * @since 11
8174     */
8175    /**
8176     * Obtains the value of a property in an image with the specified index. This method uses a
8177     * promise to return the property value in a string.
8178     *
8179     * @param { PropertyKey } key - Name of the property whose value is to be obtained.
8180     * @param { ImagePropertyOptions } options - Index of the image.
8181     * @returns { Promise<string> } A Promise instance used to return the property value. If the operation fails, the default value is returned.
8182     * @throws { BusinessError } 401 - Parameter error.Possible causes: 1.Mandatory parameters are left unspecified; 2.Incorrect parameter types;3.Parameter verification failed;
8183     * @throws { BusinessError } 62980096 - The operation failed.
8184     * @throws { BusinessError } 62980103 - The image data is not supported.
8185     * @throws { BusinessError } 62980110 - The image source data is incorrect.
8186     * @throws { BusinessError } 62980111 - The image source data is incomplete.
8187     * @throws { BusinessError } 62980112 - The image format does not match.
8188     * @throws { BusinessError } 62980113 - Unknown image format.
8189     * @throws { BusinessError } 62980115 - Invalid image parameter.
8190     * @throws { BusinessError } 62980116 - Failed to decode the image.
8191     * @throws { BusinessError } 62980118 - Failed to create the image plugin.
8192     * @throws { BusinessError } 62980122 - Failed to decode the image header.
8193     * @throws { BusinessError } 62980123 - Images in EXIF format are not supported.
8194     * @throws { BusinessError } 62980135 - The EXIF value is invalid.
8195     * @syscap SystemCapability.Multimedia.Image.ImageSource
8196     * @crossplatform
8197     * @since 12
8198     */
8199    getImageProperty(key: PropertyKey, options?: ImagePropertyOptions): Promise<string>;
8200
8201    /**
8202     * Obtains the value of a property in an image with the specified index. This method uses a
8203     * promise to return the property value in a string.
8204     *
8205     * @param { string } key Name of the property whose value is to be obtained.
8206     * @param { GetImagePropertyOptions } options Index of the image.
8207     * @returns { Promise<string> } A Promise instance used to return the property value. If the operation fails, the default value is returned.
8208     * @syscap SystemCapability.Multimedia.Image.ImageSource
8209     * @since 7
8210     * @deprecated since 11
8211     * @useinstead image.ImageSource#getImageProperty
8212     */
8213    /**
8214     * Obtains the value of a property in an image with the specified index. This method uses a
8215     * promise to return the property value in a string.
8216     *
8217     * @param { string } key Name of the property whose value is to be obtained.
8218     * @param { GetImagePropertyOptions } options Index of the image.
8219     * @returns { Promise<string> } A Promise instance used to return the property value. If the operation fails, the default value is returned.
8220     * @syscap SystemCapability.Multimedia.Image.ImageSource
8221     * @crossplatform
8222     * @since 10
8223     * @deprecated since 11
8224     * @useinstead image.ImageSource#getImageProperty
8225     */
8226    getImageProperty(key: string, options?: GetImagePropertyOptions): Promise<string>;
8227
8228    /**
8229     * Obtains the value of a property in this image. This method uses a callback to return the
8230     * property value in a string.
8231     *
8232     * @param { string } key Name of the property whose value is to be obtained.
8233     * @param { AsyncCallback<string> } callback Callback used to return the property value. If the operation fails, an error message is returned.
8234     * @syscap SystemCapability.Multimedia.Image.ImageSource
8235     * @since 7
8236     * @deprecated since 11
8237     * @useinstead image.ImageSource#getImageProperty
8238     */
8239    /**
8240     * Obtains the value of a property in this image. This method uses a callback to return the
8241     * property value in a string.
8242     *
8243     * @param { string } key Name of the property whose value is to be obtained.
8244     * @param { AsyncCallback<string> } callback Callback used to return the property value. If the operation fails, an error message is returned.
8245     * @syscap SystemCapability.Multimedia.Image.ImageSource
8246     * @crossplatform
8247     * @since 10
8248     * @deprecated since 11
8249     * @useinstead image.ImageSource#getImageProperty
8250     */
8251    getImageProperty(key: string, callback: AsyncCallback<string>): void;
8252
8253    /**
8254     * Obtains the value of a property in an image with the specified index. This method uses
8255     * a callback to return the property value in a string.
8256     *
8257     * @param { string } key Name of the property whose value is to be obtained.
8258     * @param { GetImagePropertyOptions } options Index of the image.
8259     * @param { AsyncCallback<string> } callback Callback used to return the property value. If the operation fails, the default value is returned.
8260     * @syscap SystemCapability.Multimedia.Image.ImageSource
8261     * @since 7
8262     * @deprecated since 11
8263     * @useinstead image.ImageSource#getImageProperty
8264     */
8265    /**
8266     * Obtains the value of a property in an image with the specified index. This method uses
8267     * a callback to return the property value in a string.
8268     *
8269     * @param { string } key Name of the property whose value is to be obtained.
8270     * @param { GetImagePropertyOptions } options Index of the image.
8271     * @param { AsyncCallback<string> } callback Callback used to return the property value. If the operation fails, the default value is returned.
8272     * @syscap SystemCapability.Multimedia.Image.ImageSource
8273     * @crossplatform
8274     * @since 10
8275     * @deprecated since 11
8276     * @useinstead image.ImageSource#getImageProperty
8277     */
8278    getImageProperty(key: string, options: GetImagePropertyOptions, callback: AsyncCallback<string>): void;
8279
8280    /**
8281     * Obtains the value of properties in an image. This method uses a promise to return the property values in array
8282     * of records.
8283     *
8284     * @param { Array<PropertyKey> } key - Name of the properties whose value is to be obtained.
8285     * @returns { Promise<Record<PropertyKey, string|null>> } Array of Records instance used to return the
8286     * property values. If the operation fails, the null is returned.
8287     * @throws { BusinessError } 401 - Parameter error.Possible causes: 1.Mandatory parameters are left unspecified; 2.Incorrect parameter types; 3.Parameter verification failed;
8288     * @throws { BusinessError } 62980096 - The operation failed.
8289     * @throws { BusinessError } 62980110 - The image source data is incorrect.
8290     * @throws { BusinessError } 62980113 - Unknown image format.
8291     * @throws { BusinessError } 62980116 - Failed to decode the image.
8292     * @syscap SystemCapability.Multimedia.Image.ImageSource
8293     * @crossplatform
8294     * @since 12
8295     */
8296    getImageProperties(key: Array<PropertyKey>): Promise<Record<PropertyKey, string|null>>;
8297
8298    /**
8299     * Modify the value of a property in an image with the specified key. This method uses a
8300     * promise to return the property value in a string.
8301     *
8302     * @param { PropertyKey } key - Name of the property whose value is to be modified.
8303     * @param { string } value - The value to be set to property.
8304     * @returns { Promise<void> } A Promise instance used to return the property value.
8305     * @throws { BusinessError } 401 - Parameter error.Possible causes: 1.Mandatory parameters are left unspecified; 2.Incorrect parameter types;
8306     * @throws { BusinessError } 62980123 - Images in EXIF format are not supported.
8307     * @throws { BusinessError } 62980133 - The EXIF data is out of range.
8308     * @throws { BusinessError } 62980135 - The EXIF value is invalid.
8309     * @throws { BusinessError } 62980146 - The EXIF data failed to be written to the file.
8310     * @syscap SystemCapability.Multimedia.Image.ImageSource
8311     * @crossplatform
8312     * @since 11
8313     */
8314    /**
8315     * Modify the value of a property in an image with the specified key. This method uses a
8316     * promise to return the property value in a string.
8317     *
8318     * @param { PropertyKey } key - Name of the property whose value is to be modified.
8319     * @param { string } value - The value to be set to property.
8320     * @returns { Promise<void> } A Promise instance used to return the property value.
8321     * @throws { BusinessError } 401 - Parameter error.Possible causes: 1.Mandatory parameters are left unspecified; 2.Incorrect parameter types;
8322     * @throws { BusinessError } 62980123 - The image does not support EXIF decoding.
8323     * @throws { BusinessError } 62980133 - The EXIF data is out of range.
8324     * @throws { BusinessError } 62980135 - The EXIF value is invalid.
8325     * @throws { BusinessError } 62980146 - The EXIF data failed to be written to the file.
8326     * @syscap SystemCapability.Multimedia.Image.ImageSource
8327     * @crossplatform
8328     * @since 12
8329     */
8330    modifyImageProperty(key: PropertyKey, value: string): Promise<void>;
8331
8332    /**
8333     * Modify the value of a property in an image with the specified key. This method uses a
8334     * promise to return the property value in a string.
8335     *
8336     * @param { string } key Name of the property whose value is to be modified.
8337     * @param { string } value The value to be set to property.
8338     * @returns { Promise<void> } A Promise instance used to return the property value.
8339     * @syscap SystemCapability.Multimedia.Image.ImageSource
8340     * @since 9
8341     * @deprecated since 11
8342     * @useinstead image.ImageSource#modifyImageProperty
8343     */
8344    /**
8345     * Modify the value of a property in an image with the specified key. This method uses a
8346     * promise to return the property value in a string.
8347     *
8348     * @param { string } key Name of the property whose value is to be modified.
8349     * @param { string } value The value to be set to property.
8350     * @returns { Promise<void> } A Promise instance used to return the property value.
8351     * @syscap SystemCapability.Multimedia.Image.ImageSource
8352     * @crossplatform
8353     * @since 10
8354     * @deprecated since 11
8355     * @useinstead image.ImageSource#modifyImageProperty
8356     */
8357    modifyImageProperty(key: string, value: string): Promise<void>;
8358
8359    /**
8360     * Modify the value of a property in an image with the specified key. This method uses a callback to return the
8361     * property value in a string.
8362     *
8363     * @param { string } key Name of the property whose value is to be obtained.
8364     * @param { string } value The value to be set to property.
8365     * @param { AsyncCallback<void> } callback Callback to return the operation result.
8366     * @syscap SystemCapability.Multimedia.Image.ImageSource
8367     * @since 9
8368     * @deprecated since 11
8369     * @useinstead image.ImageSource#modifyImageProperty
8370     */
8371    /**
8372     * Modify the value of a property in an image with the specified key. This method uses a callback to return the
8373     * property value in a string.
8374     *
8375     * @param { string } key Name of the property whose value is to be obtained.
8376     * @param { string } value The value to be set to property.
8377     * @param { AsyncCallback<void> } callback Callback to return the operation result.
8378     * @syscap SystemCapability.Multimedia.Image.ImageSource
8379     * @crossplatform
8380     * @since 10
8381     * @deprecated since 11
8382     * @useinstead image.ImageSource#modifyImageProperty
8383     */
8384    modifyImageProperty(key: string, value: string, callback: AsyncCallback<void>): void;
8385
8386    /**
8387     * Modify the value of properties in an image with the specified keys.
8388     *
8389     * @param { Record<PropertyKey, string|null> } records - Array of the property Records whose values are to
8390     * be modified.
8391     * @returns { Promise<void> } A Promise instance used to return the operation result. If the operation fails, an
8392     * error message is returned.
8393     * @throws { BusinessError } 401 - Parameter error.Possible causes: 1.Mandatory parameters are left unspecified; 2.Incorrect parameter types; 3.Parameter verification failed;
8394     * @throws { BusinessError } 62980123 - The image does not support EXIF decoding.
8395     * @throws { BusinessError } 62980133 - The EXIF data is out of range.
8396     * @throws { BusinessError } 62980135 - The EXIF value is invalid.
8397     * @throws { BusinessError } 62980146 - The EXIF data failed to be written to the file.
8398     * @syscap SystemCapability.Multimedia.Image.ImageSource
8399     * @crossplatform
8400     * @since 12
8401     */
8402    modifyImageProperties(records: Record<PropertyKey, string|null>): Promise<void>;
8403
8404    /**
8405     * Update the data in the incremental ImageSource.
8406     *
8407     * @param { ArrayBuffer } buf The data to be updated.
8408     * @param { boolean } isFinished If is it finished.
8409     * @param { number } value The offset of data.
8410     * @param { number } length The length fo buf.
8411     * @returns { Promise<void> } A Promise instance used to return the property value.
8412     * @syscap SystemCapability.Multimedia.Image.ImageSource
8413     * @since 9
8414     */
8415    /**
8416     * Update the data in the incremental ImageSource.
8417     *
8418     * @param { ArrayBuffer } buf The data to be updated.
8419     * @param { boolean } isFinished If is it finished.
8420     * @param { number } value The offset of data.
8421     * @param { number } length The length fo buf.
8422     * @returns { Promise<void> } A Promise instance used to return the property value.
8423     * @syscap SystemCapability.Multimedia.Image.ImageSource
8424     * @crossplatform
8425     * @since 10
8426     */
8427    /**
8428     * Update the data in the incremental ImageSource.
8429     *
8430     * @param { ArrayBuffer } buf The data to be updated.
8431     * @param { boolean } isFinished If is it finished.
8432     * @param { number } offset The offset of data.
8433     * @param { number } length The length fo buf.
8434     * @returns { Promise<void> } A Promise instance used to return the property value.
8435     * @syscap SystemCapability.Multimedia.Image.ImageSource
8436     * @crossplatform
8437     * @since 11
8438     */
8439    updateData(buf: ArrayBuffer, isFinished: boolean, offset: number, length: number): Promise<void>;
8440
8441    /**
8442     * Update the data in the incremental ImageSource.
8443     *
8444     * @param { ArrayBuffer } buf The data to be updated.
8445     * @param { boolean } isFinished If is it finished.
8446     * @param { number } value The offset of data.
8447     * @param { number } length The length fo buf.
8448     * @param { AsyncCallback<void> } callback Callback to return the operation result.
8449     * @syscap SystemCapability.Multimedia.Image.ImageSource
8450     * @since 9
8451     */
8452    /**
8453     * Update the data in the incremental ImageSource.
8454     *
8455     * @param { ArrayBuffer } buf The data to be updated.
8456     * @param { boolean } isFinished If is it finished.
8457     * @param { number } value The offset of data.
8458     * @param { number } length The length fo buf.
8459     * @param { AsyncCallback<void> } callback Callback to return the operation result.
8460     * @syscap SystemCapability.Multimedia.Image.ImageSource
8461     * @crossplatform
8462     * @since 10
8463     */
8464    /**
8465     * Update the data in the incremental ImageSource.
8466     *
8467     * @param { ArrayBuffer } buf The data to be updated.
8468     * @param { boolean } isFinished If is it finished.
8469     * @param { number } offset The offset of data.
8470     * @param { number } length The length fo buf.
8471     * @param { AsyncCallback<void> } callback Callback to return the operation result.
8472     * @syscap SystemCapability.Multimedia.Image.ImageSource
8473     * @crossplatform
8474     * @since 11
8475     */
8476    updateData(
8477      buf: ArrayBuffer,
8478      isFinished: boolean,
8479      offset: number,
8480      length: number,
8481      callback: AsyncCallback<void>
8482    ): void;
8483
8484    /**
8485     * Releases an ImageSource instance and uses a callback to return the result.
8486     *
8487     * @param { AsyncCallback<void> } callback Callback to return the operation result.
8488     * @syscap SystemCapability.Multimedia.Image.ImageSource
8489     * @since 6
8490     */
8491    /**
8492     * Releases an ImageSource instance and uses a callback to return the result.
8493     *
8494     * @param { AsyncCallback<void> } callback Callback to return the operation result.
8495     * @syscap SystemCapability.Multimedia.Image.ImageSource
8496     * @crossplatform
8497     * @since 10
8498     */
8499    release(callback: AsyncCallback<void>): void;
8500
8501    /**
8502     * Releases an ImageSource instance and uses a promise to return the result.
8503     *
8504     * @returns { Promise<void> } A Promise instance used to return the operation result.
8505     * @syscap SystemCapability.Multimedia.Image.ImageSource
8506     * @since 6
8507     */
8508    /**
8509     * Releases an ImageSource instance and uses a promise to return the result.
8510     *
8511     * @returns { Promise<void> } A Promise instance used to return the operation result.
8512     * @syscap SystemCapability.Multimedia.Image.ImageSource
8513     * @crossplatform
8514     * @since 10
8515     */
8516    release(): Promise<void>;
8517
8518    /**
8519     * Creates a Picture object based on image decoding parameters. This method uses a promise to
8520     * return the object.
8521     *
8522     * @param { DecodingOptionsForPicture } options Image decoding parameters.
8523     * @returns { Promise<Picture> } A Promise instance used to return the Picture object.
8524     * @throws { BusinessError } 401 - Parameter error.Possible causes: 1.Mandatory parameters are left unspecified.
8525     * 2.Incorrect parameter types; 3.Parameter verification failed.
8526     * @throws { BusinessError } 7700301 - Decode failed.
8527     * @syscap SystemCapability.Multimedia.Image.ImageSource
8528     * @since 13
8529     */
8530    createPicture(options?: DecodingOptionsForPicture): Promise<Picture>
8531
8532    /**
8533     * Supported image formats.
8534     *
8535     * @type { Array<string> }
8536     * @readonly
8537     * @syscap SystemCapability.Multimedia.Image.ImageSource
8538     * @since 6
8539     */
8540    /**
8541     * Supported image formats.
8542     *
8543     * @type { Array<string> }
8544     * @readonly
8545     * @syscap SystemCapability.Multimedia.Image.ImageSource
8546     * @crossplatform
8547     * @since 10
8548     */
8549    readonly supportedFormats: Array<string>;
8550  }
8551
8552  /**
8553   * ImagePacker instance.
8554   *
8555   * @typedef ImagePacker
8556   * @syscap SystemCapability.Multimedia.Image.ImagePacker
8557   * @since 6
8558   */
8559  /**
8560   * ImagePacker instance.
8561   *
8562   * @typedef ImagePacker
8563   * @syscap SystemCapability.Multimedia.Image.ImagePacker
8564   * @crossplatform
8565   * @since 10
8566   */
8567  /**
8568   * ImagePacker instance.
8569   *
8570   * @typedef ImagePacker
8571   * @syscap SystemCapability.Multimedia.Image.ImagePacker
8572   * @crossplatform
8573   * @atomicservice
8574   * @since 11
8575   */
8576  interface ImagePacker {
8577    /**
8578     * Compresses or packs an image and uses a callback to return the result.
8579     *
8580     * @param { ImageSource } source Image to be processed.
8581     * @param { PackingOption } option Option for image packing.
8582     * @param { AsyncCallback<ArrayBuffer> } callback Callback used to return the packed data.
8583     * @syscap SystemCapability.Multimedia.Image.ImagePacker
8584     * @since 6
8585     * @deprecated since 13
8586     * @useinstead image.ImagePacker#packToData
8587     */
8588    /**
8589     * Compresses or packs an image and uses a callback to return the result.
8590     *
8591     * @param { ImageSource } source Image to be processed.
8592     * @param { PackingOption } option Option for image packing.
8593     * @param { AsyncCallback<ArrayBuffer> } callback Callback used to return the packed data.
8594     * @syscap SystemCapability.Multimedia.Image.ImagePacker
8595     * @crossplatform
8596     * @since 10
8597     * @deprecated since 13
8598     * @useinstead image.ImagePacker#packToData
8599     */
8600    /**
8601     * Compresses or packs an image and uses a callback to return the result.
8602     *
8603     * @param { ImageSource } source Image to be processed.
8604     * @param { PackingOption } option Option for image packing.
8605     * @param { AsyncCallback<ArrayBuffer> } callback Callback used to return the packed data.
8606     * @syscap SystemCapability.Multimedia.Image.ImagePacker
8607     * @crossplatform
8608     * @atomicservice
8609     * @since 11
8610     * @deprecated since 13
8611     * @useinstead image.ImagePacker#packToData
8612     */
8613    packing(source: ImageSource, option: PackingOption, callback: AsyncCallback<ArrayBuffer>): void;
8614
8615    /**
8616     * Compresses or packs an image and uses a promise to return the result.
8617     *
8618     * @param { ImageSource } source Image to be processed.
8619     * @param { PackingOption } option Option for image packing.
8620     * @returns { Promise<ArrayBuffer> } A Promise instance used to return the compressed or packed data.
8621     * @syscap SystemCapability.Multimedia.Image.ImagePacker
8622     * @since 6
8623     * @deprecated since 13
8624     * @useinstead image.ImagePacker#packToData
8625     */
8626    /**
8627     * Compresses or packs an image and uses a promise to return the result.
8628     *
8629     * @param { ImageSource } source Image to be processed.
8630     * @param { PackingOption } option Option for image packing.
8631     * @returns { Promise<ArrayBuffer> } A Promise instance used to return the compressed or packed data.
8632     * @syscap SystemCapability.Multimedia.Image.ImagePacker
8633     * @crossplatform
8634     * @since 10
8635     * @deprecated since 13
8636     * @useinstead image.ImagePacker#packToData
8637     */
8638    /**
8639     * Compresses or packs an image and uses a promise to return the result.
8640     *
8641     * @param { ImageSource } source Image to be processed.
8642     * @param { PackingOption } option Option for image packing.
8643     * @returns { Promise<ArrayBuffer> } A Promise instance used to return the compressed or packed data.
8644     * @syscap SystemCapability.Multimedia.Image.ImagePacker
8645     * @crossplatform
8646     * @atomicservice
8647     * @since 11
8648     * @deprecated since 13
8649     * @useinstead image.ImagePacker#packToData
8650     */
8651    packing(source: ImageSource, option: PackingOption): Promise<ArrayBuffer>;
8652
8653    /**
8654     * Compresses or packs an image and uses a promise to return the result.
8655     *
8656     * @param { ImageSource } source Image to be processed.
8657     * @param { PackingOption } options Option for image packing.
8658     * @returns { Promise<ArrayBuffer> } A Promise instance used to return the compressed or packed data.
8659     * @throws { BusinessError } 401 - If the parameter is invalid.
8660     * @throws { BusinessError } 62980096 - The Operation failed.
8661     * @throws { BusinessError } 62980101 - The image data is abnormal.
8662     * @throws { BusinessError } 62980106 - The image is too large.
8663     * @throws { BusinessError } 62980113 - Unknown image format.
8664     * @throws { BusinessError } 62980119 - If encoder occur error during encoding.
8665     * @throws { BusinessError } 62980120 - Add pixelmap out of range.
8666     * @throws { BusinessError } 62980172 - Failed to encode icc.
8667     * @throws { BusinessError } 62980252 - Failed to create surface.
8668     * @syscap SystemCapability.Multimedia.Image.ImagePacker
8669     * @crossplatform
8670     * @atomicservice
8671     * @since 13
8672     */
8673    packToData(source: ImageSource, options: PackingOption): Promise<ArrayBuffer>;
8674
8675    /**
8676     * Compresses or packs an image and uses a callback to return the result.
8677     *
8678     * @param { PixelMap } source PixelMap to be processed.
8679     * @param { PackingOption } option Option for image packing.
8680     * @param { AsyncCallback<ArrayBuffer> } callback Callback used to return the packed data.
8681     * @syscap SystemCapability.Multimedia.Image.ImagePacker
8682     * @since 8
8683     * @deprecated since 13
8684     * @useinstead image.ImagePacker#packToData
8685     */
8686    /**
8687     * Compresses or packs an image and uses a callback to return the result.
8688     *
8689     * @param { PixelMap } source PixelMap to be processed.
8690     * @param { PackingOption } option Option for image packing.
8691     * @param { AsyncCallback<ArrayBuffer> } callback Callback used to return the packed data.
8692     * @syscap SystemCapability.Multimedia.Image.ImagePacker
8693     * @crossplatform
8694     * @since 10
8695     * @deprecated since 13
8696     * @useinstead image.ImagePacker#packToData
8697     */
8698    /**
8699     * Compresses or packs an image and uses a callback to return the result.
8700     *
8701     * @param { PixelMap } source PixelMap to be processed.
8702     * @param { PackingOption } option Option for image packing.
8703     * @param { AsyncCallback<ArrayBuffer> } callback Callback used to return the packed data.
8704     * @syscap SystemCapability.Multimedia.Image.ImagePacker
8705     * @crossplatform
8706     * @atomicservice
8707     * @since 11
8708     * @deprecated since 13
8709     * @useinstead image.ImagePacker#packToData
8710     */
8711    packing(source: PixelMap, option: PackingOption, callback: AsyncCallback<ArrayBuffer>): void;
8712
8713    /**
8714     * Compresses or packs an image and uses a promise to return the result.
8715     *
8716     * @param { PixelMap } source PixelMap to be processed.
8717     * @param { PackingOption } option Option for image packing.
8718     * @returns { Promise<ArrayBuffer> } A Promise instance used to return the compressed or packed data.
8719     * @syscap SystemCapability.Multimedia.Image.ImagePacker
8720     * @since 8
8721     * @deprecated since 13
8722     * @useinstead image.ImagePacker#packToData
8723     */
8724    /**
8725     * Compresses or packs an image and uses a promise to return the result.
8726     *
8727     * @param { PixelMap } source PixelMap to be processed.
8728     * @param { PackingOption } option Option for image packing.
8729     * @returns { Promise<ArrayBuffer> } A Promise instance used to return the compressed or packed data.
8730     * @syscap SystemCapability.Multimedia.Image.ImagePacker
8731     * @crossplatform
8732     * @since 10
8733     * @deprecated since 13
8734     * @useinstead image.ImagePacker#packToData
8735     */
8736    /**
8737     * Compresses or packs an image and uses a promise to return the result.
8738     *
8739     * @param { PixelMap } source PixelMap to be processed.
8740     * @param { PackingOption } option Option for image packing.
8741     * @returns { Promise<ArrayBuffer> } A Promise instance used to return the compressed or packed data.
8742     * @syscap SystemCapability.Multimedia.Image.ImagePacker
8743     * @crossplatform
8744     * @atomicservice
8745     * @since 11
8746     * @deprecated since 13
8747     * @useinstead image.ImagePacker#packToData
8748     */
8749    packing(source: PixelMap, option: PackingOption): Promise<ArrayBuffer>;
8750
8751    /**
8752     * Compresses or packs an image and uses a promise to return the result.
8753     *
8754     * @param { PixelMap } source PixelMap to be processed.
8755     * @param { PackingOption } options Option for image packing.
8756     * @returns { Promise<ArrayBuffer> } A Promise instance used to return the compressed or packed data.
8757     * @throws { BusinessError } 401 - If the parameter is invalid.
8758     * @throws { BusinessError } 62980096 - The Operation failed.
8759     * @throws { BusinessError } 62980101 - The image data is abnormal.
8760     * @throws { BusinessError } 62980106 - The image is too large.
8761     * @throws { BusinessError } 62980113 - Unknown image format.
8762     * @throws { BusinessError } 62980119 - If encoder occur error during encoding.
8763     * @throws { BusinessError } 62980120 - Add pixelmap out of range.
8764     * @throws { BusinessError } 62980172 - Failed to encode icc.
8765     * @throws { BusinessError } 62980252 - Failed to create surface.
8766     * @syscap SystemCapability.Multimedia.Image.ImagePacker
8767     * @crossplatform
8768     * @atomicservice
8769     * @since 13
8770     */
8771    packToData(source: PixelMap, options: PackingOption): Promise<ArrayBuffer>;
8772
8773    /**
8774     * Compresses a Pixelmap sequence into gif.
8775     *
8776     * @param { Array<PixelMap> } pixelmapSequence PixelMaps to be encoded.
8777     * @param { PackingOptionsForSequence } options Options for image packing.
8778     * @returns { Promise<ArrayBuffer> } encoded buffer.
8779     * @throws { BusinessError } 401 - Parameter error.Possible causes: 1.Mandatory parameters are left unspecified.
8780     * 2.Incorrect parameter types;3.Parameter verification failed.
8781     * @throws { BusinessError } 7800201 - Unsupported options.
8782     * @throws { BusinessError } 7800301 - Encoding failed.
8783     * @syscap SystemCapability.Multimedia.Image.ImagePacker
8784     * @since 18
8785     */
8786    packToDataFromPixelmapSequence(pixelmapSequence: Array<PixelMap>, options: PackingOptionsForSequence): Promise<ArrayBuffer>;
8787
8788    /**
8789     * Compresses or packs an image into a file and uses a callback to return the result.
8790     *
8791     * @param { ImageSource } source Image to be processed.
8792     * @param { number } fd ID of a file descriptor.
8793     * @param { PackingOption } options Options for image packing.
8794     * @param { AsyncCallback<void> } callback Callback used to return the operation result.
8795     * @throws { BusinessError } 62980096 - The Operation failed.
8796     * @throws { BusinessError } 62980101 - The image data is abnormal.
8797     * @throws { BusinessError } 62980106 - The image is too large.
8798     * @throws { BusinessError } 62980113 - Unknown image format.
8799     * @throws { BusinessError } 62980115 - If the parameter is invalid.
8800     * @throws { BusinessError } 62980119 - If encoder occur error during encoding.
8801     * @throws { BusinessError } 62980120 - Add pixelmap out of range.
8802     * @throws { BusinessError } 62980172 - Failed to encode icc.
8803     * @throws { BusinessError } 62980252 - Failed to create surface.
8804     * @syscap SystemCapability.Multimedia.Image.ImagePacker
8805     * @crossplatform
8806     * @since 11
8807     */
8808    packToFile(source: ImageSource, fd: number, options: PackingOption, callback: AsyncCallback<void>): void;
8809
8810    /**
8811     * Compresses or packs an image into a file and uses a promise to return the result.
8812     *
8813     * @param { ImageSource } source Image to be processed.
8814     * @param { number } fd ID of a file descriptor.
8815     * @param { PackingOption } options Options for image packing.
8816     * @returns { Promise<void> } A Promise instance used to return the operation result.
8817     * @throws { BusinessError } 62980096 - The Operation failed.
8818     * @throws { BusinessError } 62980101 - The image data is abnormal.
8819     * @throws { BusinessError } 62980106 - The image is too large.
8820     * @throws { BusinessError } 62980113 - Unknown image format.
8821     * @throws { BusinessError } 62980115 - If the parameter is invalid.
8822     * @throws { BusinessError } 62980119 - If encoder occur error during encoding.
8823     * @throws { BusinessError } 62980120 - Add pixelmap out of range.
8824     * @throws { BusinessError } 62980172 - Failed to encode icc.
8825     * @throws { BusinessError } 62980252 - Failed to create surface.
8826     * @syscap SystemCapability.Multimedia.Image.ImagePacker
8827     * @crossplatform
8828     * @since 11
8829     */
8830    packToFile(source: ImageSource, fd: number, options: PackingOption): Promise<void>;
8831
8832    /**
8833     * Compresses or packs an image into a file and uses a callback to return the result.
8834     *
8835     * @param { PixelMap } source PixelMap to be processed.
8836     * @param { number } fd ID of a file descriptor.
8837     * @param { PackingOption } options Options for image packing.
8838     * @param { AsyncCallback<void> } callback Callback used to return the operation result.
8839     * @throws { BusinessError } 62980096 - The Operation failed.
8840     * @throws { BusinessError } 62980101 - The image data is abnormal.
8841     * @throws { BusinessError } 62980106 - The image is too large.
8842     * @throws { BusinessError } 62980113 - Unknown image format.
8843     * @throws { BusinessError } 62980115 - If the parameter is invalid.
8844     * @throws { BusinessError } 62980119 - If encoder occur error during encoding.
8845     * @throws { BusinessError } 62980120 - Add pixelmap out of range.
8846     * @throws { BusinessError } 62980172 - Failed to encode icc.
8847     * @throws { BusinessError } 62980252 - Failed to create surface.
8848     * @syscap SystemCapability.Multimedia.Image.ImagePacker
8849     * @crossplatform
8850     * @since 11
8851     */
8852    packToFile(source: PixelMap, fd: number, options: PackingOption, callback: AsyncCallback<void>): void;
8853
8854    /**
8855     * Compresses or packs an image into a file and uses a promise to return the result.
8856     *
8857     * @param { PixelMap } source PixelMap to be processed.
8858     * @param { number } fd ID of a file descriptor.
8859     * @param { PackingOption } options Options for image packing.
8860     * @returns { Promise<void> } A Promise instance used to return the operation result.
8861     * @throws { BusinessError } 62980096 - The Operation failed.
8862     * @throws { BusinessError } 62980101 - The image data is abnormal.
8863     * @throws { BusinessError } 62980106 - The image is too large.
8864     * @throws { BusinessError } 62980113 - Unknown image format.
8865     * @throws { BusinessError } 62980115 - If the parameter is invalid.
8866     * @throws { BusinessError } 62980119 - If encoder occur error during encoding.
8867     * @throws { BusinessError } 62980120 - Add pixelmap out of range.
8868     * @throws { BusinessError } 62980172 - Failed to encode icc.
8869     * @throws { BusinessError } 62980252 - Failed to create surface.
8870     * @syscap SystemCapability.Multimedia.Image.ImagePacker
8871     * @crossplatform
8872     * @since 11
8873     */
8874    packToFile(source: PixelMap, fd: number, options: PackingOption): Promise<void>;
8875
8876    /**
8877     * Compresses a Pixelmap sequence into gif.
8878     *
8879     * @param { Array<PixelMap> } pixelmapSequence PixelMaps to be encoded.
8880     * @param { number } fd File descriptor of the output encoded file.
8881     * @param { PackingOptionsForSequence } options Options for image packing.
8882     * @returns { Promise<void> } void.
8883     * @throws { BusinessError } 401 - Parameter error.Possible causes: 1.Mandatory parameters are left unspecified.
8884     * 2.Incorrect parameter types;3.Parameter verification failed.
8885     * @throws { BusinessError } 7800201 - Unsupported options.
8886     * @throws { BusinessError } 7800301 - Encoding failed.
8887     * @syscap SystemCapability.Multimedia.Image.ImagePacker
8888     * @since 18
8889     */
8890    packToFileFromPixelmapSequence(pixelmapSequence: Array<PixelMap>, fd: number, options: PackingOptionsForSequence): Promise<void>;
8891
8892     /**
8893     * Releases an ImagePacker instance and uses a callback to return the result.
8894     *
8895     * @param { AsyncCallback<void> } callback Callback to return the operation result.
8896     * @syscap SystemCapability.Multimedia.Image.ImagePacker
8897     * @since 6
8898     */
8899    /**
8900     * Releases an ImagePacker instance and uses a callback to return the result.
8901     *
8902     * @param { AsyncCallback<void> } callback Callback to return the operation result.
8903     * @syscap SystemCapability.Multimedia.Image.ImagePacker
8904     * @crossplatform
8905     * @since 10
8906     */
8907    release(callback: AsyncCallback<void>): void;
8908
8909    /**
8910     * Releases an ImagePacker instance and uses a promise to return the result.
8911     *
8912     * @returns { Promise<void> } A Promise instance used to return the operation result.
8913     * @syscap SystemCapability.Multimedia.Image.ImagePacker
8914     * @since 6
8915     */
8916    /**
8917     * Releases an ImagePacker instance and uses a promise to return the result.
8918     *
8919     * @returns { Promise<void> } A Promise instance used to return the operation result.
8920     * @syscap SystemCapability.Multimedia.Image.ImagePacker
8921     * @crossplatform
8922     * @since 10
8923     */
8924    release(): Promise<void>;
8925
8926    /**
8927     * Compresses or packs an image and uses a promise to return the result.
8928     *
8929     * @param { Picture } picture Picture to be processed.
8930     * @param { PackingOption } options Option for image packing.
8931     * @returns { Promise<ArrayBuffer> } A Promise instance used to return the compressed or packed data.
8932     * @throws { BusinessError } 401 - Parameter error.Possible causes: 1.Mandatory parameters are left unspecified.
8933     * 2.Incorrect parameter types. 3.Parameter verification failed.
8934     * @throws { BusinessError } 7800301 - Encode failed.
8935     * @syscap SystemCapability.Multimedia.Image.ImagePacker
8936     * @since 13
8937     */
8938    packing(picture: Picture, options: PackingOption): Promise<ArrayBuffer>;
8939
8940    /**
8941     * Compresses or packs an image into a file and uses a promise to return the result.
8942     *
8943     * @param { Picture } picture Picture to be processed.
8944     * @param { number } fd ID of a file descriptor.
8945     * @param { PackingOption } options Options for image packing.
8946     * @returns { Promise<void> } A Promise instance used to return the operation result.
8947     * @throws { BusinessError } 401 - Parameter error.Possible causes: 1.Mandatory parameters are left unspecified.
8948     * 2.Incorrect parameter types. 3.Parameter verification failed.
8949     * @throws { BusinessError } 7800301 - Encode failed.
8950     * @syscap SystemCapability.Multimedia.Image.ImagePacker
8951     * @since 13
8952     */
8953    packToFile(picture: Picture, fd: number, options: PackingOption): Promise<void>
8954
8955    /**
8956     * Supported image formats.
8957     *
8958     * @type { Array<string> }
8959     * @readonly
8960     * @syscap SystemCapability.Multimedia.Image.ImagePacker
8961     * @since 6
8962     */
8963    /**
8964     * Supported image formats.
8965     *
8966     * @type { Array<string> }
8967     * @readonly
8968     * @syscap SystemCapability.Multimedia.Image.ImagePacker
8969     * @crossplatform
8970     * @since 10
8971     */
8972    readonly supportedFormats: Array<string>;
8973  }
8974
8975  /**
8976   * Provides basic image operations, including obtaining image information, and reading and writing image data.
8977   *
8978   * @typedef Image
8979   * @syscap SystemCapability.Multimedia.Image.Core
8980   * @since 9
8981   */
8982  interface Image {
8983    /**
8984     * Sets or gets the image area to crop, default is size.
8985     *
8986     * @type { Region }
8987     * @syscap SystemCapability.Multimedia.Image.Core
8988     * @since 9
8989     */
8990    clipRect: Region;
8991
8992    /**
8993     * Image size.
8994     *
8995     * @type { Size }
8996     * @readonly
8997     * @syscap SystemCapability.Multimedia.Image.Core
8998     * @since 9
8999     */
9000    readonly size: Size;
9001
9002    /**
9003     * Image format.
9004     *
9005     * @type { number }
9006     * @readonly
9007     * @syscap SystemCapability.Multimedia.Image.Core
9008     * @since 9
9009     */
9010    readonly format: number;
9011
9012    /**
9013     * Image timestamp.
9014     *
9015     * @type { number }
9016     * @readonly
9017     * @syscap SystemCapability.Multimedia.Image.Core
9018     * @since 12
9019     */
9020    readonly timestamp: number;
9021
9022    /**
9023     * Get component buffer from image and uses a callback to return the result.
9024     *
9025     * @param { ComponentType } componentType The component type of image.
9026     * @param { AsyncCallback<Component> } callback Callback used to return the component buffer.
9027     * @syscap SystemCapability.Multimedia.Image.Core
9028     * @since 9
9029     */
9030    getComponent(componentType: ComponentType, callback: AsyncCallback<Component>): void;
9031
9032    /**
9033     * Get component buffer from image and uses a promise to return the result.
9034     *
9035     * @param { ComponentType } componentType The component type of image.
9036     * @returns { Promise<Component> } A Promise instance used to return the component buffer.
9037     * @syscap SystemCapability.Multimedia.Image.Core
9038     * @since 9
9039     */
9040    getComponent(componentType: ComponentType): Promise<Component>;
9041
9042    /**
9043     * Release current image to receive another and uses a callback to return the result.
9044     *
9045     * @param { AsyncCallback<void> } callback Callback to return the operation result.
9046     * @syscap SystemCapability.Multimedia.Image.Core
9047     * @since 9
9048     */
9049    release(callback: AsyncCallback<void>): void;
9050
9051    /**
9052     * Release current image to receive another and uses a promise to return the result.
9053     *
9054     * @returns { Promise<void> } A Promise instance used to return the operation result.
9055     * @syscap SystemCapability.Multimedia.Image.Core
9056     * @since 9
9057     */
9058    release(): Promise<void>;
9059  }
9060
9061  /**
9062   * Image receiver object.
9063   *
9064   * @typedef ImageReceiver
9065   * @syscap SystemCapability.Multimedia.Image.ImageReceiver
9066   * @since 9
9067   */
9068  interface ImageReceiver {
9069    /**
9070     * Image size.
9071     *
9072     * @type { Size }
9073     * @readonly
9074     * @syscap SystemCapability.Multimedia.Image.ImageReceiver
9075     * @since 9
9076     */
9077    readonly size: Size;
9078
9079    /**
9080     * Image capacity.
9081     *
9082     * @type { number }
9083     * @readonly
9084     * @syscap SystemCapability.Multimedia.Image.ImageReceiver
9085     * @since 9
9086     */
9087    readonly capacity: number;
9088
9089    /**
9090     * Image format.
9091     *
9092     * @type { ImageFormat }
9093     * @readonly
9094     * @syscap SystemCapability.Multimedia.Image.ImageReceiver
9095     * @since 9
9096     */
9097    readonly format: ImageFormat;
9098
9099    /**
9100     * Get an id which indicates a surface and can be used to set to Camera or other component can receive a surface
9101     * and uses a callback to return the result.
9102     *
9103     * @param { AsyncCallback<string> } callback Callback used to return the surface id.
9104     * @syscap SystemCapability.Multimedia.Image.ImageReceiver
9105     * @since 9
9106     */
9107    getReceivingSurfaceId(callback: AsyncCallback<string>): void;
9108
9109    /**
9110     * Get an id which indicates a surface and can be used to set to Camera or other component can receive a surface
9111     * and uses a promise to return the result.
9112     *
9113     * @returns { Promise<string> } A Promise instance used to return the surface id.
9114     * @syscap SystemCapability.Multimedia.Image.ImageReceiver
9115     * @since 9
9116     */
9117    getReceivingSurfaceId(): Promise<string>;
9118
9119    /**
9120     * Get lasted image from receiver and uses a callback to return the result.
9121     *
9122     * @param { AsyncCallback<Image> } callback Callback used to return the latest image.
9123     * @syscap SystemCapability.Multimedia.Image.ImageReceiver
9124     * @since 9
9125     */
9126    readLatestImage(callback: AsyncCallback<Image>): void;
9127
9128    /**
9129     * Get lasted image from receiver and uses a promise to return the result.
9130     *
9131     * @returns { Promise<Image> } A Promise instance used to return the latest image.
9132     * @syscap SystemCapability.Multimedia.Image.ImageReceiver
9133     * @since 9
9134     */
9135    readLatestImage(): Promise<Image>;
9136
9137    /**
9138     * Get next image from receiver and uses a callback to return the result.
9139     *
9140     * @param { AsyncCallback<Image> } callback Callback used to return the next image.
9141     * @syscap SystemCapability.Multimedia.Image.ImageReceiver
9142     * @since 9
9143     */
9144    readNextImage(callback: AsyncCallback<Image>): void;
9145
9146    /**
9147     * Get next image from receiver and uses a promise to return the result.
9148     *
9149     * @returns { Promise<Image> } A Promise instance used to return the next image.
9150     * @syscap SystemCapability.Multimedia.Image.ImageReceiver
9151     * @since 9
9152     */
9153    readNextImage(): Promise<Image>;
9154
9155    /**
9156     * Subscribe callback when receiving an image
9157     *
9158     * @param { 'imageArrival' } type Callback used to return the next image.
9159     * @param { AsyncCallback<void> } callback Callback used to return image.
9160     * @syscap SystemCapability.Multimedia.Image.ImageReceiver
9161     * @since 9
9162     */
9163    on(type: 'imageArrival', callback: AsyncCallback<void>): void;
9164
9165    /**
9166     * Remove callback subscriptions when releasing buffer
9167     *
9168     * @param { 'imageArrival' } type - Event type.
9169     * @param { AsyncCallback<void> } callback Callback to be removed.
9170     * @syscap SystemCapability.Multimedia.Image.ImageReceiver
9171     * @since 13
9172     */
9173    off(type: 'imageArrival', callback?: AsyncCallback<void>): void;
9174
9175    /**
9176     * Release image receiver instance and uses a callback to return the result.
9177     *
9178     * @param { AsyncCallback<void> } callback Callback to return the operation result.
9179     * @syscap SystemCapability.Multimedia.Image.ImageReceiver
9180     * @since 9
9181     */
9182    release(callback: AsyncCallback<void>): void;
9183
9184    /**
9185     * Release image receiver instance and uses a promise to return the result.
9186     *
9187     * @returns { Promise<void> } A Promise instance used to return the operation result.
9188     * @syscap SystemCapability.Multimedia.Image.ImageReceiver
9189     * @since 9
9190     */
9191    release(): Promise<void>;
9192  }
9193
9194  /**
9195   * Image creator object.
9196   *
9197   * @typedef ImageCreator
9198   * @syscap SystemCapability.Multimedia.Image.ImageCreator
9199   * @since 9
9200   */
9201  interface ImageCreator {
9202    /**
9203     * Image capacity.
9204     *
9205     * @type { number }
9206     * @readonly
9207     * @syscap SystemCapability.Multimedia.Image.ImageCreator
9208     * @since 9
9209     */
9210    readonly capacity: number;
9211
9212    /**
9213     * Image format.
9214     *
9215     * @type { ImageFormat }
9216     * @readonly
9217     * @syscap SystemCapability.Multimedia.Image.ImageCreator
9218     * @since 9
9219     */
9220    readonly format: ImageFormat;
9221
9222    /**
9223     * Apply for new graphic buffer from free queue and use a callback to return the result.
9224     *
9225     * @param { AsyncCallback<Image> } callback Callback to return the operation result.
9226     * @syscap SystemCapability.Multimedia.Image.ImageCreator
9227     * @since 9
9228     */
9229    dequeueImage(callback: AsyncCallback<Image>): void;
9230
9231    /**
9232     * Apply for new graphic buffer from free queue and uses a promise to return the result.
9233     *
9234     * @returns { Promise<Image> } A Promise instance used to return the operation result.
9235     * @syscap SystemCapability.Multimedia.Image.ImageCreator
9236     * @since 9
9237     */
9238    dequeueImage(): Promise<Image>;
9239
9240    /**
9241     * Queue buffer to dirty queue and uses a callback to return the result.
9242     *
9243     * @param { Image } interface
9244     * @param { AsyncCallback<void> } callback Callback to return the operation result.
9245     * @syscap SystemCapability.Multimedia.Image.ImageCreator
9246     * @since 9
9247     */
9248    queueImage(interface: Image, callback: AsyncCallback<void>): void;
9249
9250    /**
9251     * Queue buffer to dirty queue and uses a promise to return the result.
9252     *
9253     * @param { Image } interface
9254     * @returns { Promise<void> } A Promise instance used to return the operation result.
9255     * @syscap SystemCapability.Multimedia.Image.ImageCreator
9256     * @since 9
9257     */
9258    queueImage(interface: Image): Promise<void>;
9259
9260    /**
9261     * Subscribe callback when releasing buffer
9262     *
9263     * @param { 'imageRelease' } type Callback used to return the operation result.
9264     * @param { AsyncCallback<void> } callback Callback used to return the operation result.
9265     * @syscap SystemCapability.Multimedia.Image.ImageCreator
9266     * @since 9
9267     */
9268    on(type: 'imageRelease', callback: AsyncCallback<void>): void;
9269
9270    /**
9271     * Remove callback subscriptions when releasing buffer
9272     *
9273     * @param { 'imageRelease' } type - Event type.
9274     * @param { AsyncCallback<void> } callback Callback to be removed.
9275     * @syscap SystemCapability.Multimedia.Image.ImageCreator
9276     * @since 13
9277     */
9278    off(type: 'imageRelease', callback?: AsyncCallback<void>): void;
9279
9280    /**
9281     * Releases buffer in bufferqueue instance and uses a callback to return the result.
9282     *
9283     * @param { AsyncCallback<void> } callback Callback to return the operation result.
9284     * @syscap SystemCapability.Multimedia.Image.ImageCreator
9285     * @since 9
9286     */
9287    release(callback: AsyncCallback<void>): void;
9288
9289    /**
9290     * Releases buffer in bufferqueue instance and uses a promise to return the result.
9291     *
9292     * @returns { Promise<void> } A Promise instance used to return the operation result.
9293     * @syscap SystemCapability.Multimedia.Image.ImageCreator
9294     * @since 9
9295     */
9296    release(): Promise<void>;
9297  }
9298}
9299
9300export default image;
9301