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