• 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   * Describes region information.
2821   *
2822   * @typedef Region
2823   * @syscap SystemCapability.Multimedia.Image.Core
2824   * @since 8
2825   */
2826  /**
2827   * Describes region information.
2828   *
2829   * @typedef Region
2830   * @syscap SystemCapability.Multimedia.Image.Core
2831   * @crossplatform
2832   * @since 10
2833   */
2834  /**
2835   * Describes region information.
2836   *
2837   * @typedef Region
2838   * @syscap SystemCapability.Multimedia.Image.Core
2839   * @crossplatform
2840   * @atomicservice
2841   * @since 11
2842   */
2843  /**
2844   * Describes region information.
2845   *
2846   * @typedef Region
2847   * @syscap SystemCapability.Multimedia.Image.Core
2848   * @crossplatform
2849   * @form
2850   * @atomicservice
2851   * @since 12
2852   */
2853  interface Region {
2854    /**
2855     * Image size.
2856     *
2857     * @type { Size }
2858     * @syscap SystemCapability.Multimedia.Image.Core
2859     * @since 7
2860     */
2861    /**
2862     * Image size.
2863     *
2864     * @type { Size }
2865     * @syscap SystemCapability.Multimedia.Image.Core
2866     * @crossplatform
2867     * @since 10
2868     */
2869    /**
2870     * Image size.
2871     *
2872     * @type { Size }
2873     * @syscap SystemCapability.Multimedia.Image.Core
2874     * @crossplatform
2875     * @atomicservice
2876     * @since 11
2877     */
2878    /**
2879     * Image size.
2880     *
2881     * @type { Size }
2882     * @syscap SystemCapability.Multimedia.Image.Core
2883     * @crossplatform
2884     * @form
2885     * @atomicservice
2886     * @since 12
2887     */
2888    size: Size;
2889
2890    /**
2891     * x-coordinate at the upper left corner of the image.
2892     *
2893     * @type { number }
2894     * @syscap SystemCapability.Multimedia.Image.Core
2895     * @since 7
2896     */
2897    /**
2898     * x-coordinate at the upper left corner of the image.
2899     *
2900     * @type { number }
2901     * @syscap SystemCapability.Multimedia.Image.Core
2902     * @crossplatform
2903     * @since 10
2904     */
2905    /**
2906     * x-coordinate at the upper left corner of the image.
2907     *
2908     * @type { number }
2909     * @syscap SystemCapability.Multimedia.Image.Core
2910     * @crossplatform
2911     * @atomicservice
2912     * @since 11
2913     */
2914    /**
2915     * x-coordinate at the upper left corner of the image.
2916     *
2917     * @type { number }
2918     * @syscap SystemCapability.Multimedia.Image.Core
2919     * @crossplatform
2920     * @form
2921     * @atomicservice
2922     * @since 12
2923     */
2924    x: number;
2925
2926    /**
2927     * y-coordinate at the upper left corner of the image.
2928     *
2929     * @type { number }
2930     * @syscap SystemCapability.Multimedia.Image.Core
2931     * @since 7
2932     */
2933    /**
2934     * y-coordinate at the upper left corner of the image.
2935     *
2936     * @type { number }
2937     * @syscap SystemCapability.Multimedia.Image.Core
2938     * @crossplatform
2939     * @since 10
2940     */
2941    /**
2942     * y-coordinate at the upper left corner of the image.
2943     *
2944     * @type { number }
2945     * @syscap SystemCapability.Multimedia.Image.Core
2946     * @crossplatform
2947     * @atomicservice
2948     * @since 11
2949     */
2950    /**
2951     * y-coordinate at the upper left corner of the image.
2952     *
2953     * @type { number }
2954     * @syscap SystemCapability.Multimedia.Image.Core
2955     * @crossplatform
2956     * @form
2957     * @atomicservice
2958     * @since 12
2959     */
2960    y: number;
2961  }
2962
2963  /**
2964   * Describes area information in an image.
2965   *
2966   * @typedef PositionArea
2967   * @syscap SystemCapability.Multimedia.Image.Core
2968   * @since 7
2969   */
2970  /**
2971   * Describes area information in an image.
2972   *
2973   * @typedef PositionArea
2974   * @syscap SystemCapability.Multimedia.Image.Core
2975   * @crossplatform
2976   * @since 10
2977   */
2978  /**
2979   * Describes area information in an image.
2980   *
2981   * @typedef PositionArea
2982   * @syscap SystemCapability.Multimedia.Image.Core
2983   * @crossplatform
2984   * @atomicservice
2985   * @since 11
2986   */
2987  /**
2988   * Describes area information in an image.
2989   *
2990   * @typedef PositionArea
2991   * @syscap SystemCapability.Multimedia.Image.Core
2992   * @crossplatform
2993   * @form
2994   * @atomicservice
2995   * @since 12
2996   */
2997  interface PositionArea {
2998    /**
2999     * Image data that will be read or written.
3000     *
3001     * @type { ArrayBuffer }
3002     * @syscap SystemCapability.Multimedia.Image.Core
3003     * @since 7
3004     */
3005    /**
3006     * Image data that will be read or written.
3007     *
3008     * @type { ArrayBuffer }
3009     * @syscap SystemCapability.Multimedia.Image.Core
3010     * @crossplatform
3011     * @since 10
3012     */
3013    /**
3014     * Image data that will be read or written.
3015     *
3016     * @type { ArrayBuffer }
3017     * @syscap SystemCapability.Multimedia.Image.Core
3018     * @crossplatform
3019     * @atomicservice
3020     * @since 11
3021     */
3022    /**
3023     * Image data that will be read or written.
3024     *
3025     * @type { ArrayBuffer }
3026     * @syscap SystemCapability.Multimedia.Image.Core
3027     * @crossplatform
3028     * @form
3029     * @atomicservice
3030     * @since 12
3031     */
3032    pixels: ArrayBuffer;
3033
3034    /**
3035     * Offset for data reading.
3036     *
3037     * @type { number }
3038     * @syscap SystemCapability.Multimedia.Image.Core
3039     * @since 7
3040     */
3041    /**
3042     * Offset for data reading.
3043     *
3044     * @type { number }
3045     * @syscap SystemCapability.Multimedia.Image.Core
3046     * @crossplatform
3047     * @since 10
3048     */
3049    /**
3050     * Offset for data reading.
3051     *
3052     * @type { number }
3053     * @syscap SystemCapability.Multimedia.Image.Core
3054     * @crossplatform
3055     * @atomicservice
3056     * @since 11
3057     */
3058    /**
3059     * Offset for data reading.
3060     *
3061     * @type { number }
3062     * @syscap SystemCapability.Multimedia.Image.Core
3063     * @crossplatform
3064     * @form
3065     * @atomicservice
3066     * @since 12
3067     */
3068    offset: number;
3069
3070    /**
3071     * Number of bytes to read.
3072     *
3073     * @type { number }
3074     * @syscap SystemCapability.Multimedia.Image.Core
3075     * @since 7
3076     */
3077    /**
3078     * Number of bytes to read.
3079     *
3080     * @type { number }
3081     * @syscap SystemCapability.Multimedia.Image.Core
3082     * @crossplatform
3083     * @since 10
3084     */
3085    /**
3086     * Number of bytes to read.
3087     *
3088     * @type { number }
3089     * @syscap SystemCapability.Multimedia.Image.Core
3090     * @crossplatform
3091     * @atomicservice
3092     * @since 11
3093     */
3094    /**
3095     * Number of bytes to read.
3096     *
3097     * @type { number }
3098     * @syscap SystemCapability.Multimedia.Image.Core
3099     * @crossplatform
3100     * @form
3101     * @atomicservice
3102     * @since 12
3103     */
3104    stride: number;
3105
3106    /**
3107     * Region to read.
3108     *
3109     * @type { Region }
3110     * @syscap SystemCapability.Multimedia.Image.Core
3111     * @since 7
3112     */
3113    /**
3114     * Region to read.
3115     *
3116     * @type { Region }
3117     * @syscap SystemCapability.Multimedia.Image.Core
3118     * @crossplatform
3119     * @since 10
3120     */
3121    /**
3122     * Region to read.
3123     *
3124     * @type { Region }
3125     * @syscap SystemCapability.Multimedia.Image.Core
3126     * @crossplatform
3127     * @atomicservice
3128     * @since 11
3129     */
3130    /**
3131     * Region to read.
3132     *
3133     * @type { Region }
3134     * @syscap SystemCapability.Multimedia.Image.Core
3135     * @crossplatform
3136     * @form
3137     * @atomicservice
3138     * @since 12
3139     */
3140    region: Region;
3141  }
3142
3143  /**
3144   * Describes image information.
3145   *
3146   * @typedef ImageInfo
3147   * @syscap SystemCapability.Multimedia.Image.Core
3148   * @since 6
3149   */
3150  /**
3151   * Describes image information.
3152   *
3153   * @typedef ImageInfo
3154   * @syscap SystemCapability.Multimedia.Image.Core
3155   * @crossplatform
3156   * @since 10
3157   */
3158  /**
3159   * Describes image information.
3160   *
3161   * @typedef ImageInfo
3162   * @syscap SystemCapability.Multimedia.Image.Core
3163   * @crossplatform
3164   * @atomicservice
3165   * @since 11
3166   */
3167  /**
3168   * Describes image information.
3169   *
3170   * @typedef ImageInfo
3171   * @syscap SystemCapability.Multimedia.Image.Core
3172   * @crossplatform
3173   * @form
3174   * @atomicservice
3175   * @since 12
3176   */
3177  interface ImageInfo {
3178    /**
3179     * Indicates image dimensions specified by a {@link Size} interface.
3180     *
3181     * @type { Size }
3182     * @syscap SystemCapability.Multimedia.Image.Core
3183     * @since 6
3184     */
3185    /**
3186     * Indicates image dimensions specified by a {@link Size} interface.
3187     *
3188     * @type { Size }
3189     * @syscap SystemCapability.Multimedia.Image.Core
3190     * @crossplatform
3191     * @since 10
3192     */
3193    /**
3194     * Indicates image dimensions specified by a {@link Size} interface.
3195     *
3196     * @type { Size }
3197     * @syscap SystemCapability.Multimedia.Image.Core
3198     * @crossplatform
3199     * @atomicservice
3200     * @since 11
3201     */
3202    /**
3203     * Indicates image dimensions specified by a {@link Size} interface.
3204     *
3205     * @type { Size }
3206     * @syscap SystemCapability.Multimedia.Image.Core
3207     * @crossplatform
3208     * @form
3209     * @atomicservice
3210     * @since 12
3211     */
3212    size: Size;
3213
3214    /**
3215     * Indicates image default density.
3216     *
3217     * @type { number }
3218     * @syscap SystemCapability.Multimedia.Image.Core
3219     * @since 9
3220     */
3221    /**
3222     * Indicates image default density.
3223     *
3224     * @type { number }
3225     * @syscap SystemCapability.Multimedia.Image.Core
3226     * @crossplatform
3227     * @since 10
3228     */
3229    /**
3230     * Indicates image default density.
3231     *
3232     * @type { number }
3233     * @syscap SystemCapability.Multimedia.Image.Core
3234     * @crossplatform
3235     * @atomicservice
3236     * @since 11
3237     */
3238    /**
3239     * Indicates image default density.
3240     *
3241     * @type { number }
3242     * @syscap SystemCapability.Multimedia.Image.Core
3243     * @crossplatform
3244     * @form
3245     * @atomicservice
3246     * @since 12
3247     */
3248    density: number;
3249
3250    /**
3251     * The number of byte per row.
3252     *
3253     * @type { number }
3254     * @syscap SystemCapability.Multimedia.Image.Core
3255     * @atomicservice
3256     * @since 11
3257     */
3258    /**
3259     * The number of byte per row.
3260     *
3261     * @type { number }
3262     * @syscap SystemCapability.Multimedia.Image.Core
3263     * @form
3264     * @atomicservice
3265     * @since 12
3266     */
3267    stride: number;
3268
3269    /**
3270     * Indicates image format.
3271     *
3272     * @type { PixelMapFormat }
3273     * @syscap SystemCapability.Multimedia.Image.Core
3274     * @crossplatform
3275     * @form
3276     * @atomicservice
3277     * @since 12
3278     */
3279    pixelFormat: PixelMapFormat;
3280
3281    /**
3282     * Indicates image alpha type.
3283     *
3284     * @type { AlphaType }
3285     * @syscap SystemCapability.Multimedia.Image.Core
3286     * @crossplatform
3287     * @form
3288     * @atomicservice
3289     * @since 12
3290     */
3291    alphaType: AlphaType;
3292
3293    /**
3294     * Indicates image mime type.
3295     *
3296     * @type { string }
3297     * @syscap SystemCapability.Multimedia.Image.Core
3298     * @crossplatform
3299     * @since 12
3300     */
3301    mimeType: string;
3302
3303    /**
3304     * Indicates whether the image high dynamic range
3305     *
3306     * @type { boolean }
3307     * @syscap SystemCapability.Multimedia.Image.Core
3308     * @since 12
3309     */
3310    isHdr: boolean;
3311  }
3312
3313  /**
3314   * Describes the option for image packing.
3315   *
3316   * @typedef PackingOption
3317   * @syscap SystemCapability.Multimedia.Image.ImagePacker
3318   * @since 6
3319   */
3320  /**
3321   * Describes the option for image packing.
3322   *
3323   * @typedef PackingOption
3324   * @syscap SystemCapability.Multimedia.Image.ImagePacker
3325   * @crossplatform
3326   * @since 10
3327   */
3328  /**
3329   * Describes the option for image packing.
3330   *
3331   * @typedef PackingOption
3332   * @syscap SystemCapability.Multimedia.Image.ImagePacker
3333   * @crossplatform
3334   * @atomicservice
3335   * @since 11
3336   */
3337  interface PackingOption {
3338    /**
3339     * Multipurpose Internet Mail Extensions (MIME) format of the target image, for example, image/jpeg.
3340     *
3341     * @type { string }
3342     * @syscap SystemCapability.Multimedia.Image.ImagePacker
3343     * @since 6
3344     */
3345    /**
3346     * Multipurpose Internet Mail Extensions (MIME) format of the target image, for example, image/jpeg.
3347     *
3348     * @type { string }
3349     * @syscap SystemCapability.Multimedia.Image.ImagePacker
3350     * @crossplatform
3351     * @since 10
3352     */
3353    /**
3354     * Multipurpose Internet Mail Extensions (MIME) format of the target image, for example, image/jpeg.
3355     *
3356     * @type { string }
3357     * @syscap SystemCapability.Multimedia.Image.ImagePacker
3358     * @crossplatform
3359     * @atomicservice
3360     * @since 11
3361     */
3362    format: string;
3363
3364    /**
3365     * Quality of the target image. The value is an integer ranging from 0 to 100. A larger value indicates better.
3366     *
3367     * @type { number }
3368     * @syscap SystemCapability.Multimedia.Image.ImagePacker
3369     * @since 6
3370     */
3371    /**
3372     * Quality of the target image. The value is an integer ranging from 0 to 100. A larger value indicates better.
3373     *
3374     * @type { number }
3375     * @syscap SystemCapability.Multimedia.Image.ImagePacker
3376     * @crossplatform
3377     * @since 10
3378     */
3379    /**
3380     * Quality of the target image. The value is an integer ranging from 0 to 100. A larger value indicates better.
3381     *
3382     * @type { number }
3383     * @syscap SystemCapability.Multimedia.Image.ImagePacker
3384     * @crossplatform
3385     * @atomicservice
3386     * @since 11
3387     */
3388    quality: number;
3389
3390    /**
3391     * BufferSize of the target image.
3392     * If this bufferSize is less than or equal to 0, it will be converted to 10MB.
3393     *
3394     * @type { ?number }
3395     * @syscap SystemCapability.Multimedia.Image.ImagePacker
3396     * @since 9
3397     */
3398    /**
3399     * BufferSize of the target image.
3400     * If this bufferSize is less than or equal to 0, it will be converted to 10MB.
3401     *
3402     * @type { ?number }
3403     * @syscap SystemCapability.Multimedia.Image.ImagePacker
3404     * @crossplatform
3405     * @since 10
3406     */
3407    /**
3408     * BufferSize of the target image.
3409     * If this bufferSize is less than or equal to 0, it will be converted to 10MB.
3410     *
3411     * @type { ?number }
3412     * @syscap SystemCapability.Multimedia.Image.ImagePacker
3413     * @crossplatform
3414     * @atomicservice
3415     * @since 11
3416     */
3417    bufferSize?: number;
3418
3419    /**
3420     * The desired dynamic range of the target image.
3421     *
3422     * @type { ?PackingDynamicRange }
3423     * @syscap SystemCapability.Multimedia.Image.ImagePacker
3424     * @since 12
3425     */
3426    desiredDynamicRange?: PackingDynamicRange;
3427
3428    /**
3429     * Whether the image properties can be saved, like Exif.
3430     *
3431     * @type { ?boolean }
3432     * @syscap SystemCapability.Multimedia.Image.ImagePacker
3433     * @since 12
3434     */
3435    needsPackProperties?: boolean;
3436  }
3437
3438  /**
3439   * Describes image properties.
3440   *
3441   * @typedef GetImagePropertyOptions
3442   * @syscap SystemCapability.Multimedia.Image.ImageSource
3443   * @since 7
3444   * @deprecated since 11
3445   * @useinstead image.ImagePropertyOptions
3446   */
3447  /**
3448   * Describes image properties.
3449   *
3450   * @typedef GetImagePropertyOptions
3451   * @syscap SystemCapability.Multimedia.Image.ImageSource
3452   * @crossplatform
3453   * @since 10
3454   * @deprecated since 11
3455   * @useinstead image.ImagePropertyOptions
3456   */
3457  interface GetImagePropertyOptions {
3458    /**
3459     * Index of an image.
3460     *
3461     * @type { ?number }
3462     * @syscap SystemCapability.Multimedia.Image.ImageSource
3463     * @since 7
3464     * @deprecated since 11
3465     * @useinstead image.ImagePropertyOptions#index
3466     */
3467    /**
3468     * Index of an image.
3469     *
3470     * @type { ?number }
3471     * @syscap SystemCapability.Multimedia.Image.ImageSource
3472     * @crossplatform
3473     * @since 10
3474     * @deprecated since 11
3475     * @useinstead image.ImagePropertyOptions#index
3476     */
3477    index?: number;
3478
3479    /**
3480     * Default property value.
3481     *
3482     * @type { ?string }
3483     * @syscap SystemCapability.Multimedia.Image.ImageSource
3484     * @since 7
3485     * @deprecated since 11
3486     * @useinstead image.ImagePropertyOptions#defaultValue
3487     */
3488    /**
3489     * Default property value.
3490     *
3491     * @type { ?string }
3492     * @syscap SystemCapability.Multimedia.Image.ImageSource
3493     * @crossplatform
3494     * @since 10
3495     * @deprecated since 11
3496     * @useinstead image.ImagePropertyOptions#defaultValue
3497     */
3498    defaultValue?: string;
3499  }
3500
3501  /**
3502   * Describes image properties.
3503   *
3504   * @typedef ImagePropertyOptions
3505   * @syscap SystemCapability.Multimedia.Image.ImageSource
3506   * @crossplatform
3507   * @since 11
3508   */
3509  interface ImagePropertyOptions {
3510    /**
3511     * Index of an image.
3512     *
3513     * @type { ?number }
3514     * @syscap SystemCapability.Multimedia.Image.ImageSource
3515     * @crossplatform
3516     * @since 11
3517     */
3518    index?: number;
3519
3520    /**
3521     * Default property value.
3522     *
3523     * @type { ?string }
3524     * @syscap SystemCapability.Multimedia.Image.ImageSource
3525     * @crossplatform
3526     * @since 11
3527     */
3528    defaultValue?: string;
3529  }
3530
3531  /**
3532   * Describes image decoding parameters.
3533   *
3534   * @typedef DecodingOptions
3535   * @syscap SystemCapability.Multimedia.Image.ImageSource
3536   * @since 7
3537   */
3538  /**
3539   * Describes image decoding parameters.
3540   *
3541   * @typedef DecodingOptions
3542   * @syscap SystemCapability.Multimedia.Image.ImageSource
3543   * @crossplatform
3544   * @since 10
3545   */
3546  /**
3547   * Describes image decoding parameters.
3548   *
3549   * @typedef DecodingOptions
3550   * @syscap SystemCapability.Multimedia.Image.ImageSource
3551   * @crossplatform
3552   * @atomicservice
3553   * @since 11
3554   */
3555  /**
3556   * Describes image decoding parameters.
3557   *
3558   * @typedef DecodingOptions
3559   * @syscap SystemCapability.Multimedia.Image.ImageSource
3560   * @crossplatform
3561   * @form
3562   * @atomicservice
3563   * @since 12
3564   */
3565  interface DecodingOptions {
3566    /**
3567     * Number of image frames.
3568     *
3569     * @type { ?number }
3570     * @syscap SystemCapability.Multimedia.Image.ImageSource
3571     * @since 7
3572     */
3573    /**
3574     * Number of image frames.
3575     *
3576     * @type { ?number }
3577     * @syscap SystemCapability.Multimedia.Image.ImageSource
3578     * @crossplatform
3579     * @since 10
3580     */
3581    /**
3582     * Number of image frames.
3583     *
3584     * @type { ?number }
3585     * @syscap SystemCapability.Multimedia.Image.ImageSource
3586     * @crossplatform
3587     * @atomicservice
3588     * @since 11
3589     */
3590    /**
3591     * Number of image frames.
3592     *
3593     * @type { ?number }
3594     * @syscap SystemCapability.Multimedia.Image.ImageSource
3595     * @crossplatform
3596     * @form
3597     * @atomicservice
3598     * @since 12
3599     */
3600    index?: number;
3601
3602    /**
3603     * Sampling ratio of the image pixel map.
3604     *
3605     * @type { ?number }
3606     * @syscap SystemCapability.Multimedia.Image.ImageSource
3607     * @since 7
3608     */
3609    /**
3610     * Sampling ratio of the image pixel map.
3611     *
3612     * @type { ?number }
3613     * @syscap SystemCapability.Multimedia.Image.ImageSource
3614     * @crossplatform
3615     * @since 10
3616     */
3617    /**
3618     * Sampling ratio of the image pixel map.
3619     *
3620     * @type { ?number }
3621     * @syscap SystemCapability.Multimedia.Image.ImageSource
3622     * @crossplatform
3623     * @atomicservice
3624     * @since 11
3625     */
3626    /**
3627     * Sampling ratio of the image pixel map.
3628     *
3629     * @type { ?number }
3630     * @syscap SystemCapability.Multimedia.Image.ImageSource
3631     * @crossplatform
3632     * @form
3633     * @atomicservice
3634     * @since 12
3635     */
3636    sampleSize?: number;
3637
3638    /**
3639     * Rotation angle of the image pixel map. The value ranges from 0 to 360.
3640     *
3641     * @type { ?number }
3642     * @syscap SystemCapability.Multimedia.Image.ImageSource
3643     * @since 7
3644     */
3645    /**
3646     * Rotation angle of the image pixel map. The value ranges from 0 to 360.
3647     *
3648     * @type { ?number }
3649     * @syscap SystemCapability.Multimedia.Image.ImageSource
3650     * @crossplatform
3651     * @since 10
3652     */
3653    /**
3654     * Rotation angle of the image pixel map. The value ranges from 0 to 360.
3655     *
3656     * @type { ?number }
3657     * @syscap SystemCapability.Multimedia.Image.ImageSource
3658     * @crossplatform
3659     * @atomicservice
3660     * @since 11
3661     */
3662    /**
3663     * Rotation angle of the image pixel map. The value ranges from 0 to 360.
3664     *
3665     * @type { ?number }
3666     * @syscap SystemCapability.Multimedia.Image.ImageSource
3667     * @crossplatform
3668     * @form
3669     * @atomicservice
3670     * @since 12
3671     */
3672    rotate?: number;
3673
3674    /**
3675     * Whether the image pixel map is editable.
3676     *
3677     * @type { ?boolean }
3678     * @syscap SystemCapability.Multimedia.Image.ImageSource
3679     * @since 7
3680     */
3681    /**
3682     * Whether the image pixel map is editable.
3683     *
3684     * @type { ?boolean }
3685     * @syscap SystemCapability.Multimedia.Image.ImageSource
3686     * @crossplatform
3687     * @since 10
3688     */
3689    /**
3690     * Whether the image pixel map is editable.
3691     *
3692     * @type { ?boolean }
3693     * @syscap SystemCapability.Multimedia.Image.ImageSource
3694     * @crossplatform
3695     * @atomicservice
3696     * @since 11
3697     */
3698    /**
3699     * Whether the image pixel map is editable.
3700     *
3701     * @type { ?boolean }
3702     * @syscap SystemCapability.Multimedia.Image.ImageSource
3703     * @crossplatform
3704     * @form
3705     * @atomicservice
3706     * @since 12
3707     */
3708    editable?: boolean;
3709
3710    /**
3711     * Width and height of the image pixel map. The value (0, 0) indicates that the pixels are decoded
3712     * based on the original image size.
3713     *
3714     * @type { ?Size }
3715     * @syscap SystemCapability.Multimedia.Image.ImageSource
3716     * @since 7
3717     */
3718    /**
3719     * Width and height of the image pixel map. The value (0, 0) indicates that the pixels are decoded
3720     * based on the original image size.
3721     *
3722     * @type { ?Size }
3723     * @syscap SystemCapability.Multimedia.Image.ImageSource
3724     * @crossplatform
3725     * @since 10
3726     */
3727    /**
3728     * Width and height of the image pixel map. The value (0, 0) indicates that the pixels are decoded
3729     * based on the original image size.
3730     *
3731     * @type { ?Size }
3732     * @syscap SystemCapability.Multimedia.Image.ImageSource
3733     * @crossplatform
3734     * @atomicservice
3735     * @since 11
3736     */
3737    /**
3738     * Width and height of the image pixel map. The value (0, 0) indicates that the pixels are decoded
3739     * based on the original image size.
3740     *
3741     * @type { ?Size }
3742     * @syscap SystemCapability.Multimedia.Image.ImageSource
3743     * @crossplatform
3744     * @form
3745     * @atomicservice
3746     * @since 12
3747     */
3748    desiredSize?: Size;
3749
3750    /**
3751     * Cropping region of the image pixel map.
3752     *
3753     * @type { ?Region }
3754     * @syscap SystemCapability.Multimedia.Image.ImageSource
3755     * @since 7
3756     */
3757    /**
3758     * Cropping region of the image pixel map.
3759     *
3760     * @type { ?Region }
3761     * @syscap SystemCapability.Multimedia.Image.ImageSource
3762     * @crossplatform
3763     * @since 10
3764     */
3765    /**
3766     * Cropping region of the image pixel map.
3767     *
3768     * @type { ?Region }
3769     * @syscap SystemCapability.Multimedia.Image.ImageSource
3770     * @crossplatform
3771     * @atomicservice
3772     * @since 11
3773     */
3774    /**
3775     * Cropping region of the image pixel map.
3776     *
3777     * @type { ?Region }
3778     * @syscap SystemCapability.Multimedia.Image.ImageSource
3779     * @crossplatform
3780     * @form
3781     * @atomicservice
3782     * @since 12
3783     */
3784    desiredRegion?: Region;
3785
3786    /**
3787     * Data format of the image pixel map.
3788     *
3789     * @type { ?PixelMapFormat }
3790     * @syscap SystemCapability.Multimedia.Image.ImageSource
3791     * @since 7
3792     */
3793    /**
3794     * Data format of the image pixel map.
3795     *
3796     * @type { ?PixelMapFormat }
3797     * @syscap SystemCapability.Multimedia.Image.ImageSource
3798     * @crossplatform
3799     * @since 10
3800     */
3801    /**
3802     * Data format of the image pixel map.
3803     *
3804     * @type { ?PixelMapFormat }
3805     * @syscap SystemCapability.Multimedia.Image.ImageSource
3806     * @crossplatform
3807     * @atomicservice
3808     * @since 11
3809     */
3810    /**
3811     * Data format of the image pixel map.
3812     *
3813     * @type { ?PixelMapFormat }
3814     * @syscap SystemCapability.Multimedia.Image.ImageSource
3815     * @crossplatform
3816     * @form
3817     * @atomicservice
3818     * @since 12
3819     */
3820    desiredPixelFormat?: PixelMapFormat;
3821
3822    /**
3823     * The density for image pixel map.
3824     *
3825     * @type { ?number }
3826     * @syscap SystemCapability.Multimedia.Image.ImageSource
3827     * @since 9
3828     */
3829    /**
3830     * The density for image pixel map.
3831     *
3832     * @type { ?number }
3833     * @syscap SystemCapability.Multimedia.Image.ImageSource
3834     * @crossplatform
3835     * @since 10
3836     */
3837    /**
3838     * The density for image pixel map.
3839     *
3840     * @type { ?number }
3841     * @syscap SystemCapability.Multimedia.Image.ImageSource
3842     * @crossplatform
3843     * @atomicservice
3844     * @since 11
3845     */
3846    /**
3847     * The density for image pixel map.
3848     *
3849     * @type { ?number }
3850     * @syscap SystemCapability.Multimedia.Image.ImageSource
3851     * @crossplatform
3852     * @form
3853     * @atomicservice
3854     * @since 12
3855     */
3856    fitDensity?: number;
3857
3858    /**
3859     * Color space of the image pixel map.
3860     *
3861     * @type { ?colorSpaceManager.ColorSpaceManager }
3862     * @syscap SystemCapability.Multimedia.Image.ImageSource
3863     * @crossplatform
3864     * @since 11
3865     */
3866    desiredColorSpace?: colorSpaceManager.ColorSpaceManager;
3867
3868    /**
3869     * The desired dynamic range of the image pixelmap.
3870     *
3871     * @type { ?DecodingDynamicRange }
3872     * @syscap SystemCapability.Multimedia.Image.ImageSource
3873     * @since 12
3874     */
3875    desiredDynamicRange?: DecodingDynamicRange;
3876
3877    /**
3878     * Resolution Quality of the image.
3879     *
3880     * @type { ?ResolutionQuality }
3881     * @syscap SystemCapability.Multimedia.Image.ImageSource
3882     * @systemapi
3883     * @since 12
3884     */
3885    resolutionQuality?: ResolutionQuality;
3886  }
3887
3888  /**
3889   * Describes image color components.
3890   *
3891   * @typedef Component
3892   * @syscap SystemCapability.Multimedia.Image.Core
3893   * @since 9
3894   */
3895  interface Component {
3896    /**
3897     * Component type.
3898     *
3899     * @type { ComponentType }
3900     * @syscap SystemCapability.Multimedia.Image.Core
3901     * @since 9
3902     */
3903    readonly componentType: ComponentType;
3904
3905    /**
3906     * Row stride.
3907     *
3908     * @type { number }
3909     * @syscap SystemCapability.Multimedia.Image.Core
3910     * @since 9
3911     */
3912    readonly rowStride: number;
3913
3914    /**
3915     * Pixel stride.
3916     *
3917     * @type { number }
3918     * @syscap SystemCapability.Multimedia.Image.Core
3919     * @since 9
3920     */
3921    readonly pixelStride: number;
3922
3923    /**
3924     * Component buffer.
3925     *
3926     * @type { ArrayBuffer }
3927     * @syscap SystemCapability.Multimedia.Image.Core
3928     * @since 9
3929     */
3930    readonly byteBuffer: ArrayBuffer;
3931  }
3932
3933  /**
3934   * Initialization options for pixelmap.
3935   *
3936   * @typedef InitializationOptions
3937   * @syscap SystemCapability.Multimedia.Image.Core
3938   * @since 8
3939   */
3940  /**
3941   * Initialization options for pixelmap.
3942   *
3943   * @typedef InitializationOptions
3944   * @syscap SystemCapability.Multimedia.Image.Core
3945   * @crossplatform
3946   * @since 10
3947   */
3948  /**
3949   * Initialization options for pixelmap.
3950   *
3951   * @typedef InitializationOptions
3952   * @syscap SystemCapability.Multimedia.Image.Core
3953   * @crossplatform
3954   * @atomicservice
3955   * @since 11
3956   */
3957  /**
3958   * Initialization options for pixelmap.
3959   *
3960   * @typedef InitializationOptions
3961   * @syscap SystemCapability.Multimedia.Image.Core
3962   * @crossplatform
3963   * @form
3964   * @atomicservice
3965   * @since 12
3966   */
3967  interface InitializationOptions {
3968    /**
3969     * PixelMap size.
3970     *
3971     * @type { Size }
3972     * @syscap SystemCapability.Multimedia.Image.Core
3973     * @since 8
3974     */
3975    /**
3976     * PixelMap size.
3977     *
3978     * @type { Size }
3979     * @syscap SystemCapability.Multimedia.Image.Core
3980     * @crossplatform
3981     * @since 10
3982     */
3983    /**
3984     * PixelMap size.
3985     *
3986     * @type { Size }
3987     * @syscap SystemCapability.Multimedia.Image.Core
3988     * @crossplatform
3989     * @atomicservice
3990     * @since 11
3991     */
3992    /**
3993     * PixelMap size.
3994     *
3995     * @type { Size }
3996     * @syscap SystemCapability.Multimedia.Image.Core
3997     * @crossplatform
3998     * @form
3999     * @atomicservice
4000     * @since 12
4001     */
4002    size: Size;
4003
4004    /**
4005     * PixelMap source format.
4006     *
4007     * @type { ?PixelMapFormat }
4008     * @syscap SystemCapability.Multimedia.Image.Core
4009     * @since 12
4010     */
4011    srcPixelFormat?: PixelMapFormat;
4012
4013    /**
4014     * PixelMap expected format.
4015     *
4016     * @type { ?PixelMapFormat }
4017     * @syscap SystemCapability.Multimedia.Image.Core
4018     * @since 8
4019     */
4020    /**
4021     * PixelMap expected format.
4022     *
4023     * @type { ?PixelMapFormat }
4024     * @syscap SystemCapability.Multimedia.Image.Core
4025     * @crossplatform
4026     * @since 10
4027     */
4028    /**
4029     * PixelMap expected format.
4030     *
4031     * @type { ?PixelMapFormat }
4032     * @syscap SystemCapability.Multimedia.Image.Core
4033     * @crossplatform
4034     * @atomicservice
4035     * @since 11
4036     */
4037    /**
4038     * PixelMap expected format.
4039     *
4040     * @type { ?PixelMapFormat }
4041     * @syscap SystemCapability.Multimedia.Image.Core
4042     * @crossplatform
4043     * @form
4044     * @atomicservice
4045     * @since 12
4046     */
4047    pixelFormat?: PixelMapFormat;
4048
4049    /**
4050     * Editable or not.
4051     *
4052     * @type { ?boolean }
4053     * @syscap SystemCapability.Multimedia.Image.Core
4054     * @since 8
4055     */
4056    /**
4057     * Editable or not.
4058     *
4059     * @type { ?boolean }
4060     * @syscap SystemCapability.Multimedia.Image.Core
4061     * @crossplatform
4062     * @since 10
4063     */
4064    /**
4065     * Editable or not.
4066     *
4067     * @type { ?boolean }
4068     * @syscap SystemCapability.Multimedia.Image.Core
4069     * @crossplatform
4070     * @atomicservice
4071     * @since 11
4072     */
4073    /**
4074     * Editable or not.
4075     *
4076     * @type { ?boolean }
4077     * @syscap SystemCapability.Multimedia.Image.Core
4078     * @crossplatform
4079     * @form
4080     * @atomicservice
4081     * @since 12
4082     */
4083    editable?: boolean;
4084
4085    /**
4086     * PixelMap expected alpha type.
4087     *
4088     * @type { ?AlphaType }
4089     * @syscap SystemCapability.Multimedia.Image.Core
4090     * @since 9
4091     */
4092    /**
4093     * PixelMap expected alpha type.
4094     *
4095     * @type { ?AlphaType }
4096     * @syscap SystemCapability.Multimedia.Image.Core
4097     * @crossplatform
4098     * @since 10
4099     */
4100    /**
4101     * PixelMap expected alpha type.
4102     *
4103     * @type { ?AlphaType }
4104     * @syscap SystemCapability.Multimedia.Image.Core
4105     * @crossplatform
4106     * @atomicservice
4107     * @since 11
4108     */
4109    /**
4110     * PixelMap expected alpha type.
4111     *
4112     * @type { ?AlphaType }
4113     * @syscap SystemCapability.Multimedia.Image.Core
4114     * @crossplatform
4115     * @form
4116     * @atomicservice
4117     * @since 12
4118     */
4119    alphaType?: AlphaType;
4120
4121    /**
4122     * PixelMap expected scaling effect.
4123     *
4124     * @type { ?ScaleMode }
4125     * @syscap SystemCapability.Multimedia.Image.Core
4126     * @since 9
4127     */
4128    /**
4129     * PixelMap expected scaling effect.
4130     *
4131     * @type { ?ScaleMode }
4132     * @syscap SystemCapability.Multimedia.Image.Core
4133     * @crossplatform
4134     * @since 10
4135     */
4136    /**
4137     * PixelMap expected scaling effect.
4138     *
4139     * @type { ?ScaleMode }
4140     * @syscap SystemCapability.Multimedia.Image.Core
4141     * @crossplatform
4142     * @atomicservice
4143     * @since 11
4144     */
4145    /**
4146     * PixelMap expected scaling effect.
4147     *
4148     * @type { ?ScaleMode }
4149     * @syscap SystemCapability.Multimedia.Image.Core
4150     * @crossplatform
4151     * @form
4152     * @atomicservice
4153     * @since 12
4154     */
4155    scaleMode?: ScaleMode;
4156  }
4157
4158  /**
4159   * Initialization options for ImageSource.
4160   *
4161   * @typedef SourceOptions
4162   * @syscap SystemCapability.Multimedia.Image.Core
4163   * @since 9
4164   */
4165  /**
4166   * Initialization options for ImageSource.
4167   *
4168   * @typedef SourceOptions
4169   * @syscap SystemCapability.Multimedia.Image.Core
4170   * @crossplatform
4171   * @since 10
4172   */
4173  /**
4174   * Initialization options for ImageSource.
4175   *
4176   * @typedef SourceOptions
4177   * @syscap SystemCapability.Multimedia.Image.Core
4178   * @crossplatform
4179   * @atomicservice
4180   * @since 11
4181   */
4182  /**
4183   * Initialization options for ImageSource.
4184   *
4185   * @typedef SourceOptions
4186   * @syscap SystemCapability.Multimedia.Image.Core
4187   * @crossplatform
4188   * @form
4189   * @atomicservice
4190   * @since 12
4191   */
4192  interface SourceOptions {
4193    /**
4194     * The density for ImageSource.
4195     *
4196     * @type { number }
4197     * @syscap SystemCapability.Multimedia.Image.Core
4198     * @since 9
4199     */
4200    /**
4201     * The density for ImageSource.
4202     *
4203     * @type { number }
4204     * @syscap SystemCapability.Multimedia.Image.Core
4205     * @crossplatform
4206     * @since 10
4207     */
4208    /**
4209     * The density for ImageSource.
4210     *
4211     * @type { number }
4212     * @syscap SystemCapability.Multimedia.Image.Core
4213     * @crossplatform
4214     * @atomicservice
4215     * @since 11
4216     */
4217    /**
4218     * The density for ImageSource.
4219     *
4220     * @type { number }
4221     * @syscap SystemCapability.Multimedia.Image.Core
4222     * @crossplatform
4223     * @form
4224     * @atomicservice
4225     * @since 12
4226     */
4227    sourceDensity: number;
4228
4229    /**
4230     * PixelMap expected format.
4231     *
4232     * @type { ?PixelMapFormat }
4233     * @syscap SystemCapability.Multimedia.Image.Core
4234     * @since 9
4235     */
4236    /**
4237     * PixelMap expected format.
4238     *
4239     * @type { ?PixelMapFormat }
4240     * @syscap SystemCapability.Multimedia.Image.Core
4241     * @crossplatform
4242     * @since 10
4243     */
4244    /**
4245     * PixelMap expected format.
4246     *
4247     * @type { ?PixelMapFormat }
4248     * @syscap SystemCapability.Multimedia.Image.Core
4249     * @crossplatform
4250     * @atomicservice
4251     * @since 11
4252     */
4253    /**
4254     * PixelMap expected format.
4255     *
4256     * @type { ?PixelMapFormat }
4257     * @syscap SystemCapability.Multimedia.Image.Core
4258     * @crossplatform
4259     * @form
4260     * @atomicservice
4261     * @since 12
4262     */
4263    sourcePixelFormat?: PixelMapFormat;
4264
4265    /**
4266     * PixelMap size.
4267     *
4268     * @type { ?Size }
4269     * @syscap SystemCapability.Multimedia.Image.Core
4270     * @since 9
4271     */
4272    /**
4273     * PixelMap size.
4274     *
4275     * @type { ?Size }
4276     * @syscap SystemCapability.Multimedia.Image.Core
4277     * @crossplatform
4278     * @since 10
4279     */
4280    /**
4281     * PixelMap size.
4282     *
4283     * @type { ?Size }
4284     * @syscap SystemCapability.Multimedia.Image.Core
4285     * @crossplatform
4286     * @atomicservice
4287     * @since 11
4288     */
4289    /**
4290     * PixelMap size.
4291     *
4292     * @type { ?Size }
4293     * @syscap SystemCapability.Multimedia.Image.Core
4294     * @crossplatform
4295     * @form
4296     * @atomicservice
4297     * @since 12
4298     */
4299    sourceSize?: Size;
4300  }
4301
4302  /**
4303   * Value for HDR_STATIC_METADATA.
4304   *
4305   * @typedef HdrStaticMetadata
4306   * @syscap SystemCapability.Multimedia.Image.Core
4307   * @since 12
4308   */
4309  interface HdrStaticMetadata {
4310    /**
4311     * The X-coordinate of the primary colors. The length of the array is three. Store in the order of r, g, b.
4312     *
4313     * @type { Array<number> }
4314     * @syscap SystemCapability.Multimedia.Image.Core
4315     * @since 12
4316     */
4317    displayPrimariesX: Array<number>;
4318
4319    /**
4320     * The Y-coordinate of the primary colors. The length of the array is three. Store in the order of r, g, b.
4321     *
4322     * @type { Array<number> }
4323     * @syscap SystemCapability.Multimedia.Image.Core
4324     * @since 12
4325     */
4326    displayPrimariesY: Array<number>;
4327
4328    /**
4329     * The X-coordinate of the white point value.
4330     *
4331     * @type { number }
4332     * @syscap SystemCapability.Multimedia.Image.Core
4333     * @since 12
4334     */
4335    whitePointX: number;
4336
4337    /**
4338     * The Y-coordinate of the white point value.
4339     *
4340     * @type { number }
4341     * @syscap SystemCapability.Multimedia.Image.Core
4342     * @since 12
4343     */
4344    whitePointY: number;
4345
4346    /**
4347     * Max luminance.
4348     *
4349     * @type { number }
4350     * @syscap SystemCapability.Multimedia.Image.Core
4351     * @since 12
4352     */
4353    maxLuminance: number;
4354
4355    /**
4356     * Min luminance.
4357     *
4358     * @type { number }
4359     * @syscap SystemCapability.Multimedia.Image.Core
4360     * @since 12
4361     */
4362    minLuminance: number;
4363
4364    /**
4365     * Maximum brightness of displayed content.
4366     *
4367     * @type { number }
4368     * @syscap SystemCapability.Multimedia.Image.Core
4369     * @since 12
4370     */
4371    maxContentLightLevel: number;
4372
4373    /**
4374     * Maximum average brightness of displayed content.
4375     *
4376     * @type { number }
4377     * @syscap SystemCapability.Multimedia.Image.Core
4378     * @since 12
4379     */
4380    maxFrameAverageLightLevel: number;
4381  }
4382
4383  /**
4384   * The per-component metadata.
4385   *
4386   * @typedef GainmapChannel
4387   * @syscap SystemCapability.Multimedia.Image.Core
4388   * @since 12
4389   */
4390  interface GainmapChannel {
4391    /**
4392     * The per-component max gain map values.
4393     *
4394     * @type { number }
4395     * @syscap SystemCapability.Multimedia.Image.Core
4396     * @since 12
4397     */
4398    gainmapMax: number;
4399
4400    /**
4401     * The per-component min gain map values.
4402     *
4403     * @type { number }
4404     * @syscap SystemCapability.Multimedia.Image.Core
4405     * @since 12
4406     */
4407    gainmapMin: number;
4408
4409    /**
4410     * The per-component gamma values.
4411     *
4412     * @type { number }
4413     * @syscap SystemCapability.Multimedia.Image.Core
4414     * @since 12
4415     */
4416    gamma: number;
4417
4418    /**
4419     * The per-component baseline offset.
4420     *
4421     * @type { number }
4422     * @syscap SystemCapability.Multimedia.Image.Core
4423     * @since 12
4424     */
4425    baseOffset: number;
4426
4427    /**
4428     * The per-component alternate offset.
4429     *
4430     * @type { number }
4431     * @syscap SystemCapability.Multimedia.Image.Core
4432     * @since 12
4433     */
4434    alternateOffset: number;
4435  }
4436
4437  /**
4438   * Values for HDR_GAINMAP_METADATA.
4439   *
4440   * @typedef HdrGainmapMetadata
4441   * @syscap SystemCapability.Multimedia.Image.Core
4442   * @since 12
4443   */
4444  interface HdrGainmapMetadata {
4445    /**
4446     * The version used by the writer.
4447     *
4448     * @type { number }
4449     * @syscap SystemCapability.Multimedia.Image.Core
4450     * @since 12
4451     */
4452    writerVersion: number;
4453
4454    /**
4455     * The minimum version a parser needs to understand.
4456     *
4457     * @type { number }
4458     * @syscap SystemCapability.Multimedia.Image.Core
4459     * @since 12
4460     */
4461    miniVersion: number;
4462
4463    /**
4464     * The number of gain map channels, with a value of 1 or 3.
4465     *
4466     * @type { number }
4467     * @syscap SystemCapability.Multimedia.Image.Core
4468     * @since 12
4469     */
4470    gainmapChannelCount: number;
4471
4472    /**
4473     * Indicate whether to use the color space of the base image.
4474     *
4475     * @type { boolean }
4476     * @syscap SystemCapability.Multimedia.Image.Core
4477     * @since 12
4478     */
4479    useBaseColorFlag: boolean;
4480
4481    /**
4482     * The baseline hdr headroom.
4483     *
4484     * @type { number }
4485     * @syscap SystemCapability.Multimedia.Image.Core
4486     * @since 12
4487     */
4488    baseHeadroom: number;
4489
4490    /**
4491     * The alternate hdr headroom.
4492     *
4493     * @type { number }
4494     * @syscap SystemCapability.Multimedia.Image.Core
4495     * @since 12
4496     */
4497    alternateHeadroom: number;
4498
4499    /**
4500     * The per-channel metadata.
4501     *
4502     * @type { Array<GainmapChannel> }
4503     * @syscap SystemCapability.Multimedia.Image.Core
4504     * @since 12
4505     */
4506    channels: Array<GainmapChannel>;
4507  }
4508
4509  /**
4510   * Defines the hdr metadata value.
4511   *
4512   * @typedef {HdrMetadataType | HdrStaticMetadata | ArrayBuffer | HdrGainmapMetadata} HdrMetadataValue
4513   * @syscap SystemCapability.Multimedia.Image.Core
4514   * @since 12
4515   */
4516  type HdrMetadataValue = HdrMetadataType | HdrStaticMetadata | ArrayBuffer | HdrGainmapMetadata;
4517
4518  /**
4519   * Create pixelmap by data buffer.
4520   *
4521   * @param { ArrayBuffer } colors The image color buffer.
4522   * @param { InitializationOptions } options Initialization options for pixelmap.
4523   * @param { AsyncCallback<PixelMap> } callback Callback used to return the PixelMap object.
4524   * @syscap SystemCapability.Multimedia.Image.Core
4525   * @since 8
4526   */
4527  /**
4528   * Create pixelmap by data buffer.
4529   *
4530   * @param { ArrayBuffer } colors The image color buffer.
4531   * @param { InitializationOptions } options Initialization options for pixelmap.
4532   * @param { AsyncCallback<PixelMap> } callback Callback used to return the PixelMap object.
4533   * @syscap SystemCapability.Multimedia.Image.Core
4534   * @crossplatform
4535   * @since 10
4536   */
4537  function createPixelMap(colors: ArrayBuffer, options: InitializationOptions, callback: AsyncCallback<PixelMap>): void;
4538
4539  /**
4540   * Create pixelmap by data buffer.
4541   *
4542   * @param { ArrayBuffer } colors The image color buffer.
4543   * @param { InitializationOptions } options Initialization options for pixelmap.
4544   * @returns { Promise<PixelMap> } A Promise instance used to return the PixelMap object.
4545   * @syscap SystemCapability.Multimedia.Image.Core
4546   * @since 8
4547   */
4548  /**
4549   * Create pixelmap by data buffer.
4550   *
4551   * @param { ArrayBuffer } colors The image color buffer.
4552   * @param { InitializationOptions } options Initialization options for pixelmap.
4553   * @returns { Promise<PixelMap> } A Promise instance used to return the PixelMap object.
4554   * @syscap SystemCapability.Multimedia.Image.Core
4555   * @crossplatform
4556   * @since 10
4557   */
4558  function createPixelMap(colors: ArrayBuffer, options: InitializationOptions): Promise<PixelMap>;
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   * @returns { PixelMap } Returns the instance if the operation is successful;Otherwise, return undefined.
4566   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified.
4567   * 2.Incorrect parameter types. 3.Parameter verification failed.
4568   * @syscap SystemCapability.Multimedia.Image.Core
4569   * @crossplatform
4570   * @since 12
4571   */
4572  function createPixelMapSync(colors: ArrayBuffer, options: InitializationOptions): PixelMap;
4573
4574  /**
4575   * Create an empty pixelmap.
4576   *
4577   * @param { InitializationOptions } options Initialization options for pixelmap.
4578   * @returns { PixelMap } Returns the instance if the operation is successful;Otherwise, return undefined.
4579   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified.
4580   * 2.Incorrect parameter types. 3.Parameter verification failed.
4581   * @syscap SystemCapability.Multimedia.Image.Core
4582   * @crossplatform
4583   * @since 12
4584   */
4585function createPixelMapSync(options: InitializationOptions): PixelMap;
4586
4587  /**
4588   * Transforms pixelmap from unpremultiplied alpha format to premultiplied alpha format.
4589   *
4590   * @param { PixelMap } src The source pixelmap.
4591   * @param { PixelMap } dst The destination pixelmap.
4592   * @param { AsyncCallback<void> } callback Callback used to return the operation result.
4593   * If the operation fails, an error message is returned.
4594   * @throws { BusinessError } 62980103 - The image data is not supported.
4595   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified.
4596   * 2.Incorrect parameter types. 3.Parameter verification failed.
4597   * @throws { BusinessError } 62980246 - Failed to read the pixelMap.
4598   * @throws { BusinessError } 62980248 - Pixelmap not allow modify.
4599   * @syscap SystemCapability.Multimedia.Image.Core
4600   * @crossplatform
4601   * @since 12
4602   */
4603function createPremultipliedPixelMap(src: PixelMap, dst: PixelMap, callback: AsyncCallback<void>): void;
4604
4605  /**
4606   * Transforms pixelmap from premultiplied alpha format to unpremultiplied alpha format.
4607   *
4608   * @param { PixelMap } src The source pixelMap.
4609   * @param { PixelMap } dst The destination pixelmap.
4610   * @returns { Promise<void> } A Promise instance used to return the operation result.
4611   * If the operation fails, an error message is returned.
4612   * @throws { BusinessError } 62980103 - The image data is not supported.
4613   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified.
4614   * 2.Incorrect parameter types. 3.Parameter verification failed.
4615   * @throws { BusinessError } 62980246 - Failed to read the pixelMap.
4616   * @throws { BusinessError } 62980248 - Pixelmap not allow modify.
4617   * @syscap SystemCapability.Multimedia.Image.Core
4618   * @crossplatform
4619   * @since 12
4620   */
4621function createPremultipliedPixelMap(src: PixelMap, dst: PixelMap): Promise<void>;
4622
4623  /**
4624   * Transforms pixelmap from premultiplied alpha format to unpremultiplied alpha format.
4625   *
4626   * @param { PixelMap } src The source pixelmap.
4627   * @param { PixelMap } dst The destination pixelmap.
4628   * @param { AsyncCallback<void> } callback Callback used to return the operation result.
4629   * If the operation fails, an error message is returned.
4630   * @throws { BusinessError } 62980103 - The image data is not supported.
4631   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified.
4632   * 2.Incorrect parameter types. 3.Parameter verification failed.
4633   * @throws { BusinessError } 62980246 - Failed to read the pixelMap.
4634   * @throws { BusinessError } 62980248 - Pixelmap not allow modify.
4635   * @syscap SystemCapability.Multimedia.Image.Core
4636   * @crossplatform
4637   * @since 12
4638   */
4639function createUnpremultipliedPixelMap(src: PixelMap, dst: PixelMap, callback: AsyncCallback<void>): void;
4640
4641  /**
4642   * Transforms pixelmap from premultiplied alpha format to unpremultiplied alpha format.
4643   *
4644   * @param { PixelMap } src The source pixelmap.
4645   * @param { PixelMap } dst The destination pixelmap.
4646   * @returns { Promise<void> } A Promise instance used to return the operation result.
4647   * If the operation fails, an error message is returned.
4648   * @throws { BusinessError } 62980103 - The image data is not supported.
4649   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified.
4650   * 2.Incorrect parameter types. 3.Parameter verification failed.
4651   * @throws { BusinessError } 62980246 - Failed to read the pixelMap.
4652   * @throws { BusinessError } 62980248 - Pixelmap not allow modify.
4653   * @syscap SystemCapability.Multimedia.Image.Core
4654   * @crossplatform
4655   * @since 12
4656   */
4657function createUnpremultipliedPixelMap(src: PixelMap, dst: PixelMap): Promise<void>;
4658
4659  /**
4660   * Creates a PixelMap object based on MessageSequence parameter.
4661   *
4662   * @param { rpc.MessageSequence } sequence - rpc.MessageSequence parameter.
4663   * @returns { PixelMap } Returns the instance if the operation is successful;Otherwise, an exception will be thrown.
4664   * @throws { BusinessError } 62980096 - Operation failed.
4665   * @throws { BusinessError } 62980097 - IPC error.
4666   * @throws { BusinessError } 62980115 - Invalid input parameter.
4667   * @throws { BusinessError } 62980105 - Failed to get the data.
4668   * @throws { BusinessError } 62980177 - Abnormal API environment.
4669   * @throws { BusinessError } 62980178 - Failed to create the PixelMap.
4670   * @throws { BusinessError } 62980179 - Abnormal buffer size.
4671   * @throws { BusinessError } 62980180 - FD mapping failed.
4672   * @throws { BusinessError } 62980246 - Failed to read the PixelMap.
4673   * @syscap SystemCapability.Multimedia.Image.Core
4674   * @since 11
4675   */
4676  function createPixelMapFromParcel(sequence: rpc.MessageSequence): PixelMap;
4677
4678  /**
4679   * Creates a PixelMap object from surface id.
4680   *
4681   * @param { string } surfaceId - surface id.
4682   * @param { Region } region - The region to surface.
4683   * @returns { Promise<PixelMap> } Returns the instance if the operation is successful;Otherwise, an exception will be thrown.
4684   * @throws { BusinessError } 62980115 - If the image parameter invalid.
4685   * @throws { BusinessError } 62980105 - Failed to get the data.
4686   * @throws { BusinessError } 62980178 - Failed to create the PixelMap.
4687   * @syscap SystemCapability.Multimedia.Image.Core
4688   * @since 11
4689   */
4690  function createPixelMapFromSurface(surfaceId: string, region: Region): Promise<PixelMap>;
4691
4692  /**
4693   * Creates a PixelMap object from surface id.
4694   *
4695   * @param { string } surfaceId - surface id.
4696   * @param { Region } region - The region to surface.
4697   * @returns { PixelMap } Returns the instance if the operation is successful;Otherwise, an exception will be thrown.
4698   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified.
4699   *     2.Incorrect parameter types. 3.Parameter verification failed.
4700   * @throws { BusinessError } 62980105 - Failed to get the data.
4701   * @throws { BusinessError } 62980178 - Failed to create the PixelMap.
4702   * @syscap SystemCapability.Multimedia.Image.Core
4703   * @since 12
4704   */
4705  function createPixelMapFromSurfaceSync(surfaceId: string, region: Region): PixelMap;
4706
4707  /**
4708   * Creates an ImageSource instance based on the URI.
4709   *
4710   * @param { string } uri Image source URI.
4711   * @returns { ImageSource } returns the ImageSource instance if the operation is successful; returns null otherwise.
4712   * @syscap SystemCapability.Multimedia.Image.ImageSource
4713   * @since 6
4714   */
4715  /**
4716   * Creates an ImageSource instance based on the URI.
4717   *
4718   * @param { string } uri Image source URI.
4719   * @returns { ImageSource } returns the ImageSource instance if the operation is successful; returns null otherwise.
4720   * @syscap SystemCapability.Multimedia.Image.ImageSource
4721   * @crossplatform
4722   * @since 10
4723   */
4724  /**
4725   * Creates an ImageSource instance based on the URI.
4726   *
4727   * @param { string } uri Image source URI.
4728   * @returns { ImageSource } returns the ImageSource instance if the operation is successful; returns null otherwise.
4729   * @syscap SystemCapability.Multimedia.Image.ImageSource
4730   * @crossplatform
4731   * @atomicservice
4732   * @since 11
4733   */
4734  function createImageSource(uri: string): ImageSource;
4735
4736  /**
4737   * Creates an ImageSource instance based on the URI.
4738   *
4739   * @param { string } uri Image source URI.
4740   * @param { SourceOptions } options The config of Image source.
4741   * @returns { ImageSource } Returns the ImageSource instance if the operation is successful; returns null otherwise.
4742   * @syscap SystemCapability.Multimedia.Image.ImageSource
4743   * @since 9
4744   */
4745  /**
4746   * Creates an ImageSource instance based on the URI.
4747   *
4748   * @param { string } uri Image source URI.
4749   * @param { SourceOptions } options The config of Image source.
4750   * @returns { ImageSource } Returns the ImageSource instance if the operation is successful; returns null otherwise.
4751   * @syscap SystemCapability.Multimedia.Image.ImageSource
4752   * @crossplatform
4753   * @since 10
4754   */
4755  /**
4756   * Creates an ImageSource instance based on the URI.
4757   *
4758   * @param { string } uri Image source URI.
4759   * @param { SourceOptions } options The config of Image source.
4760   * @returns { ImageSource } Returns the ImageSource instance if the operation is successful; returns null otherwise.
4761   * @syscap SystemCapability.Multimedia.Image.ImageSource
4762   * @crossplatform
4763   * @atomicservice
4764   * @since 11
4765   */
4766  /**
4767   * Creates an ImageSource instance based on the URI.
4768   *
4769   * @param { string } uri Image source URI.
4770   * @param { SourceOptions } options The config of Image source.
4771   * @returns { ImageSource } Returns the ImageSource instance if the operation is successful; returns null otherwise.
4772   * @syscap SystemCapability.Multimedia.Image.ImageSource
4773   * @crossplatform
4774   * @form
4775   * @atomicservice
4776   * @since 12
4777   */
4778  function createImageSource(uri: string, options: SourceOptions): ImageSource;
4779
4780  /**
4781   * Creates an ImageSource instance based on the file descriptor.
4782   *
4783   * @param { number } fd ID of a file descriptor.
4784   * @returns { ImageSource } Returns the ImageSource instance if the operation is successful; returns null otherwise.
4785   * @syscap SystemCapability.Multimedia.Image.ImageSource
4786   * @since 7
4787   */
4788  /**
4789   * Creates an ImageSource instance based on the file descriptor.
4790   *
4791   * @param { number } fd ID of a file descriptor.
4792   * @returns { ImageSource } Returns the ImageSource instance if the operation is successful; returns null otherwise.
4793   * @syscap SystemCapability.Multimedia.Image.ImageSource
4794   * @crossplatform
4795   * @since 10
4796   */
4797  /**
4798   * Creates an ImageSource instance based on the file descriptor.
4799   *
4800   * @param { number } fd ID of a file descriptor.
4801   * @returns { ImageSource } Returns the ImageSource instance if the operation is successful; returns null otherwise.
4802   * @syscap SystemCapability.Multimedia.Image.ImageSource
4803   * @crossplatform
4804   * @atomicservice
4805   * @since 11
4806   */
4807  function createImageSource(fd: number): ImageSource;
4808
4809  /**
4810   * Creates an ImageSource instance based on the file descriptor.
4811   *
4812   * @param { number } fd ID of a file descriptor.
4813   * @param { SourceOptions } options The config of Image source.
4814   * @returns { ImageSource } Returns the ImageSource instance if the operation is successful; returns null otherwise.
4815   * @syscap SystemCapability.Multimedia.Image.ImageSource
4816   * @since 9
4817   */
4818  /**
4819   * Creates an ImageSource instance based on the file descriptor.
4820   *
4821   * @param { number } fd ID of a file descriptor.
4822   * @param { SourceOptions } options The config of Image source.
4823   * @returns { ImageSource } Returns the ImageSource instance if the operation is successful; returns null otherwise.
4824   * @syscap SystemCapability.Multimedia.Image.ImageSource
4825   * @crossplatform
4826   * @since 10
4827   */
4828  /**
4829   * Creates an ImageSource instance based on the file descriptor.
4830   *
4831   * @param { number } fd ID of a file descriptor.
4832   * @param { SourceOptions } options The config of Image source.
4833   * @returns { ImageSource } Returns the ImageSource instance if the operation is successful; returns null otherwise.
4834   * @syscap SystemCapability.Multimedia.Image.ImageSource
4835   * @crossplatform
4836   * @atomicservice
4837   * @since 11
4838   */
4839  /**
4840   * Creates an ImageSource instance based on the file descriptor.
4841   *
4842   * @param { number } fd ID of a file descriptor.
4843   * @param { SourceOptions } options The config of Image source.
4844   * @returns { ImageSource } Returns the ImageSource instance if the operation is successful; returns null otherwise.
4845   * @syscap SystemCapability.Multimedia.Image.ImageSource
4846   * @crossplatform
4847   * @form
4848   * @atomicservice
4849   * @since 12
4850   */
4851  function createImageSource(fd: number, options: SourceOptions): ImageSource;
4852
4853  /**
4854   * Creates an ImageSource instance based on the buffer.
4855   *
4856   * @param { ArrayBuffer } buf The buffer of the image.
4857   * @returns { ImageSource } Returns the ImageSource instance if the operation is successful; returns null otherwise.
4858   * @syscap SystemCapability.Multimedia.Image.ImageSource
4859   * @since 9
4860   */
4861  /**
4862   * Creates an ImageSource instance based on the buffer.
4863   *
4864   * @param { ArrayBuffer } buf The buffer of the image.
4865   * @returns { ImageSource } Returns the ImageSource instance if the operation is successful; returns null otherwise.
4866   * @syscap SystemCapability.Multimedia.Image.ImageSource
4867   * @crossplatform
4868   * @since 10
4869   */
4870  /**
4871   * Creates an ImageSource instance based on the buffer.
4872   *
4873   * @param { ArrayBuffer } buf The buffer of the image.
4874   * @returns { ImageSource } Returns the ImageSource instance if the operation is successful; returns null otherwise.
4875   * @syscap SystemCapability.Multimedia.Image.ImageSource
4876   * @crossplatform
4877   * @atomicservice
4878   * @since 11
4879   */
4880  /**
4881   * Creates an ImageSource instance based on the buffer.
4882   *
4883   * @param { ArrayBuffer } buf The buffer of the image.
4884   * @returns { ImageSource } Returns the ImageSource instance if the operation is successful; returns null otherwise.
4885   * @syscap SystemCapability.Multimedia.Image.ImageSource
4886   * @crossplatform
4887   * @form
4888   * @atomicservice
4889   * @since 12
4890   */
4891  function createImageSource(buf: ArrayBuffer): ImageSource;
4892
4893  /**
4894   * Creates an ImageSource instance based on the buffer.
4895   *
4896   * @param { ArrayBuffer } buf The buffer of the image.
4897   * @param { SourceOptions } options The config of Image source.
4898   * @returns { ImageSource } Returns the ImageSource instance if the operation is successful; returns null otherwise.
4899   * @syscap SystemCapability.Multimedia.Image.ImageSource
4900   * @since 9
4901   */
4902  /**
4903   * Creates an ImageSource instance based on the buffer.
4904   *
4905   * @param { ArrayBuffer } buf The buffer of the image.
4906   * @param { SourceOptions } options The config of Image source.
4907   * @returns { ImageSource } Returns the ImageSource instance if the operation is successful; returns null otherwise.
4908   * @syscap SystemCapability.Multimedia.Image.ImageSource
4909   * @crossplatform
4910   * @since 10
4911   */
4912  /**
4913   * Creates an ImageSource instance based on the buffer.
4914   *
4915   * @param { ArrayBuffer } buf The buffer of the image.
4916   * @param { SourceOptions } options The config of Image source.
4917   * @returns { ImageSource } Returns the ImageSource instance if the operation is successful; returns null otherwise.
4918   * @syscap SystemCapability.Multimedia.Image.ImageSource
4919   * @crossplatform
4920   * @atomicservice
4921   * @since 11
4922   */
4923  /**
4924   * Creates an ImageSource instance based on the buffer.
4925   *
4926   * @param { ArrayBuffer } buf The buffer of the image.
4927   * @param { SourceOptions } options The config of Image source.
4928   * @returns { ImageSource } Returns the ImageSource instance if the operation is successful; returns null otherwise.
4929   * @syscap SystemCapability.Multimedia.Image.ImageSource
4930   * @crossplatform
4931   * @form
4932   * @atomicservice
4933   * @since 12
4934   */
4935  function createImageSource(buf: ArrayBuffer, options: SourceOptions): ImageSource;
4936
4937  /**
4938   * Creates an ImageSource instance based on the raw file descriptor.
4939   *
4940   * @param { resourceManager.RawFileDescriptor } rawfile The raw file descriptor of the image.
4941   * @param { SourceOptions } options The config of Image source.
4942   * @returns { ImageSource } Returns the ImageSource instance if the operation is successful; returns null otherwise.
4943   * @syscap SystemCapability.Multimedia.Image.ImageSource
4944   * @crossplatform
4945   * @atomicservice
4946   * @since 11
4947   */
4948  function createImageSource(rawfile: resourceManager.RawFileDescriptor, options?: SourceOptions): ImageSource;
4949
4950  /**
4951   * Creates an ImageSource instance based on the buffer in incremental.
4952   *
4953   * @param { ArrayBuffer } buf The buffer of the image.
4954   * @returns { ImageSource } Returns the ImageSource instance if the operation is successful; returns null otherwise.
4955   * @syscap SystemCapability.Multimedia.Image.ImageSource
4956   * @since 9
4957   */
4958  /**
4959   * Creates an ImageSource instance based on the buffer in incremental.
4960   *
4961   * @param { ArrayBuffer } buf The buffer of the image.
4962   * @returns { ImageSource } Returns the ImageSource instance if the operation is successful; returns null otherwise.
4963   * @syscap SystemCapability.Multimedia.Image.ImageSource
4964   * @crossplatform
4965   * @since 10
4966   */
4967  function CreateIncrementalSource(buf: ArrayBuffer): ImageSource;
4968
4969  /**
4970   * Creates an ImageSource instance based on the buffer in incremental.
4971   *
4972   * @param { ArrayBuffer } buf The buffer of the image.
4973   * @param { SourceOptions } options The config of source.
4974   * @returns { ImageSource } Returns the ImageSource instance if the operation is successful; returns null otherwise.
4975   * @syscap SystemCapability.Multimedia.Image.ImageSource
4976   * @since 9
4977   */
4978  /**
4979   * Creates an ImageSource instance based on the buffer in incremental.
4980   *
4981   * @param { ArrayBuffer } buf The buffer of the image.
4982   * @param { SourceOptions } options The config of source.
4983   * @returns { ImageSource } Returns the ImageSource instance if the operation is successful; returns null otherwise.
4984   * @syscap SystemCapability.Multimedia.Image.ImageSource
4985   * @crossplatform
4986   * @since 10
4987   */
4988  function CreateIncrementalSource(buf: ArrayBuffer, options?: SourceOptions): ImageSource;
4989
4990  /**
4991   * Creates an ImagePacker instance.
4992   *
4993   * @returns { ImagePacker } Returns the ImagePacker instance if the operation is successful; returns null otherwise.
4994   * @syscap SystemCapability.Multimedia.Image.ImagePacker
4995   * @since 6
4996   */
4997  /**
4998   * Creates an ImagePacker instance.
4999   *
5000   * @returns { ImagePacker } Returns the ImagePacker instance if the operation is successful; returns null otherwise.
5001   * @syscap SystemCapability.Multimedia.Image.ImagePacker
5002   * @crossplatform
5003   * @since 10
5004   */
5005  /**
5006   * Creates an ImagePacker instance.
5007   *
5008   * @returns { ImagePacker } Returns the ImagePacker instance if the operation is successful; returns null otherwise.
5009   * @syscap SystemCapability.Multimedia.Image.ImagePacker
5010   * @crossplatform
5011   * @atomicservice
5012   * @since 11
5013   */
5014  function createImagePacker(): ImagePacker;
5015
5016  /**
5017   * Creates an ImageReceiver instance.
5018   *
5019   * @param { number } width The default width in pixels of the Images that this receiver will produce.
5020   * @param { number } height The default height in pixels of the Images that this receiver will produce.
5021   * @param { number } format The format of the Image that this receiver will produce. This must be one of the
5022   *            {@link ImageFormat} constants.
5023   * @param { number } capacity The maximum number of images the user will want to access simultaneously.
5024   * @returns { ImageReceiver } Returns the ImageReceiver instance if the operation is successful; returns null otherwise.
5025   * @syscap SystemCapability.Multimedia.Image.ImageReceiver
5026   * @since 9
5027   * @deprecated since 11
5028   * @useinstead image#createImageReceiver
5029   */
5030  function createImageReceiver(width: number, height: number, format: number, capacity: number): ImageReceiver;
5031
5032  /**
5033   * Creates an ImageReceiver instance.
5034   *
5035   * @param { Size } size - The default {@link Size} in pixels of the Images that this receiver will produce.
5036   * @param { ImageFormat } format - The format of the Image that this receiver will produce. This must be one of the
5037   *            {@link ImageFormat} constants.
5038   * @param { number } capacity - The maximum number of images the user will want to access simultaneously.
5039   * @returns { ImageReceiver } Returns the ImageReceiver instance if the operation is successful; returns null otherwise.
5040   * @throws { BusinessError } 401 - Parameter error.Possible causes: 1.Mandatory parameters are left unspecified; 2.Incorrect parameter types;
5041   * @syscap SystemCapability.Multimedia.Image.ImageReceiver
5042   * @since 11
5043   */
5044  function createImageReceiver(size: Size, format: ImageFormat, capacity: number): ImageReceiver;
5045
5046  /**
5047   * Creates an ImageCreator instance.
5048   *
5049   * @param { number } width The default width in pixels of the Images that this creator will produce.
5050   * @param { number } height The default height in pixels of the Images that this creator will produce.
5051   * @param { number } format The format of the Image that this creator will produce. This must be one of the
5052   *            {@link ImageFormat} constants.
5053   * @param { number } capacity The maximum number of images the user will want to access simultaneously.
5054   * @returns { ImageCreator } Returns the ImageCreator instance if the operation is successful; returns null otherwise.
5055   * @syscap SystemCapability.Multimedia.Image.ImageCreator
5056   * @since 9
5057   * @deprecated since 11
5058   * @useinstead image#createImageCreator
5059   */
5060  function createImageCreator(width: number, height: number, format: number, capacity: number): ImageCreator;
5061
5062  /**
5063   * Creates an ImageCreator instance.
5064   *
5065   * @param { Size } size - The default {@link Size} in pixels of the Images that this creator will produce.
5066   * @param { ImageFormat } format - The format of the Image that this creator will produce. This must be one of the
5067   *            {@link ImageFormat} constants.
5068   * @param { number } capacity - The maximum number of images the user will want to access simultaneously.
5069   * @returns { ImageCreator } Returns the ImageCreator instance if the operation is successful; returns null otherwise.
5070   * @throws { BusinessError } 401 - Parameter error.Possible causes: 1.Mandatory parameters are left unspecified; 2.Incorrect parameter types;
5071   * @syscap SystemCapability.Multimedia.Image.ImageCreator
5072   * @since 11
5073   */
5074  function createImageCreator(size: Size, format: ImageFormat, capacity: number): ImageCreator;
5075  /**
5076   * PixelMap instance.
5077   *
5078   * @typedef PixelMap
5079   * @syscap SystemCapability.Multimedia.Image.Core
5080   * @since 7
5081   */
5082  /**
5083   * PixelMap instance.
5084   *
5085   * @typedef PixelMap
5086   * @syscap SystemCapability.Multimedia.Image.Core
5087   * @crossplatform
5088   * @since 10
5089   */
5090  /**
5091   * PixelMap instance.
5092   *
5093   * @typedef PixelMap
5094   * @syscap SystemCapability.Multimedia.Image.Core
5095   * @crossplatform
5096   * @atomicservice
5097   * @since 11
5098   */
5099  /**
5100   * PixelMap instance.
5101   *
5102   * @typedef PixelMap
5103   * @syscap SystemCapability.Multimedia.Image.Core
5104   * @crossplatform
5105   * @form
5106   * @atomicservice
5107   * @since 12
5108   */
5109  interface PixelMap {
5110    /**
5111     * Whether the image pixel map can be edited.
5112     *
5113     * @type { boolean }
5114     * @syscap SystemCapability.Multimedia.Image.Core
5115     * @since 7
5116     */
5117    /**
5118     * Whether the image pixel map can be edited.
5119     *
5120     * @type { boolean }
5121     * @syscap SystemCapability.Multimedia.Image.Core
5122     * @crossplatform
5123     * @since 10
5124     */
5125    /**
5126     * Whether the image pixel map can be edited.
5127     *
5128     * @type { boolean }
5129     * @syscap SystemCapability.Multimedia.Image.Core
5130     * @crossplatform
5131     * @atomicservice
5132     * @since 11
5133     */
5134    /**
5135     * Whether the image pixel map can be edited.
5136     *
5137     * @type { boolean }
5138     * @syscap SystemCapability.Multimedia.Image.Core
5139     * @crossplatform
5140     * @form
5141     * @atomicservice
5142     * @since 12
5143     */
5144    readonly isEditable: boolean;
5145
5146    /**
5147     * Reads image pixel map data and writes the data to an ArrayBuffer. This method uses
5148     * a promise to return the result.
5149     *
5150     * @param { ArrayBuffer } dst A buffer to which the image pixel map data will be written.
5151     * @returns { Promise<void> } A Promise instance used to return the operation result. If the operation fails, an error message is returned.
5152     * @syscap SystemCapability.Multimedia.Image.Core
5153     * @since 7
5154     */
5155    /**
5156     * Reads image pixel map data and writes the data to an ArrayBuffer. This method uses
5157     * a promise to return the result.
5158     *
5159     * @param { ArrayBuffer } dst A buffer to which the image pixel map data will be written.
5160     * @returns { Promise<void> } A Promise instance used to return the operation result. If the operation fails, an error message is returned.
5161     * @syscap SystemCapability.Multimedia.Image.Core
5162     * @crossplatform
5163     * @since 10
5164     */
5165    /**
5166     * Reads image pixel map data and writes the data to an ArrayBuffer. This method uses
5167     * a promise to return the result.
5168     *
5169     * @param { ArrayBuffer } dst A buffer to which the image pixel map data will be written.
5170     * @returns { Promise<void> } A Promise instance used to return the operation result. If the operation fails, an error message is returned.
5171     * @syscap SystemCapability.Multimedia.Image.Core
5172     * @crossplatform
5173     * @atomicservice
5174     * @since 11
5175     */
5176    /**
5177     * Reads image pixel map data and writes the data to an ArrayBuffer. This method uses
5178     * a promise to return the result.
5179     *
5180     * @param { ArrayBuffer } dst A buffer to which the image pixel map data will be written.
5181     * @returns { Promise<void> } A Promise instance used to return the operation result. If the operation fails, an error message is returned.
5182     * @syscap SystemCapability.Multimedia.Image.Core
5183     * @crossplatform
5184     * @form
5185     * @atomicservice
5186     * @since 12
5187     */
5188    readPixelsToBuffer(dst: ArrayBuffer): Promise<void>;
5189
5190    /**
5191     * Reads image pixel map data and writes the data to an ArrayBuffer. This method uses
5192     * a callback to return the result.
5193     *
5194     * @param { ArrayBuffer } dst A buffer to which the image pixel map data will be written.
5195     * @param { AsyncCallback<void> } callback Callback used to return the operation result. If the operation fails, an error message is returned.
5196     * @syscap SystemCapability.Multimedia.Image.Core
5197     * @since 7
5198     */
5199    /**
5200     * Reads image pixel map data and writes the data to an ArrayBuffer. This method uses
5201     * a callback to return the result.
5202     *
5203     * @param { ArrayBuffer } dst A buffer to which the image pixel map data will be written.
5204     * @param { AsyncCallback<void> } callback Callback used to return the operation result. If the operation fails, an error message is returned.
5205     * @syscap SystemCapability.Multimedia.Image.Core
5206     * @crossplatform
5207     * @since 10
5208     */
5209    /**
5210     * Reads image pixel map data and writes the data to an ArrayBuffer. This method uses
5211     * a callback to return the result.
5212     *
5213     * @param { ArrayBuffer } dst A buffer to which the image pixel map data will be written.
5214     * @param { AsyncCallback<void> } callback Callback used to return the operation result. If the operation fails, an error message is returned.
5215     * @syscap SystemCapability.Multimedia.Image.Core
5216     * @crossplatform
5217     * @atomicservice
5218     * @since 11
5219     */
5220    /**
5221     * Reads image pixel map data and writes the data to an ArrayBuffer. This method uses
5222     * a callback to return the result.
5223     *
5224     * @param { ArrayBuffer } dst A buffer to which the image pixel map data will be written.
5225     * @param { AsyncCallback<void> } callback Callback used to return the operation result. If the operation fails, an error message is returned.
5226     * @syscap SystemCapability.Multimedia.Image.Core
5227     * @crossplatform
5228     * @form
5229     * @atomicservice
5230     * @since 12
5231     */
5232    readPixelsToBuffer(dst: ArrayBuffer, callback: AsyncCallback<void>): void;
5233
5234    /**
5235     * Reads image pixel map data and writes the data to an ArrayBuffer.
5236     *
5237     * @param { ArrayBuffer } dst A buffer to which the image pixel map data will be written.
5238     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified.
5239     * 2.Incorrect parameter types. 3.Parameter verification failed.
5240     * @throws { BusinessError } 501 - Resource Unavailable.
5241     * @syscap SystemCapability.Multimedia.Image.Core
5242     * @crossplatform
5243     * @form
5244     * @atomicservice
5245     * @since 12
5246     */
5247    readPixelsToBufferSync(dst: ArrayBuffer): void;
5248
5249    /**
5250     * Reads image pixel map data in an area. This method uses a promise to return the data read.
5251     *
5252     * @param { PositionArea } area Area from which the image pixel map data will be read.
5253     * @returns { Promise<void> } A Promise instance used to return the operation result. If the operation fails, an error message is returned.
5254     * @syscap SystemCapability.Multimedia.Image.Core
5255     * @since 7
5256     */
5257    /**
5258     * Reads image pixel map data in an area. This method uses a promise to return the data read.
5259     *
5260     * @param { PositionArea } area Area from which the image pixel map data will be read.
5261     * @returns { Promise<void> } A Promise instance used to return the operation result. If the operation fails, an error message is returned.
5262     * @syscap SystemCapability.Multimedia.Image.Core
5263     * @crossplatform
5264     * @since 10
5265     */
5266    /**
5267     * Reads image pixel map data in an area. This method uses a promise to return the data read.
5268     *
5269     * @param { PositionArea } area Area from which the image pixel map data will be read.
5270     * @returns { Promise<void> } A Promise instance used to return the operation result. If the operation fails, an error message is returned.
5271     * @syscap SystemCapability.Multimedia.Image.Core
5272     * @crossplatform
5273     * @atomicservice
5274     * @since 11
5275     */
5276    /**
5277     * Reads image pixel map data in an area. This method uses a promise to return the data read.
5278     *
5279     * @param { PositionArea } area Area from which the image pixel map data will be read.
5280     * @returns { Promise<void> } A Promise instance used to return the operation result. If the operation fails, an error message is returned.
5281     * @syscap SystemCapability.Multimedia.Image.Core
5282     * @crossplatform
5283     * @form
5284     * @atomicservice
5285     * @since 12
5286     */
5287    readPixels(area: PositionArea): Promise<void>;
5288
5289    /**
5290     * Reads image pixel map data in an area. This method uses a callback to return the data read.
5291     *
5292     * @param { PositionArea } area Area from which the image pixel map data will be read.
5293     * @param { AsyncCallback<void> } callback Callback used to return the operation result. If the operation fails, an error message is returned.
5294     * @syscap SystemCapability.Multimedia.Image.Core
5295     * @since 7
5296     */
5297    /**
5298     * Reads image pixel map data in an area. This method uses a callback to return the data read.
5299     *
5300     * @param { PositionArea } area Area from which the image pixel map data will be read.
5301     * @param { AsyncCallback<void> } callback Callback used to return the operation result. If the operation fails, an error message is returned.
5302     * @syscap SystemCapability.Multimedia.Image.Core
5303     * @crossplatform
5304     * @since 10
5305     */
5306    /**
5307     * Reads image pixel map data in an area. This method uses a callback to return the data read.
5308     *
5309     * @param { PositionArea } area Area from which the image pixel map data will be read.
5310     * @param { AsyncCallback<void> } callback Callback used to return the operation result. If the operation fails, an error message is returned.
5311     * @syscap SystemCapability.Multimedia.Image.Core
5312     * @crossplatform
5313     * @atomicservice
5314     * @since 11
5315     */
5316    /**
5317     * Reads image pixel map data in an area. This method uses a callback to return the data read.
5318     *
5319     * @param { PositionArea } area Area from which the image pixel map data will be read.
5320     * @param { AsyncCallback<void> } callback Callback used to return the operation result. If the operation fails, an error message is returned.
5321     * @syscap SystemCapability.Multimedia.Image.Core
5322     * @crossplatform
5323     * @form
5324     * @atomicservice
5325     * @since 12
5326     */
5327    readPixels(area: PositionArea, callback: AsyncCallback<void>): void;
5328
5329    /**
5330     * Reads image pixel map data in an area.
5331     *
5332     * @param { PositionArea } area Area from which the image pixel map data will be read.
5333     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified.
5334     * 2.Incorrect parameter types. 3.Parameter verification failed.
5335     * @throws { BusinessError } 501 - Resource Unavailable.
5336     * @syscap SystemCapability.Multimedia.Image.Core
5337     * @crossplatform
5338     * @atomicservice
5339     * @since 12
5340     */
5341    readPixelsSync(area: PositionArea): void;
5342
5343    /**
5344     * Writes image pixel map data to the specified area. This method uses a promise to return
5345     * the operation result.
5346     *
5347     * @param { PositionArea } area Area to which the image pixel map data will be written.
5348     * @returns { Promise<void> } A Promise instance used to return the operation result. If the operation fails, an error message is returned.
5349     * @syscap SystemCapability.Multimedia.Image.Core
5350     * @since 7
5351     */
5352    /**
5353     * Writes image pixel map data to the specified area. This method uses a promise to return
5354     * the operation result.
5355     *
5356     * @param { PositionArea } area Area to which the image pixel map data will be written.
5357     * @returns { Promise<void> } A Promise instance used to return the operation result. If the operation fails, an error message is returned.
5358     * @syscap SystemCapability.Multimedia.Image.Core
5359     * @crossplatform
5360     * @since 10
5361     */
5362    /**
5363     * Writes image pixel map data to the specified area. This method uses a promise to return
5364     * the operation result.
5365     *
5366     * @param { PositionArea } area Area to which the image pixel map data will be written.
5367     * @returns { Promise<void> } A Promise instance used to return the operation result. If the operation fails, an error message is returned.
5368     * @syscap SystemCapability.Multimedia.Image.Core
5369     * @crossplatform
5370     * @atomicservice
5371     * @since 11
5372     */
5373    /**
5374     * Writes image pixel map data to the specified area. This method uses a promise to return
5375     * the operation result.
5376     *
5377     * @param { PositionArea } area Area to which the image pixel map data will be written.
5378     * @returns { Promise<void> } A Promise instance used to return the operation result. If the operation fails, an error message is returned.
5379     * @syscap SystemCapability.Multimedia.Image.Core
5380     * @crossplatform
5381     * @form
5382     * @atomicservice
5383     * @since 12
5384     */
5385    writePixels(area: PositionArea): Promise<void>;
5386
5387    /**
5388     * Writes image pixel map data to the specified area. This method uses a callback to return
5389     * the operation result.
5390     *
5391     * @param { PositionArea } area Area to which the image pixel map data will be written.
5392     * @param { AsyncCallback<void> } callback Callback used to return the operation result. If the operation fails, an error message is returned.
5393     * @syscap SystemCapability.Multimedia.Image.Core
5394     * @since 7
5395     */
5396    /**
5397     * Writes image pixel map data to the specified area. This method uses a callback to return
5398     * the operation result.
5399     *
5400     * @param { PositionArea } area Area to which the image pixel map data will be written.
5401     * @param { AsyncCallback<void> } callback Callback used to return the operation result. If the operation fails, an error message is returned.
5402     * @syscap SystemCapability.Multimedia.Image.Core
5403     * @crossplatform
5404     * @since 10
5405     */
5406    /**
5407     * Writes image pixel map data to the specified area. This method uses a callback to return
5408     * the operation result.
5409     *
5410     * @param { PositionArea } area Area to which the image pixel map data will be written.
5411     * @param { AsyncCallback<void> } callback Callback used to return the operation result. If the operation fails, an error message is returned.
5412     * @syscap SystemCapability.Multimedia.Image.Core
5413     * @crossplatform
5414     * @atomicservice
5415     * @since 11
5416     */
5417    /**
5418     * Writes image pixel map data to the specified area. This method uses a callback to return
5419     * the operation result.
5420     *
5421     * @param { PositionArea } area Area to which the image pixel map data will be written.
5422     * @param { AsyncCallback<void> } callback Callback used to return the operation result. If the operation fails, an error message is returned.
5423     * @syscap SystemCapability.Multimedia.Image.Core
5424     * @crossplatform
5425     * @form
5426     * @atomicservice
5427     * @since 12
5428     */
5429    writePixels(area: PositionArea, callback: AsyncCallback<void>): void;
5430
5431    /**
5432     * Writes image pixel map data to the specified area.
5433     *
5434     * @param { PositionArea } area Area to which the image pixel map data will be written.
5435     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified.
5436     * 2.Incorrect parameter types. 3.Parameter verification failed.
5437     * @throws { BusinessError } 501 - Resource Unavailable.
5438     * @syscap SystemCapability.Multimedia.Image.Core
5439     * @crossplatform
5440     * @form
5441     * @atomicservice
5442     * @since 12
5443     */
5444    writePixelsSync(area: PositionArea): void;
5445    /**
5446     * Reads image data in an ArrayBuffer and writes the data to a PixelMap object. This method
5447     * uses a promise to return the result.
5448     *
5449     * @param { ArrayBuffer } src A buffer from which the image data will be read.
5450     * @returns { Promise<void> } A Promise instance used to return the operation result. If the operation fails, an error message is returned.
5451     * @syscap SystemCapability.Multimedia.Image.Core
5452     * @since 7
5453     */
5454    /**
5455     * Reads image data in an ArrayBuffer and writes the data to a PixelMap object. This method
5456     * uses a promise to return the result.
5457     *
5458     * @param { ArrayBuffer } src A buffer from which the image data will be read.
5459     * @returns { Promise<void> } A Promise instance used to return the operation result. If the operation fails, an error message is returned.
5460     * @syscap SystemCapability.Multimedia.Image.Core
5461     * @crossplatform
5462     * @since 10
5463     */
5464    /**
5465     * Reads image data in an ArrayBuffer and writes the data to a PixelMap object. This method
5466     * uses a promise to return the result.
5467     *
5468     * @param { ArrayBuffer } src A buffer from which the image data will be read.
5469     * @returns { Promise<void> } A Promise instance used to return the operation result. If the operation fails, an error message is returned.
5470     * @syscap SystemCapability.Multimedia.Image.Core
5471     * @crossplatform
5472     * @atomicservice
5473     * @since 11
5474     */
5475    /**
5476     * Reads image data in an ArrayBuffer and writes the data to a PixelMap object. This method
5477     * uses a promise to return the result.
5478     *
5479     * @param { ArrayBuffer } src A buffer from which the image data will be read.
5480     * @returns { Promise<void> } A Promise instance used to return the operation result. If the operation fails, an error message is returned.
5481     * @syscap SystemCapability.Multimedia.Image.Core
5482     * @crossplatform
5483     * @form
5484     * @atomicservice
5485     * @since 12
5486     */
5487    writeBufferToPixels(src: ArrayBuffer): Promise<void>;
5488
5489    /**
5490     * Reads image data in an ArrayBuffer and writes the data to a PixelMap object. This method
5491     * uses a callback to return the result.
5492     *
5493     * @param { ArrayBuffer } src A buffer from which the image data will be read.
5494     * @param { AsyncCallback<void> } callback Callback used to return the operation result. If the operation fails, an error message is returned.
5495     * @syscap SystemCapability.Multimedia.Image.Core
5496     * @since 7
5497     */
5498    /**
5499     * Reads image data in an ArrayBuffer and writes the data to a PixelMap object. This method
5500     * uses a callback to return the result.
5501     *
5502     * @param { ArrayBuffer } src A buffer from which the image data will be read.
5503     * @param { AsyncCallback<void> } callback Callback used to return the operation result. If the operation fails, an error message is returned.
5504     * @syscap SystemCapability.Multimedia.Image.Core
5505     * @crossplatform
5506     * @since 10
5507     */
5508    /**
5509     * Reads image data in an ArrayBuffer and writes the data to a PixelMap object. This method
5510     * uses a callback to return the result.
5511     *
5512     * @param { ArrayBuffer } src A buffer from which the image data will be read.
5513     * @param { AsyncCallback<void> } callback Callback used to return the operation result. If the operation fails, an error message is returned.
5514     * @syscap SystemCapability.Multimedia.Image.Core
5515     * @crossplatform
5516     * @atomicservice
5517     * @since 11
5518     */
5519    /**
5520     * Reads image data in an ArrayBuffer and writes the data to a PixelMap object. This method
5521     * uses a callback to return the result.
5522     *
5523     * @param { ArrayBuffer } src A buffer from which the image data will be read.
5524     * @param { AsyncCallback<void> } callback Callback used to return the operation result. If the operation fails, an error message is returned.
5525     * @syscap SystemCapability.Multimedia.Image.Core
5526     * @crossplatform
5527     * @form
5528     * @atomicservice
5529     * @since 12
5530     */
5531    writeBufferToPixels(src: ArrayBuffer, callback: AsyncCallback<void>): void;
5532
5533    /**
5534     * Reads image data in an ArrayBuffer and writes the data to a PixelMap object.
5535     *
5536     * @param { ArrayBuffer } src A buffer from which the image data will be read.
5537     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified.
5538     * 2.Incorrect parameter types. 3.Parameter verification failed.
5539     * @throws { BusinessError } 501 - Resource Unavailable.
5540     * @syscap SystemCapability.Multimedia.Image.Core
5541     * @crossplatform
5542     * @atomicservice
5543     * @since 12
5544     */
5545    writeBufferToPixelsSync(src: ArrayBuffer): void;
5546
5547    /**
5548     * Convert pixelmap to standard dynamic range.
5549     *
5550     * @returns { Promise<void> } A Promise instance used to return the operation result. If the operation fails, an error message is returned.
5551     * @throws { BusinessError } 62980137 - Invalid image operation.
5552     * @syscap SystemCapability.Multimedia.Image.Core
5553     * @since 12
5554     */
5555    toSdr(): Promise<void>;
5556
5557    /**
5558     * Obtains pixel map information about this image. This method uses a promise to return the information.
5559     *
5560     * @returns { Promise<ImageInfo> } A Promise instance used to return the image pixel map information. If the operation fails, an error message is returned.
5561     * @syscap SystemCapability.Multimedia.Image.Core
5562     * @since 7
5563     */
5564    /**
5565     * Obtains pixel map information about this image. This method uses a promise to return the information.
5566     *
5567     * @returns { Promise<ImageInfo> } A Promise instance used to return the image pixel map information. If the operation fails, an error message is returned.
5568     * @syscap SystemCapability.Multimedia.Image.Core
5569     * @crossplatform
5570     * @since 10
5571     */
5572    /**
5573     * Obtains pixel map information about this image. This method uses a promise to return the information.
5574     *
5575     * @returns { Promise<ImageInfo> } A Promise instance used to return the image pixel map information. If the operation fails, an error message is returned.
5576     * @syscap SystemCapability.Multimedia.Image.Core
5577     * @crossplatform
5578     * @atomicservice
5579     * @since 11
5580     */
5581    /**
5582     * Obtains pixel map information about this image. This method uses a promise to return the information.
5583     *
5584     * @returns { Promise<ImageInfo> } A Promise instance used to return the image pixel map information. If the operation fails, an error message is returned.
5585     * @syscap SystemCapability.Multimedia.Image.Core
5586     * @crossplatform
5587     * @form
5588     * @atomicservice
5589     * @since 12
5590     */
5591    getImageInfo(): Promise<ImageInfo>;
5592
5593    /**
5594     * Obtains pixel map information about this image. This method uses a callback to return the information.
5595     *
5596     * @param { AsyncCallback<ImageInfo> } callback Callback used to return the image pixel map information.
5597     * If the operation fails, an error message is returned.
5598     * @syscap SystemCapability.Multimedia.Image.Core
5599     * @since 7
5600     */
5601    /**
5602     * Obtains pixel map information about this image. This method uses a callback to return the information.
5603     *
5604     * @param { AsyncCallback<ImageInfo> } callback Callback used to return the image pixel map information.
5605     * If the operation fails, an error message is returned.
5606     * @syscap SystemCapability.Multimedia.Image.Core
5607     * @crossplatform
5608     * @since 10
5609     */
5610    /**
5611     * Obtains pixel map information about this image. This method uses a callback to return the information.
5612     *
5613     * @param { AsyncCallback<ImageInfo> } callback Callback used to return the image pixel map information.
5614     * If the operation fails, an error message is returned.
5615     * @syscap SystemCapability.Multimedia.Image.Core
5616     * @crossplatform
5617     * @atomicservice
5618     * @since 11
5619     */
5620    /**
5621     * Obtains pixel map information about this image. This method uses a callback to return the information.
5622     *
5623     * @param { AsyncCallback<ImageInfo> } callback Callback used to return the image pixel map information.
5624     * If the operation fails, an error message is returned.
5625     * @syscap SystemCapability.Multimedia.Image.Core
5626     * @crossplatform
5627     * @form
5628     * @atomicservice
5629     * @since 12
5630     */
5631    getImageInfo(callback: AsyncCallback<ImageInfo>): void;
5632
5633    /**
5634     * Get image information from image source.
5635     *
5636     * @returns { ImageInfo } the image information.
5637     * @throws { BusinessError } 501 - Resource Unavailable.
5638     * @syscap SystemCapability.Multimedia.Image.ImageSource
5639     * @crossplatform
5640     * @form
5641     * @atomicservice
5642     * @since 12
5643     */
5644    getImageInfoSync(): ImageInfo;
5645
5646    /**
5647     * Obtains the number of bytes in each line of the image pixel map.
5648     *
5649     * @returns { number } Number of bytes in each line.
5650     * @syscap SystemCapability.Multimedia.Image.Core
5651     * @since 7
5652     */
5653    /**
5654     * Obtains the number of bytes in each line of the image pixel map.
5655     *
5656     * @returns { number } Number of bytes in each line.
5657     * @syscap SystemCapability.Multimedia.Image.Core
5658     * @crossplatform
5659     * @since 10
5660     */
5661    /**
5662     * Obtains the number of bytes in each line of the image pixel map.
5663     *
5664     * @returns { number } Number of bytes in each line.
5665     * @syscap SystemCapability.Multimedia.Image.Core
5666     * @crossplatform
5667     * @atomicservice
5668     * @since 11
5669     */
5670    /**
5671     * Obtains the number of bytes in each line of the image pixel map.
5672     *
5673     * @returns { number } Number of bytes in each line.
5674     * @syscap SystemCapability.Multimedia.Image.Core
5675     * @crossplatform
5676     * @form
5677     * @atomicservice
5678     * @since 12
5679     */
5680    getBytesNumberPerRow(): number;
5681
5682    /**
5683     * Obtains the total number of bytes of the image pixel map.
5684     *
5685     * @returns { number } Total number of bytes.
5686     * @syscap SystemCapability.Multimedia.Image.Core
5687     * @since 7
5688     */
5689    /**
5690     * Obtains the total number of bytes of the image pixel map.
5691     *
5692     * @returns { number } Total number of bytes.
5693     * @syscap SystemCapability.Multimedia.Image.Core
5694     * @crossplatform
5695     * @since 10
5696     */
5697    /**
5698     * Obtains the total number of bytes of the image pixel map.
5699     *
5700     * @returns { number } Total number of bytes.
5701     * @syscap SystemCapability.Multimedia.Image.Core
5702     * @crossplatform
5703     * @atomicservice
5704     * @since 11
5705     */
5706    /**
5707     * Obtains the total number of bytes of the image pixel map.
5708     *
5709     * @returns { number } Total number of bytes.
5710     * @syscap SystemCapability.Multimedia.Image.Core
5711     * @crossplatform
5712     * @form
5713     * @atomicservice
5714     * @since 12
5715     */
5716    getPixelBytesNumber(): number;
5717
5718    /**
5719     * Obtains the density of the image pixel map.
5720     *
5721     * @returns { number } The number of density.
5722     * @syscap SystemCapability.Multimedia.Image.Core
5723     * @since 9
5724     */
5725    /**
5726     * Obtains the density of the image pixel map.
5727     *
5728     * @returns { number } The number of density.
5729     * @syscap SystemCapability.Multimedia.Image.Core
5730     * @crossplatform
5731     * @since 10
5732     */
5733    /**
5734     * Obtains the density of the image pixel map.
5735     *
5736     * @returns { number } The number of density.
5737     * @syscap SystemCapability.Multimedia.Image.Core
5738     * @crossplatform
5739     * @atomicservice
5740     * @since 11
5741     */
5742    /**
5743     * Obtains the density of the image pixel map.
5744     *
5745     * @returns { number } The number of density.
5746     * @syscap SystemCapability.Multimedia.Image.Core
5747     * @crossplatform
5748     * @form
5749     * @atomicservice
5750     * @since 12
5751     */
5752    getDensity(): number;
5753
5754    /**
5755     * Set the transparent rate of pixel map. This method uses a callback to return the operation result.
5756     *
5757     * @param { number } rate The value of transparent rate.
5758     * @param { AsyncCallback<void> } callback Callback used to return the operation result. If the operation fails, an error message is returned.
5759     * @syscap SystemCapability.Multimedia.Image.Core
5760     * @since 9
5761     */
5762    /**
5763     * Set the transparent rate of pixel map. This method uses a callback to return the operation result.
5764     *
5765     * @param { number } rate The value of transparent rate.
5766     * @param { AsyncCallback<void> } callback Callback used to return the operation result. If the operation fails, an error message is returned.
5767     * @syscap SystemCapability.Multimedia.Image.Core
5768     * @crossplatform
5769     * @since 10
5770     */
5771    /**
5772     * Set the transparent rate of pixel map. This method uses a callback to return the operation result.
5773     *
5774     * @param { number } rate The value of transparent rate.
5775     * @param { AsyncCallback<void> } callback Callback used to return the operation result. If the operation fails, an error message is returned.
5776     * @syscap SystemCapability.Multimedia.Image.Core
5777     * @crossplatform
5778     * @atomicservice
5779     * @since 11
5780     */
5781    /**
5782     * Set the transparent rate of pixel map. This method uses a callback to return the operation result.
5783     *
5784     * @param { number } rate The value of transparent rate.
5785     * @param { AsyncCallback<void> } callback Callback used to return the operation result. If the operation fails, an error message is returned.
5786     * @syscap SystemCapability.Multimedia.Image.Core
5787     * @crossplatform
5788     * @form
5789     * @atomicservice
5790     * @since 12
5791     */
5792    opacity(rate: number, callback: AsyncCallback<void>): void;
5793
5794    /**
5795     * Set the transparent rate of pixel map. This method uses a promise to return the result.
5796     *
5797     * @param { number } rate The value of transparent rate.
5798     * @returns { Promise<void> } A Promise instance used to return the operation result. If the operation fails, an error message is returned.
5799     * @syscap SystemCapability.Multimedia.Image.Core
5800     * @since 9
5801     */
5802    /**
5803     * Set the transparent rate of pixel map. This method uses a promise to return the result.
5804     *
5805     * @param { number } rate The value of transparent rate.
5806     * @returns { Promise<void> } A Promise instance used to return the operation result. If the operation fails, an error message is returned.
5807     * @syscap SystemCapability.Multimedia.Image.Core
5808     * @crossplatform
5809     * @since 10
5810     */
5811    /**
5812     * Set the transparent rate of pixel map. This method uses a promise to return the result.
5813     *
5814     * @param { number } rate The value of transparent rate.
5815     * @returns { Promise<void> } A Promise instance used to return the operation result. If the operation fails, an error message is returned.
5816     * @syscap SystemCapability.Multimedia.Image.Core
5817     * @crossplatform
5818     * @atomicservice
5819     * @since 11
5820     */
5821    /**
5822     * Set the transparent rate of pixel map. This method uses a promise to return the result.
5823     *
5824     * @param { number } rate The value of transparent rate.
5825     * @returns { Promise<void> } A Promise instance used to return the operation result. If the operation fails, an error message is returned.
5826     * @syscap SystemCapability.Multimedia.Image.Core
5827     * @crossplatform
5828     * @form
5829     * @atomicservice
5830     * @since 12
5831     */
5832    opacity(rate: number): Promise<void>;
5833
5834    /**
5835     * Set the transparent rate of pixel map.
5836     *
5837     * @param { number } rate The value of transparent rate.
5838     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified.
5839     * 2.Incorrect parameter types. 3.Parameter verification failed.
5840     * @throws { BusinessError } 501 - Resource Unavailable.
5841     * @syscap SystemCapability.Multimedia.Image.Core
5842     * @crossplatform
5843     * @atomicservice
5844     * @since 12
5845     */
5846    opacitySync(rate: number): void;
5847    /**
5848     * Obtains new pixel map with alpha information. This method uses a promise to return the information.
5849     *
5850     * @returns { Promise<PixelMap> } A Promise instance used to return the new image pixel map. If the operation fails, an error message is returned.
5851     * @syscap SystemCapability.Multimedia.Image.Core
5852     * @since 9
5853     */
5854    /**
5855     * Obtains new pixel map with alpha information. This method uses a promise to return the information.
5856     *
5857     * @returns { Promise<PixelMap> } A Promise instance used to return the new image pixel map. If the operation fails, an error message is returned.
5858     * @syscap SystemCapability.Multimedia.Image.Core
5859     * @crossplatform
5860     * @since 10
5861     */
5862    /**
5863     * Obtains new pixel map with alpha information. This method uses a promise to return the information.
5864     *
5865     * @returns { Promise<PixelMap> } A Promise instance used to return the new image pixel map. If the operation fails, an error message is returned.
5866     * @syscap SystemCapability.Multimedia.Image.Core
5867     * @crossplatform
5868     * @atomicservice
5869     * @since 11
5870     */
5871    /**
5872     * Obtains new pixel map with alpha information. This method uses a promise to return the information.
5873     *
5874     * @returns { Promise<PixelMap> } A Promise instance used to return the new image pixel map. If the operation fails, an error message is returned.
5875     * @syscap SystemCapability.Multimedia.Image.Core
5876     * @crossplatform
5877     * @form
5878     * @atomicservice
5879     * @since 12
5880     */
5881    createAlphaPixelmap(): Promise<PixelMap>;
5882
5883    /**
5884     * Obtains new pixel map with alpha information. This method uses a callback to return the information.
5885     *
5886     * @param { AsyncCallback<PixelMap> } callback Callback used to return the new image pixel map. If the operation fails, an error message is returned.
5887     * @syscap SystemCapability.Multimedia.Image.Core
5888     * @since 9
5889     */
5890    /**
5891     * Obtains new pixel map with alpha information. This method uses a callback to return the information.
5892     *
5893     * @param { AsyncCallback<PixelMap> } callback Callback used to return the new image pixel map. If the operation fails, an error message is returned.
5894     * @syscap SystemCapability.Multimedia.Image.Core
5895     * @crossplatform
5896     * @since 10
5897     */
5898    /**
5899     * Obtains new pixel map with alpha information. This method uses a callback to return the information.
5900     *
5901     * @param { AsyncCallback<PixelMap> } callback Callback used to return the new image pixel map. If the operation fails, an error message is returned.
5902     * @syscap SystemCapability.Multimedia.Image.Core
5903     * @crossplatform
5904     * @atomicservice
5905     * @since 11
5906     */
5907    /**
5908     * Obtains new pixel map with alpha information. This method uses a callback to return the information.
5909     *
5910     * @param { AsyncCallback<PixelMap> } callback Callback used to return the new image pixel map. If the operation fails, an error message is returned.
5911     * @syscap SystemCapability.Multimedia.Image.Core
5912     * @crossplatform
5913     * @form
5914     * @atomicservice
5915     * @since 12
5916     */
5917    createAlphaPixelmap(callback: AsyncCallback<PixelMap>): void;
5918
5919    /**
5920     * Obtains new pixel map with alpha information.
5921     *
5922     * @returns { PixelMap } return the new image pixel map. If the operation fails, an error message is returned.
5923     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Parameter verification failed.
5924     * @throws { BusinessError } 501 - Resource Unavailable.
5925     * @syscap SystemCapability.Multimedia.Image.Core
5926     * @crossplatform
5927     * @atomicservice
5928     * @since 12
5929     */
5930    createAlphaPixelmapSync(): PixelMap;
5931    /**
5932     * Image zoom in width and height. This method uses a callback to return the operation result.
5933     *
5934     * @param { number } x The zoom value of width.
5935     * @param { number } y The zoom value of height.
5936     * @param { AsyncCallback<void> } callback Callback used to return the operation result. If the operation fails, an error message is returned.
5937     * @syscap SystemCapability.Multimedia.Image.Core
5938     * @since 9
5939     */
5940    /**
5941     * Image zoom in width and height. This method uses a callback to return the operation result.
5942     *
5943     * @param { number } x The zoom value of width.
5944     * @param { number } y The zoom value of height.
5945     * @param { AsyncCallback<void> } callback Callback used to return the operation result. If the operation fails, an error message is returned.
5946     * @syscap SystemCapability.Multimedia.Image.Core
5947     * @crossplatform
5948     * @since 10
5949     */
5950    /**
5951     * Image zoom in width and height. This method uses a callback to return the operation result.
5952     *
5953     * @param { number } x The zoom value of width.
5954     * @param { number } y The zoom value of height.
5955     * @param { AsyncCallback<void> } callback Callback used to return the operation result. If the operation fails, an error message is returned.
5956     * @syscap SystemCapability.Multimedia.Image.Core
5957     * @crossplatform
5958     * @atomicservice
5959     * @since 11
5960     */
5961    /**
5962     * Image zoom in width and height. This method uses a callback to return the operation result.
5963     *
5964     * @param { number } x The zoom value of width.
5965     * @param { number } y The zoom value of height.
5966     * @param { AsyncCallback<void> } callback Callback used to return the operation result. If the operation fails, an error message is returned.
5967     * @syscap SystemCapability.Multimedia.Image.Core
5968     * @crossplatform
5969     * @form
5970     * @atomicservice
5971     * @since 12
5972     */
5973    scale(x: number, y: number, callback: AsyncCallback<void>): void;
5974
5975    /**
5976     * Image zoom in width and height. This method uses a promise to return the result.
5977     *
5978     * @param { number } x The zoom value of width.
5979     * @param { number } y The zoom value of height.
5980     * @returns { Promise<void> } A Promise instance used to return the operation result. If the operation fails, an error message is returned.
5981     * @syscap SystemCapability.Multimedia.Image.Core
5982     * @since 9
5983     */
5984    /**
5985     * Image zoom in width and height. This method uses a promise to return the result.
5986     *
5987     * @param { number } x The zoom value of width.
5988     * @param { number } y The zoom value of height.
5989     * @returns { Promise<void> } A Promise instance used to return the operation result. If the operation fails, an error message is returned.
5990     * @syscap SystemCapability.Multimedia.Image.Core
5991     * @crossplatform
5992     * @since 10
5993     */
5994    /**
5995     * Image zoom in width and height. This method uses a promise to return the result.
5996     *
5997     * @param { number } x The zoom value of width.
5998     * @param { number } y The zoom value of height.
5999     * @returns { Promise<void> } A Promise instance used to return the operation result. If the operation fails, an error message is returned.
6000     * @syscap SystemCapability.Multimedia.Image.Core
6001     * @crossplatform
6002     * @atomicservice
6003     * @since 11
6004     */
6005    /**
6006     * Image zoom in width and height. This method uses a promise to return the result.
6007     *
6008     * @param { number } x The zoom value of width.
6009     * @param { number } y The zoom value of height.
6010     * @returns { Promise<void> } A Promise instance used to return the operation result. If the operation fails, an error message is returned.
6011     * @syscap SystemCapability.Multimedia.Image.Core
6012     * @crossplatform
6013     * @form
6014     * @atomicservice
6015     * @since 12
6016     */
6017    scale(x: number, y: number): Promise<void>;
6018
6019    /**
6020     * Image zoom in width and height.
6021     *
6022     * @param { number } x The zoom value of width.
6023     * @param { number } y The zoom value of height.
6024     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified.
6025     * 2.Incorrect parameter types. 3.Parameter verification failed.
6026     * @throws { BusinessError } 501 - Resource Unavailable.
6027     * @syscap SystemCapability.Multimedia.Image.Core
6028     * @crossplatform
6029     * @atomicservice
6030     * @since 12
6031     */
6032    scaleSync(x: number, y: number): void;
6033
6034    /**
6035     * Image zoom in width and height width with anti-aliasing. This method uses a promise to return the result.
6036     *
6037     * @param { number } x The zoom value of width.
6038     * @param { number } y The zoom value of height.
6039     * @param { AntiAliasingLevel } level The anti-aliasing algorithm to be used.
6040     * @returns { Promise<void> } A Promise instance used to return the operation result. If the operation fails, an error message is returned.
6041     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified.
6042     * 2.Incorrect parameter types. 3.Parameter verification failed.
6043     * @throws { BusinessError } 501 - Resource Unavailable.
6044     * @syscap SystemCapability.Multimedia.Image.Core
6045     * @crossplatform
6046     * @form
6047     * @atomicservice
6048     * @since 12
6049     */
6050    scale(x: number, y: number, level: AntiAliasingLevel): Promise<void>;
6051
6052    /**
6053     * Image zoom in width and height with anti-aliasing.
6054     *
6055     * @param { number } x The zoom value of width.
6056     * @param { number } y The zoom value of height.
6057     * @param { AntiAliasingLevel } level The anti-aliasing algorithm to be used.
6058     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified.
6059     * 2.Incorrect parameter types. 3.Parameter verification failed.
6060     * @throws { BusinessError } 501 - Resource Unavailable.
6061     * @syscap SystemCapability.Multimedia.Image.Core
6062     * @crossplatform
6063     * @atomicservice
6064     * @since 12
6065     */
6066    scaleSync(x: number, y: number, level: AntiAliasingLevel): void;
6067
6068    /**
6069     * Image position transformation. This method uses a callback to return the operation result.
6070     *
6071     * @param { number } x The position value of width.
6072     * @param { number } y The position value of height.
6073     * @param { AsyncCallback<void> } callback Callback used to return the operation result. If the operation fails, an error message is returned.
6074     * @syscap SystemCapability.Multimedia.Image.Core
6075     * @since 9
6076     */
6077    /**
6078     * Image position transformation. This method uses a callback to return the operation result.
6079     *
6080     * @param { number } x The position value of width.
6081     * @param { number } y The position value of height.
6082     * @param { AsyncCallback<void> } callback Callback used to return the operation result. If the operation fails, an error message is returned.
6083     * @syscap SystemCapability.Multimedia.Image.Core
6084     * @crossplatform
6085     * @since 10
6086     */
6087    /**
6088     * Image position transformation. This method uses a callback to return the operation result.
6089     *
6090     * @param { number } x The position value of width.
6091     * @param { number } y The position value of height.
6092     * @param { AsyncCallback<void> } callback Callback used to return the operation result. If the operation fails, an error message is returned.
6093     * @syscap SystemCapability.Multimedia.Image.Core
6094     * @crossplatform
6095     * @atomicservice
6096     * @since 11
6097     */
6098    /**
6099     * Image position transformation. This method uses a callback to return the operation result.
6100     *
6101     * @param { number } x The position value of width.
6102     * @param { number } y The position value of height.
6103     * @param { AsyncCallback<void> } callback Callback used to return the operation result. If the operation fails, an error message is returned.
6104     * @syscap SystemCapability.Multimedia.Image.Core
6105     * @crossplatform
6106     * @form
6107     * @atomicservice
6108     * @since 12
6109     */
6110    translate(x: number, y: number, callback: AsyncCallback<void>): void;
6111
6112    /**
6113     * Image position transformation. This method uses a promise to return the result.
6114     *
6115     * @param { number } x The position value of width.
6116     * @param { number } y The position value of height.
6117     * @returns { Promise<void> } A Promise instance used to return the operation result. If the operation fails, an error message is returned.
6118     * @syscap SystemCapability.Multimedia.Image.Core
6119     * @since 9
6120     */
6121    /**
6122     * Image position transformation. This method uses a promise to return the result.
6123     *
6124     * @param { number } x The position value of width.
6125     * @param { number } y The position value of height.
6126     * @returns { Promise<void> } A Promise instance used to return the operation result. If the operation fails, an error message is returned.
6127     * @syscap SystemCapability.Multimedia.Image.Core
6128     * @crossplatform
6129     * @since 10
6130     */
6131    /**
6132     * Image position transformation. This method uses a promise to return the result.
6133     *
6134     * @param { number } x The position value of width.
6135     * @param { number } y The position value of height.
6136     * @returns { Promise<void> } A Promise instance used to return the operation result. If the operation fails, an error message is returned.
6137     * @syscap SystemCapability.Multimedia.Image.Core
6138     * @crossplatform
6139     * @atomicservice
6140     * @since 11
6141     */
6142    /**
6143     * Image position transformation. This method uses a promise to return the result.
6144     *
6145     * @param { number } x The position value of width.
6146     * @param { number } y The position value of height.
6147     * @returns { Promise<void> } A Promise instance used to return the operation result. If the operation fails, an error message is returned.
6148     * @syscap SystemCapability.Multimedia.Image.Core
6149     * @crossplatform
6150     * @form
6151     * @atomicservice
6152     * @since 12
6153     */
6154    translate(x: number, y: number): Promise<void>;
6155
6156    /**
6157     * Image position transformation.
6158     *
6159     * @param { number } x The position value of width.
6160     * @param { number } y The position value of height.
6161     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified.
6162     * 2.Incorrect parameter types. 3.Parameter verification failed.
6163     * @throws { BusinessError } 501 - Resource Unavailable.
6164     * @syscap SystemCapability.Multimedia.Image.Core
6165     * @crossplatform
6166     * @atomicservice
6167     * @since 12
6168     */
6169    translateSync(x: number, y: number): void;
6170
6171    /**
6172     * Image rotation. This method uses a callback to return the operation result.
6173     *
6174     * @param { number } angle The rotation angle.
6175     * @param { AsyncCallback<void> } callback Callback used to return the operation result. If the operation fails, an error message is returned.
6176     * @syscap SystemCapability.Multimedia.Image.Core
6177     * @since 9
6178     */
6179    /**
6180     * Image rotation. This method uses a callback to return the operation result.
6181     *
6182     * @param { number } angle The rotation angle.
6183     * @param { AsyncCallback<void> } callback Callback used to return the operation result. If the operation fails, an error message is returned.
6184     * @syscap SystemCapability.Multimedia.Image.Core
6185     * @crossplatform
6186     * @since 10
6187     */
6188    /**
6189     * Image rotation. This method uses a callback to return the operation result.
6190     *
6191     * @param { number } angle The rotation angle.
6192     * @param { AsyncCallback<void> } callback Callback used to return the operation result. If the operation fails, an error message is returned.
6193     * @syscap SystemCapability.Multimedia.Image.Core
6194     * @crossplatform
6195     * @atomicservice
6196     * @since 11
6197     */
6198    /**
6199     * Image rotation. This method uses a callback to return the operation result.
6200     *
6201     * @param { number } angle The rotation angle.
6202     * @param { AsyncCallback<void> } callback Callback used to return the operation result. If the operation fails, an error message is returned.
6203     * @syscap SystemCapability.Multimedia.Image.Core
6204     * @crossplatform
6205     * @form
6206     * @atomicservice
6207     * @since 12
6208     */
6209    rotate(angle: number, callback: AsyncCallback<void>): void;
6210
6211    /**
6212     * Image rotation. This method uses a promise to return the result.
6213     *
6214     * @param { number } angle The rotation angle.
6215     * @returns { Promise<void> } A Promise instance used to return the operation result. If the operation fails, an error message is returned.
6216     * @syscap SystemCapability.Multimedia.Image.Core
6217     * @since 9
6218     */
6219    /**
6220     * Image rotation. This method uses a promise to return the result.
6221     *
6222     * @param { number } angle The rotation angle.
6223     * @returns { Promise<void> } A Promise instance used to return the operation result. If the operation fails, an error message is returned.
6224     * @syscap SystemCapability.Multimedia.Image.Core
6225     * @crossplatform
6226     * @since 10
6227     */
6228    /**
6229     * Image rotation. This method uses a promise to return the result.
6230     *
6231     * @param { number } angle The rotation angle.
6232     * @returns { Promise<void> } A Promise instance used to return the operation result. If the operation fails, an error message is returned.
6233     * @syscap SystemCapability.Multimedia.Image.Core
6234     * @crossplatform
6235     * @atomicservice
6236     * @since 11
6237     */
6238    /**
6239     * Image rotation. This method uses a promise to return the result.
6240     *
6241     * @param { number } angle The rotation angle.
6242     * @returns { Promise<void> } A Promise instance used to return the operation result. If the operation fails, an error message is returned.
6243     * @syscap SystemCapability.Multimedia.Image.Core
6244     * @crossplatform
6245     * @form
6246     * @atomicservice
6247     * @since 12
6248     */
6249    rotate(angle: number): Promise<void>;
6250
6251    /**
6252     * Image rotation.
6253     *
6254     * @param { number } angle The rotation angle.
6255     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified.
6256     * 2.Incorrect parameter types. 3.Parameter verification failed.
6257     * @throws { BusinessError } 501 - Resource Unavailable.
6258     * @syscap SystemCapability.Multimedia.Image.Core
6259     * @crossplatform
6260     * @atomicservice
6261     * @since 12
6262     */
6263    rotateSync(angle: number): void;
6264
6265    /**
6266     * Image flipping. This method uses a callback to return the operation result.
6267     *
6268     * @param { boolean } horizontal Is flip in horizontal.
6269     * @param { boolean } vertical Is flip in vertical.
6270     * @param { AsyncCallback<void> } callback Callback used to return the operation result. If the operation fails, an error message is returned.
6271     * @syscap SystemCapability.Multimedia.Image.Core
6272     * @since 9
6273     */
6274    /**
6275     * Image flipping. This method uses a callback to return the operation result.
6276     *
6277     * @param { boolean } horizontal Is flip in horizontal.
6278     * @param { boolean } vertical Is flip in vertical.
6279     * @param { AsyncCallback<void> } callback Callback used to return the operation result. If the operation fails, an error message is returned.
6280     * @syscap SystemCapability.Multimedia.Image.Core
6281     * @crossplatform
6282     * @since 10
6283     */
6284    /**
6285     * Image flipping. This method uses a callback to return the operation result.
6286     *
6287     * @param { boolean } horizontal Is flip in horizontal.
6288     * @param { boolean } vertical Is flip in vertical.
6289     * @param { AsyncCallback<void> } callback Callback used to return the operation result. If the operation fails, an error message is returned.
6290     * @syscap SystemCapability.Multimedia.Image.Core
6291     * @crossplatform
6292     * @atomicservice
6293     * @since 11
6294     */
6295    /**
6296     * Image flipping. This method uses a callback to return the operation result.
6297     *
6298     * @param { boolean } horizontal Is flip in horizontal.
6299     * @param { boolean } vertical Is flip in vertical.
6300     * @param { AsyncCallback<void> } callback Callback used to return the operation result. If the operation fails, an error message is returned.
6301     * @syscap SystemCapability.Multimedia.Image.Core
6302     * @crossplatform
6303     * @form
6304     * @atomicservice
6305     * @since 12
6306     */
6307    flip(horizontal: boolean, vertical: boolean, callback: AsyncCallback<void>): void;
6308
6309    /**
6310     * Image flipping. This method uses a promise to return the result.
6311     *
6312     * @param { boolean } horizontal Is flip in horizontal.
6313     * @param { boolean } vertical Is flip in vertical.
6314     * @returns { Promise<void> } A Promise instance used to return the operation result. If the operation fails, an error message is returned.
6315     * @syscap SystemCapability.Multimedia.Image.Core
6316     * @since 9
6317     */
6318    /**
6319     * Image flipping. This method uses a promise to return the result.
6320     *
6321     * @param { boolean } horizontal Is flip in horizontal.
6322     * @param { boolean } vertical Is flip in vertical.
6323     * @returns { Promise<void> } A Promise instance used to return the operation result. If the operation fails, an error message is returned.
6324     * @syscap SystemCapability.Multimedia.Image.Core
6325     * @crossplatform
6326     * @since 10
6327     */
6328    /**
6329     * Image flipping. This method uses a promise to return the result.
6330     *
6331     * @param { boolean } horizontal Is flip in horizontal.
6332     * @param { boolean } vertical Is flip in vertical.
6333     * @returns { Promise<void> } A Promise instance used to return the operation result. If the operation fails, an error message is returned.
6334     * @syscap SystemCapability.Multimedia.Image.Core
6335     * @crossplatform
6336     * @atomicservice
6337     * @since 11
6338     */
6339    /**
6340     * Image flipping. This method uses a promise to return the result.
6341     *
6342     * @param { boolean } horizontal Is flip in horizontal.
6343     * @param { boolean } vertical Is flip in vertical.
6344     * @returns { Promise<void> } A Promise instance used to return the operation result. If the operation fails, an error message is returned.
6345     * @syscap SystemCapability.Multimedia.Image.Core
6346     * @crossplatform
6347     * @form
6348     * @atomicservice
6349     * @since 12
6350     */
6351    flip(horizontal: boolean, vertical: boolean): Promise<void>;
6352
6353    /**
6354     * Image flipping.
6355     *
6356     * @param { boolean } horizontal Is flip in horizontal.
6357     * @param { boolean } vertical Is flip in vertical.
6358     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified.
6359     * 2.Incorrect parameter types. 3.Parameter verification failed.
6360     * @throws { BusinessError } 501 - Resource Unavailable.
6361     * @syscap SystemCapability.Multimedia.Image.Core
6362     * @crossplatform
6363     * @atomicservice
6364     * @since 12
6365     */
6366    flipSync(horizontal: boolean, vertical: boolean): void;
6367
6368    /**
6369     * Crop the image. This method uses a callback to return the operation result.
6370     *
6371     * @param { Region } region The region to crop.
6372     * @param { AsyncCallback<void> } callback Callback used to return the operation result. If the operation fails, an error message is returned.
6373     * @syscap SystemCapability.Multimedia.Image.Core
6374     * @since 9
6375     */
6376    /**
6377     * Crop the image. This method uses a callback to return the operation result.
6378     *
6379     * @param { Region } region The region to crop.
6380     * @param { AsyncCallback<void> } callback Callback used to return the operation result. If the operation fails, an error message is returned.
6381     * @syscap SystemCapability.Multimedia.Image.Core
6382     * @crossplatform
6383     * @since 10
6384     */
6385    /**
6386     * Crop the image. This method uses a callback to return the operation result.
6387     *
6388     * @param { Region } region The region to crop.
6389     * @param { AsyncCallback<void> } callback Callback used to return the operation result. If the operation fails, an error message is returned.
6390     * @syscap SystemCapability.Multimedia.Image.Core
6391     * @crossplatform
6392     * @atomicservice
6393     * @since 11
6394     */
6395    /**
6396     * Crop the image. This method uses a callback to return the operation result.
6397     *
6398     * @param { Region } region The region to crop.
6399     * @param { AsyncCallback<void> } callback Callback used to return the operation result. If the operation fails, an error message is returned.
6400     * @syscap SystemCapability.Multimedia.Image.Core
6401     * @crossplatform
6402     * @form
6403     * @atomicservice
6404     * @since 12
6405     */
6406    crop(region: Region, callback: AsyncCallback<void>): void;
6407
6408    /**
6409     * Crop the image. This method uses a promise to return the result.
6410     *
6411     * @param { Region } region The region to crop.
6412     * @returns { Promise<void> } A Promise instance used to return the operation result. If the operation fails, an error message is returned.
6413     * @syscap SystemCapability.Multimedia.Image.Core
6414     * @since 9
6415     */
6416    /**
6417     * Crop the image. This method uses a promise to return the result.
6418     *
6419     * @param { Region } region The region to crop.
6420     * @returns { Promise<void> } A Promise instance used to return the operation result. If the operation fails, an error message is returned.
6421     * @syscap SystemCapability.Multimedia.Image.Core
6422     * @crossplatform
6423     * @since 10
6424     */
6425    /**
6426     * Crop the image. This method uses a promise to return the result.
6427     *
6428     * @param { Region } region The region to crop.
6429     * @returns { Promise<void> } A Promise instance used to return the operation result. If the operation fails, an error message is returned.
6430     * @syscap SystemCapability.Multimedia.Image.Core
6431     * @crossplatform
6432     * @atomicservice
6433     * @since 11
6434     */
6435    /**
6436     * Crop the image. This method uses a promise to return the result.
6437     *
6438     * @param { Region } region The region to crop.
6439     * @returns { Promise<void> } A Promise instance used to return the operation result. If the operation fails, an error message is returned.
6440     * @syscap SystemCapability.Multimedia.Image.Core
6441     * @crossplatform
6442     * @form
6443     * @atomicservice
6444     * @since 12
6445     */
6446    crop(region: Region): Promise<void>;
6447
6448    /**
6449     * Crop the image.
6450     *
6451     * @param { Region } region The region to crop.
6452     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified.
6453     * 2.Incorrect parameter types. 3.Parameter verification failed.
6454     * @throws { BusinessError } 501 - Resource Unavailable.
6455     * @syscap SystemCapability.Multimedia.Image.Core
6456     * @crossplatform
6457     * @atomicservice
6458     * @since 12
6459     */
6460    cropSync(region: Region): void;
6461
6462    /**
6463     * Get color space of pixel map.
6464     *
6465     * @returns { colorSpaceManager.ColorSpaceManager } If the operation fails, an error message is returned.
6466     * @throws { BusinessError } 62980101 - The image data is abnormal.
6467     * @throws { BusinessError } 62980103 - The image data is not supported.
6468     * @throws { BusinessError } 62980115 - Invalid image parameter.
6469     * @syscap SystemCapability.Multimedia.Image.Core
6470     * @since 10
6471     */
6472    /**
6473     * Get color space of pixel map.
6474     *
6475     * @returns { colorSpaceManager.ColorSpaceManager } If the operation fails, an error message is returned.
6476     * @throws { BusinessError } 62980101 - If the image data abnormal.
6477     * @throws { BusinessError } 62980103 - If the image data unsupport.
6478     * @throws { BusinessError } 62980115 - If the image parameter invalid.
6479     * @syscap SystemCapability.Multimedia.Image.Core
6480     * @crossplatform
6481     * @since 11
6482     */
6483    getColorSpace(): colorSpaceManager.ColorSpaceManager;
6484
6485    /**
6486     * Marshalling pixelmap and write into MessageSequence.
6487     *
6488     * @param { rpc.MessageSequence } sequence rpc.MessageSequence parameter.
6489     * @throws { BusinessError } 62980115 - Invalid image parameter.
6490     * @throws { BusinessError } 62980097 - IPC error.
6491     * @syscap SystemCapability.Multimedia.Image.Core
6492     * @since 10
6493     */
6494    marshalling(sequence: rpc.MessageSequence): void;
6495
6496    /**
6497     * Creates a PixelMap object based on MessageSequence parameter.
6498     *
6499     * @param { rpc.MessageSequence } sequence rpc.MessageSequence parameter.
6500     * @returns { Promise<PixelMap> } A Promise instance used to return the PixelMap object.
6501     * @throws { BusinessError } 62980115 - Invalid image parameter.
6502     * @throws { BusinessError } 62980097 - IPC error.
6503     * @throws { BusinessError } 62980096 - The operation failed.
6504     * @syscap SystemCapability.Multimedia.Image.Core
6505     * @since 10
6506     */
6507    unmarshalling(sequence: rpc.MessageSequence): Promise<PixelMap>;
6508
6509    /**
6510     * Set color space of pixel map.
6511     *
6512     * This method is only used to set the colorspace property of pixelmap, while all pixel data remains the same after calling this method.
6513     * If you want to change colorspace for all pixels, use method {@Link #applyColorSpace(colorSpaceManager.ColorSpaceManager)} or
6514     * {@Link #applyColorSpace(colorSpaceManager.ColorSpaceManager, AsyncCallback<void>)}.
6515     *
6516     * @param { colorSpaceManager.ColorSpaceManager } colorSpace The color space for pixel map.
6517     * @throws { BusinessError } 62980111 - The image source data is incomplete.
6518     * @throws { BusinessError } 62980115 - Invalid image parameter.
6519     * @syscap SystemCapability.Multimedia.Image.Core
6520     * @since 10
6521     */
6522    /**
6523     * Set color space of pixel map.
6524     *
6525     * This method is only used to set the colorspace property of pixelmap, while all pixel data remains the same after calling this method.
6526     * If you want to change colorspace for all pixels, use method {@Link #applyColorSpace(colorSpaceManager.ColorSpaceManager)} or
6527     * {@Link #applyColorSpace(colorSpaceManager.ColorSpaceManager, AsyncCallback<void>)}.
6528     *
6529     * @param { colorSpaceManager.ColorSpaceManager } colorSpace The color space for pixel map.
6530     * @throws { BusinessError } 62980111 - If the operation invalid.
6531     * @throws { BusinessError } 62980115 - If the image parameter invalid.
6532     * @syscap SystemCapability.Multimedia.Image.Core
6533     * @crossplatform
6534     * @since 11
6535     */
6536     /**
6537     * Set color space of pixel map.
6538     *
6539     * This method is only used to set the colorspace property of pixelmap, while all pixel data remains the same after calling this method.
6540     * If you want to change colorspace for all pixels, use method {@Link #applyColorSpace(colorSpaceManager.ColorSpaceManager)} or
6541     * {@Link #applyColorSpace(colorSpaceManager.ColorSpaceManager, AsyncCallback<void>)}.
6542     *
6543     * @param { colorSpaceManager.ColorSpaceManager } colorSpace The color space for pixel map.
6544     * @throws { BusinessError } 62980111 - The image source data is incomplete.
6545     * @throws { BusinessError } 62980115 - If the image parameter invalid.
6546     * @syscap SystemCapability.Multimedia.Image.Core
6547     * @crossplatform
6548     * @since 12
6549     */
6550    setColorSpace(colorSpace: colorSpaceManager.ColorSpaceManager): void;
6551
6552    /**
6553     * Is it stride Alignment
6554     *
6555     * @type { boolean }
6556     * @readonly
6557     * @syscap SystemCapability.Multimedia.Image.Core
6558     * @since 11
6559     */
6560    readonly isStrideAlignment: boolean;
6561
6562     /**
6563     * 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.
6564     *
6565     * This method is used to change color space of pixelmap. Pixel data will be changed by calling this method.
6566     * If you want to set the colorspace property of pixelmap only, use method {@Link #setColorSpace(colorSpaceManager.ColorSpaceManager)}.
6567     *
6568     * @param { colorSpaceManager.ColorSpaceManager } targetColorSpace - The color space for pixel map.
6569     * @param { AsyncCallback<void> } callback - Callback used to return the operation result. If the operation fails, an error message is returned.
6570     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified.
6571     * 2.Incorrect parameter types. 3.Parameter verification failed.
6572     * @throws { BusinessError } 62980104 - Failed to initialize the internal object.
6573     * @throws { BusinessError } 62980108 - Failed to convert the color space.
6574     * @throws { BusinessError } 62980115 - Invalid image parameter.
6575     * @syscap SystemCapability.Multimedia.Image.Core
6576     * @crossplatform
6577     * @since 11
6578     */
6579    applyColorSpace(targetColorSpace: colorSpaceManager.ColorSpaceManager, callback: AsyncCallback<void>): void;
6580
6581    /**
6582     * Apply color space of pixel map, the pixels will be changed by input color space. This method uses a promise to return the result.
6583     *
6584     * This method is used to change color space of pixelmap. Pixel data will be changed by calling this method.
6585     * If you want to set the colorspace property of pixelmap only, use method {@Link #setColorSpace(colorSpaceManager.ColorSpaceManager)}.
6586     *
6587     * @param { colorSpaceManager.ColorSpaceManager } targetColorSpace - The color space for pixel map.
6588     * @returns { Promise<void> } A Promise instance used to return the operation result. If the operation fails, an error message is returned.
6589     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified.
6590     * 2.Incorrect parameter types. 3.Parameter verification failed.
6591     * @throws { BusinessError } 62980104 - Failed to initialize the internal object.
6592     * @throws { BusinessError } 62980108 - Failed to convert the color space.
6593     * @throws { BusinessError } 62980115 - Invalid image parameter.
6594     * @syscap SystemCapability.Multimedia.Image.Core
6595     * @crossplatform
6596     * @since 11
6597     */
6598    applyColorSpace(targetColorSpace: colorSpaceManager.ColorSpaceManager): Promise<void>;
6599
6600    /**
6601     * The method is used for the transformation of the image formats. Pixel data will be changed by calling this method.
6602     *
6603     * @param { PixelMapFormat } targetPixelFormat - The pixel format for pixelmap conversion.
6604     * @returns { Promise<void> } A Promise instance used to return the operation result. If the operation fails, an error message is returned.
6605     * @throws { BusinessError } 62980115 - Invalid input parameter.
6606     * @throws { BusinessError } 62980111 - The image source data is incomplete.
6607     * @throws { BusinessError } 62980274 - The conversion failed.
6608     * @throws { BusinessError } 62980276 - The type to be converted is an unsupported target pixel format.
6609     * @throws { BusinessError } 62980178 - Failed to create the pixelmap.
6610     * @syscap SystemCapability.Multimedia.Image.Core
6611     * @since 12
6612     */
6613     convertPixelFormat(targetPixelFormat: PixelMapFormat): Promise<void>;
6614
6615     /**
6616     * Releases this PixelMap object. This method uses a callback to return the result.
6617     *
6618     * @param { AsyncCallback<void> } callback Callback invoked for instance release. If the operation fails, an error message is returned.
6619     * @syscap SystemCapability.Multimedia.Image.Core
6620     * @since 7
6621     */
6622    /**
6623     * Releases this PixelMap object. This method uses a callback to return the result.
6624     *
6625     * @param { AsyncCallback<void> } callback Callback invoked for instance release. If the operation fails, an error message is returned.
6626     * @syscap SystemCapability.Multimedia.Image.Core
6627     * @crossplatform
6628     * @since 10
6629     */
6630    /**
6631     * Releases this PixelMap object. This method uses a callback to return the result.
6632     *
6633     * @param { AsyncCallback<void> } callback Callback invoked for instance release. If the operation fails, an error message is returned.
6634     * @syscap SystemCapability.Multimedia.Image.Core
6635     * @crossplatform
6636     * @atomicservice
6637     * @since 11
6638     */
6639    /**
6640     * Releases this PixelMap object. This method uses a callback to return the result.
6641     *
6642     * @param { AsyncCallback<void> } callback Callback invoked for instance release. If the operation fails, an error message is returned.
6643     * @syscap SystemCapability.Multimedia.Image.Core
6644     * @crossplatform
6645     * @form
6646     * @atomicservice
6647     * @since 12
6648     */
6649    release(callback: AsyncCallback<void>): void;
6650
6651    /**
6652     * Releases this PixelMap object. This method uses a promise to return the result.
6653     *
6654     * @returns { Promise<void> } A Promise instance used to return the instance release result. If the operation fails, an error message is returned.
6655     * @syscap SystemCapability.Multimedia.Image.Core
6656     * @since 7
6657     */
6658    /**
6659     * Releases this PixelMap object. This method uses a promise to return the result.
6660     *
6661     * @returns { Promise<void> } A Promise instance used to return the instance release result. If the operation fails, an error message is returned.
6662     * @syscap SystemCapability.Multimedia.Image.Core
6663     * @crossplatform
6664     * @since 10
6665     */
6666    /**
6667     * Releases this PixelMap object. This method uses a promise to return the result.
6668     *
6669     * @returns { Promise<void> } A Promise instance used to return the instance release result. If the operation fails, an error message is returned.
6670     * @syscap SystemCapability.Multimedia.Image.Core
6671     * @crossplatform
6672     * @atomicservice
6673     * @since 11
6674     */
6675    /**
6676     * Releases this PixelMap object. This method uses a promise to return the result.
6677     *
6678     * @returns { Promise<void> } A Promise instance used to return the instance release result. If the operation fails, an error message is returned.
6679     * @syscap SystemCapability.Multimedia.Image.Core
6680     * @crossplatform
6681     * @form
6682     * @atomicservice
6683     * @since 12
6684     */
6685    release(): Promise<void>;
6686
6687   /**
6688     * Enables the PixelMap object to be transferred across threads and detaches the reference from the current
6689     * thread upon transfer.
6690     *
6691     * @param { boolean } detached A boolean value indicating whether to enable or disable the transfer and
6692     * detachment feature.
6693     * @throws { BusinessError } 501 - Resource Unavailable.
6694     * @syscap SystemCapability.Multimedia.Image.Core
6695     * @since 12
6696     */
6697    setTransferDetached(detached: boolean): void;
6698
6699    /**
6700     * Get metadata.
6701     *
6702     * @param { HdrMetadataKey } key Type of metadata.
6703     * @returns { HdrMetadataValue } Returns the value of metadata.
6704     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified.
6705     * 2.Incorrect parameter types. 3.Parameter verification failed.
6706     * @throws { BusinessError } 501 - Resource unavailable.
6707     * @throws { BusinessError } 62980173 - The DMA memory does not exist.
6708     * @throws { BusinessError } 62980302 - Memory copy failed.
6709     * @syscap SystemCapability.Multimedia.Image.Core
6710     * @since 12
6711     */
6712    getMetadata(key: HdrMetadataKey): HdrMetadataValue;
6713
6714    /**
6715     * Set pixelmap memory name.
6716     *
6717     * @param { string } name The name of the memory that needs to be set
6718     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.The length of the input parameter is too long.
6719     * 2.Parameter verification failed.
6720     * @throws { BusinessError } 501 - Resource unavailable.
6721     * @throws { BusinessError } 62980286 - Memory format not supported.
6722     * @syscap SystemCapability.Multimedia.Image.Core
6723     * @since 13
6724     */
6725    setMemoryNameSync(name: string): void;
6726
6727    /**
6728     * Set metadata.
6729     *
6730     * @param { HdrMetadataKey } key Type of metadata.
6731     * @param { HdrMetadataValue } value Value of metadata.
6732     * @returns { Promise<void> } A Promise instance used to return the instance release result. If the operation fails,
6733     * an error message is returned.
6734     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified.
6735     * 2.Incorrect parameter types. 3.Parameter verification failed.
6736     * @throws { BusinessError } 501 - Resource unavailable.
6737     * @throws { BusinessError } 62980173 - The DMA memory does not exist.
6738     * @throws { BusinessError } 62980302 - Memory copy failed.
6739     * @syscap SystemCapability.Multimedia.Image.Core
6740     * @since 12
6741     */
6742    setMetadata(key: HdrMetadataKey, value: HdrMetadataValue): Promise<void>;
6743  }
6744
6745  /**
6746   * Picture instance.
6747   *
6748   * @typedef Picture
6749   * @syscap SystemCapability.Multimedia.Image.Core
6750   * @since 13
6751   */
6752  interface Picture {
6753    /**
6754     * Obtains the pixel map of the main image.
6755     *
6756     * @returns { PixelMap } Returns the pixel map.
6757     * @syscap SystemCapability.Multimedia.Image.Core
6758     * @since 13
6759     */
6760    getMainPixelmap(): PixelMap;
6761
6762    /**
6763     * Obtains the hdr pixel map. This method uses a promise to return the PixelMap object.
6764     *
6765     * @returns { Promise<PixelMap> } A Promise instance used to return the PixelMap object.
6766     * @throws { BusinessError } 7600901 - Unknown error.
6767     * @throws { BusinessError } 7600201 - Unsupported operation.
6768     * @syscap SystemCapability.Multimedia.Image.Core
6769     * @since 13
6770     */
6771    getHdrComposedPixelmap(): Promise<PixelMap>;
6772
6773    /**
6774     * Obtains the gain map pixel map.
6775     * @returns { PixelMap | null } Returns the pixel map if the operation is successful; returns null otherwise.
6776     * @syscap SystemCapability.Multimedia.Image.Core
6777     * @since 13
6778     */
6779    getGainmapPixelmap(): PixelMap | null;
6780
6781    /**
6782     * Set auxiliary picture.
6783     *
6784     * @param { AuxiliaryPictureType } type The type of auxiliary picture.
6785     * @param { AuxiliaryPicture } auxiliaryPicture AuxiliaryPicture object.
6786     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified.
6787     * 2.Incorrect parameter types. 3.Parameter verification failed.
6788     * @syscap SystemCapability.Multimedia.Image.Core
6789     * @since 13
6790     */
6791    setAuxiliaryPicture(type: AuxiliaryPictureType, auxiliaryPicture: AuxiliaryPicture): void;
6792
6793    /**
6794     * Obtains the auxiliary picture based on type.
6795     *
6796     * @param { AuxiliaryPictureType } type The type of auxiliary picture.
6797     * @returns { AuxiliaryPicture | null } Returns the auxiliary picture object.
6798     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified.
6799     * 2.Incorrect parameter types. 3.Parameter verification failed.
6800     * @syscap SystemCapability.Multimedia.Image.Core
6801     * @since 13
6802     */
6803    getAuxiliaryPicture(type: AuxiliaryPictureType): AuxiliaryPicture | null;
6804
6805    /**
6806     * Set the metadata of main picture.
6807     *
6808     * @param { MetadataType } metadataType The type of metadata.
6809     * @param { Metadata } metadata The metadata of main picture.
6810     * @returns { Promise<void> } A Promise instance used to return the operation result.
6811     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified.
6812     * 2.Incorrect parameter types. 3.Parameter verification failed.
6813     * @throws { BusinessError } 7600202 - Unsupported metadata. Possible causes: Unsupported metadata type.
6814     * @syscap SystemCapability.Multimedia.Image.Core
6815     * @since 13
6816     */
6817    setMetadata(metadataType: MetadataType, metadata: Metadata): Promise<void>
6818
6819    /**
6820     * Obtains the metadata of main picture.
6821     *
6822     * @param { MetadataType } metadataType The type of metadata.
6823     * @returns { Promise<Metadata> } Return the metadata of main picture.
6824     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified.
6825     * 2.Incorrect parameter types. 3.Parameter verification failed.
6826     * @throws { BusinessError } 7600202 - Unsupported metadata. Possible causes: Unsupported metadata type.
6827     * @syscap SystemCapability.Multimedia.Image.Core
6828     * @since 13
6829     */
6830    getMetadata(metadataType: MetadataType): Promise<Metadata>
6831
6832    /**
6833     * Marshalling picture and write into MessageSequence.
6834     *
6835     * @param { rpc.MessageSequence } sequence rpc.MessageSequence parameter.
6836     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified.
6837     * 2.Incorrect parameter types; 3.Parameter verification failed.
6838     * @throws { BusinessError } 62980097 - IPC error.
6839     * @syscap SystemCapability.Multimedia.Image.Core
6840     * @since 13
6841     */
6842    marshalling(sequence: rpc.MessageSequence): void
6843
6844    /**
6845     * Releases this Picture object.
6846     * @syscap SystemCapability.Multimedia.Image.Core
6847     * @since 13
6848     */
6849    release(): void
6850  }
6851
6852  /**
6853   * Create a Picture object by the pixel map of the main image.
6854   *
6855   * @param { PixelMap } mainPixelmap The pixel map of the main image.
6856   * @returns { Picture } Returns the Picture object.
6857   * @throws { BusinessError } 401 - Parameter error.Possible causes: 1.Mandatory parameters are left unspecified.
6858   * 2.Incorrect parameter types; 3.Parameter verification failed.
6859   * @syscap SystemCapability.Multimedia.Image.Core
6860   * @since 13
6861   */
6862  function createPicture(mainPixelmap : PixelMap): Picture;
6863
6864  /**
6865   * Creates a Picture object based on MessageSequence parameter.
6866   *
6867   * @param { rpc.MessageSequence } sequence - rpc.MessageSequence parameter.
6868   * @returns { Picture } Returns the Picture object.
6869   * @throws { BusinessError } 401 - Parameter error.Possible causes: 1.Mandatory parameters are left unspecified.
6870   * 2.Incorrect parameter types; 3.Parameter verification failed.
6871   * @throws { BusinessError } 62980097 - IPC error.
6872   * @syscap SystemCapability.Multimedia.Image.Core
6873   * @since 13
6874   */
6875  function createPictureFromParcel(sequence: rpc.MessageSequence): Picture;
6876
6877  /**
6878   * Create a AuxiliaryPicture object by data buffer.
6879   *
6880   * @param { ArrayBuffer } buffer The image data buffer.
6881   * @param { Size } size The size of auxiliary picture.
6882   * @param { AuxiliaryPictureType } type The type of auxiliary picture.
6883   * @returns { AuxiliaryPicture } The AuxiliaryPicture object.
6884   * @throws { BusinessError } 401 - Parameter error.Possible causes: 1.Mandatory parameters are left unspecified.
6885   * 2.Incorrect parameter types; 3.Parameter verification failed.
6886   * @syscap SystemCapability.Multimedia.Image.Core
6887   * @since 13
6888   */
6889  function createAuxiliaryPicture(buffer: ArrayBuffer, size: Size, type: AuxiliaryPictureType): AuxiliaryPicture;
6890
6891  /**
6892   * AuxiliaryPicture instance.
6893   *
6894   * @typedef AuxiliaryPicture
6895   * @syscap SystemCapability.Multimedia.Image.Core
6896   * @since 13
6897   */
6898  interface AuxiliaryPicture {
6899    /**
6900     * Reads auxiliary picture data in an ArrayBuffer and writes the data to a AuxiliaryPicture object. This method
6901     * uses a promise to return the result.
6902     *
6903     * @param { ArrayBuffer } data A buffer from which the auxiliary picture data will be read.
6904     * @returns { Promise<void> } A Promise instance used to return the operation result. If the operation fails, an
6905     * error message is returned.
6906     * @throws { BusinessError } 401 - Parameter error.Possible causes: 1.Mandatory parameters are left unspecified.
6907     * 2.Incorrect parameter types. 3.Parameter verification failed.
6908     * @throws { BusinessError } 7600301 - Memory alloc failed.
6909     * @throws { BusinessError } 7600302 - Memory copy failed.
6910     * @syscap SystemCapability.Multimedia.Image.Core
6911     * @since 13
6912     */
6913    writePixelsFromBuffer(data: ArrayBuffer): Promise<void>;
6914
6915    /**
6916     * Reads image pixel map data and writes the data to an ArrayBuffer. This method uses
6917     * a promise to return the result.
6918     *
6919     * @returns { Promise<ArrayBuffer> } A Promise instance used to return the pixel map data.
6920     * @throws { BusinessError } 7600301 - Memory alloc failed.
6921     * @throws { BusinessError } 7600302 - Memory copy failed.
6922     * @syscap SystemCapability.Multimedia.Image.Core
6923     * @since 13
6924     */
6925    readPixelsToBuffer(): Promise<ArrayBuffer>;
6926
6927    /**
6928     * Obtains the type of auxiliary picture.
6929     *
6930     * @returns { AuxiliaryPictureType } Returns the type of auxiliary picture.
6931     * @syscap SystemCapability.Multimedia.Image.Core
6932     * @since 13
6933     */
6934    getType(): AuxiliaryPictureType;
6935
6936    /**
6937     * Set the metadata of auxiliary picture.
6938     *
6939     * @param { MetadataType } metadataType The type of metadata.
6940     * @param { Metadata } metadata The metadata of auxiliary picture.
6941     * @returns { Promise<void> } A Promise instance used to return the operation result.
6942     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified.
6943     * 2.Incorrect parameter types. 3.Parameter verification failed.
6944     * @throws { BusinessError } 7600202 - Unsupported metadata. Possible causes: 1. Unsupported metadata type. 2. The
6945     * metadata type does not match the auxiliary picture type.
6946     * @syscap SystemCapability.Multimedia.Image.Core
6947     * @since 13
6948     */
6949    setMetadata(metadataType: MetadataType, metadata: Metadata): Promise<void>
6950
6951    /**
6952     * Obtains the metadata of auxiliary picture.
6953     *
6954     * @param { MetadataType } metadataType The type of metadata.
6955     * @returns { Promise<Metadata> } Return the metadata of auxiliary picture.
6956     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified.
6957     * 2.Incorrect parameter types. 3.Parameter verification failed.
6958     * @throws { BusinessError } 7600202 - Unsupported metadata. Possible causes: 1. Unsupported metadata type. 2. The
6959     * metadata type does not match the auxiliary picture type.
6960     * @syscap SystemCapability.Multimedia.Image.Core
6961     * @since 13
6962     */
6963    getMetadata(metadataType: MetadataType): Promise<Metadata>
6964
6965    /**
6966     * Obtains the information about this auxiliary picture.
6967     *
6968     * @returns { AuxiliaryPictureInfo } Returns the auxiliary picture information. If the operation fails, an error
6969     * message is returned.
6970     * @syscap SystemCapability.Multimedia.Image.Core
6971     * @since 13
6972     */
6973    getAuxiliaryPictureInfo(): AuxiliaryPictureInfo;
6974
6975    /**
6976     * Set the information about this auxiliary picture.
6977     *
6978     * @param { AuxiliaryPictureInfo } info the auxiliary picture information.
6979     * @throws { BusinessError } 401 - Parameter error.Possible causes: 1.Mandatory parameters are left unspecified.
6980     * 2.Incorrect parameter types. 3.Parameter verification failed.
6981     * @syscap SystemCapability.Multimedia.Image.Core
6982     * @since 13
6983     */
6984    setAuxiliaryPictureInfo(info: AuxiliaryPictureInfo): void
6985
6986    /**
6987     * Releases this AuxiliaryPicture object.
6988     * @syscap SystemCapability.Multimedia.Image.Core
6989     * @since 13
6990     */
6991    release():void
6992  }
6993
6994  /**
6995   * Enumerates auxiliary picture type.
6996   *
6997   * @enum { number }
6998   * @syscap SystemCapability.Multimedia.Image.Core
6999   * @since 13
7000   */
7001  enum AuxiliaryPictureType {
7002    /**
7003     * Gain map.
7004     *
7005     * @syscap SystemCapability.Multimedia.Image.Core
7006     * @since 13
7007     */
7008    GAINMAP = 1,
7009
7010    /**
7011     * Depth map.
7012     *
7013     * @syscap SystemCapability.Multimedia.Image.Core
7014     * @since 13
7015     */
7016    DEPTH_MAP = 2,
7017
7018    /**
7019     * Unrefocus map.
7020     *
7021     * @syscap SystemCapability.Multimedia.Image.Core
7022     * @since 13
7023     */
7024    UNREFOCUS_MAP = 3,
7025
7026    /**
7027     * Linear map.
7028     *
7029     * @syscap SystemCapability.Multimedia.Image.Core
7030     * @since 13
7031     */
7032    LINEAR_MAP = 4,
7033
7034    /**
7035     * Fragment map.
7036     *
7037     * @syscap SystemCapability.Multimedia.Image.Core
7038     * @since 13
7039     */
7040    FRAGMENT_MAP = 5,
7041  }
7042
7043  /**
7044   * Enumerates metadata type.
7045   *
7046   * @enum { number }
7047   * @syscap SystemCapability.Multimedia.Image.Core
7048   * @since 13
7049   */
7050  enum MetadataType {
7051    /**
7052     * EXIF metadata.
7053     *
7054     * @syscap SystemCapability.Multimedia.Image.Core
7055     * @since 13
7056     */
7057    EXIF_METADATA = 1,
7058
7059    /**
7060     * Fragment metadata.
7061     *
7062     * @syscap SystemCapability.Multimedia.Image.Core
7063     * @since 13
7064     */
7065    FRAGMENT_METADATA = 2,
7066  }
7067
7068  /**
7069   * Metadata instance.
7070   *
7071   * @typedef Metadata
7072   * @syscap SystemCapability.Multimedia.Image.Core
7073   * @since 13
7074   */
7075  interface Metadata {
7076    /**
7077     * Obtains the value of properties in an image. This method uses a promise to return the property values in array
7078     * of records.
7079     *
7080     * @param { Array<string> } key Name of the properties whose value is to be obtained.
7081     * @returns { Promise<Record<string, string | null>> } Array of Records instance used to return the property values.
7082     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified.
7083     * 2.Incorrect parameter types. 3.Parameter verification failed.
7084     * @throws { BusinessError } 7600202 - Unsupported metadata. Possible causes: 1. Unsupported metadata type. 2. The
7085     * metadata type does not match the auxiliary picture type.
7086     * @syscap SystemCapability.Multimedia.Image.Core
7087     * @since 13
7088     */
7089    getProperties(key: Array<string>): Promise<Record<string, string | null>>
7090
7091    /**
7092     * Modify the value of properties in an image with the specified keys.
7093     *
7094     * @param { Record<string, string | null> } records Array of the property Records whose values are to
7095     * be modified.
7096     * @returns { Promise<void> } A Promise instance used to return the operation result.
7097     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified.
7098     * 2.Incorrect parameter types. 3.Parameter verification failed.
7099     * @throws { BusinessError } 7600202 - Unsupported metadata. Possible causes: 1. Unsupported metadata type. 2. The
7100     * metadata type does not match the auxiliary picture type.
7101     * @syscap SystemCapability.Multimedia.Image.Core
7102     * @since 13
7103     */
7104    setProperties(records: Record<string, string | null>): Promise<void>
7105
7106    /**
7107     * Obtains the value of all properties in an image. This method uses a promise to return the property values
7108     * in array of records.
7109     *
7110     * @returns { Promise<Record<string, string | null>> } Array of Records instance used to return the property values.
7111     * @syscap SystemCapability.Multimedia.Image.Core
7112     * @since 13
7113     */
7114    getAllProperties(): Promise<Record<string, string | null>>
7115
7116    /**
7117     * Obtains a clone of metadata. This method uses a promise to return the metadata.
7118     *
7119     * @returns { Promise<Metadata> } A Promise instance used to return the metadata.
7120     * @throws { BusinessError } 7600301 - Memory alloc failed.
7121     * @throws { BusinessError } 7600302 - Memory copy failed.
7122     * @syscap SystemCapability.Multimedia.Image.Core
7123     * @since 13
7124     */
7125    clone(): Promise<Metadata>
7126  }
7127
7128  /**
7129   * Enumerates fragment map information types of an image.
7130   *
7131   * @enum { string }
7132   * @syscap SystemCapability.Multimedia.Image.Core
7133   * @since 13
7134   */
7135  enum FragmentMapPropertyKey {
7136    /**
7137     * The x-coordinate of the top left corner of the mark cup map in the original image.
7138     *
7139     * @syscap SystemCapability.Multimedia.Image.Core
7140     * @since 13
7141     */
7142    X_IN_ORIGINAL = 'XInOriginal',
7143
7144    /**
7145     * The y-coordinate of the top left corner of the mark cup map in the original image.
7146     *
7147     * @syscap SystemCapability.Multimedia.Image.Core
7148     * @since 13
7149     */
7150    Y_IN_ORIGINAL = 'YInOriginal',
7151
7152    /**
7153     * Mark cut map width.
7154     *
7155     * @syscap SystemCapability.Multimedia.Image.Core
7156     * @since 13
7157     */
7158    WIDTH = 'FragmentImageWidth',
7159
7160    /**
7161     * Mark cut map width.
7162     *
7163     * @syscap SystemCapability.Multimedia.Image.Core
7164     * @since 13
7165     */
7166    HEIGHT = 'FragmentImageHeight'
7167  }
7168
7169  /**
7170   * Describes image decoding parameters.
7171   *
7172   * @typedef DecodingOptionsForPicture
7173   * @syscap SystemCapability.Multimedia.Image.ImageSource
7174   * @since 13
7175   */
7176  interface DecodingOptionsForPicture {
7177    /**
7178     * Expected set of auxiliary picture types, default to decoding all auxiliary pictures.
7179     *
7180     * @type { Array<AuxiliaryPictureType> }
7181     * @syscap SystemCapability.Multimedia.Image.ImageSource
7182     * @since 13
7183     */
7184    desiredAuxiliaryPictures: Array<AuxiliaryPictureType>;
7185  }
7186
7187   /**
7188   * Describes auxiliary picture information.
7189   *
7190   * @typedef AuxiliaryPictureInfo
7191   * @syscap SystemCapability.Multimedia.Image.Core
7192   * @since 13
7193   */
7194  interface AuxiliaryPictureInfo {
7195    /**
7196     * Indicates auxiliary picture type.
7197     *
7198     * @type { AuxiliaryPictureType }
7199     * @syscap SystemCapability.Multimedia.Image.Core
7200     * @since 13
7201     */
7202    auxiliaryPictureType: AuxiliaryPictureType;
7203
7204    /**
7205     * Indicates image dimensions specified by a {@link Size} interface.
7206     *
7207     * @type { Size }
7208     * @syscap SystemCapability.Multimedia.Image.Core
7209     * @since 13
7210     */
7211    size: Size;
7212
7213    /**
7214     * The number of byte per row.
7215     *
7216     * @type { number }
7217     * @syscap SystemCapability.Multimedia.Image.Core
7218     * @since 13
7219     */
7220    rowStride: number;
7221
7222    /**
7223     * Indicates image format.
7224     *
7225     * @type { PixelMapFormat }
7226     * @syscap SystemCapability.Multimedia.Image.Core
7227     * @since 13
7228     */
7229     pixelFormat: PixelMapFormat;
7230
7231    /**
7232     * Indicates color space for pixel map.
7233     *
7234     * @type { colorSpaceManager.ColorSpaceManager }
7235     * @syscap SystemCapability.Multimedia.Image.Core
7236     * @since 13
7237     */
7238     colorSpace: colorSpaceManager.ColorSpaceManager;
7239  }
7240
7241  /**
7242   * ImageSource instance.
7243   *
7244   * @typedef ImageSource
7245   * @syscap SystemCapability.Multimedia.Image.ImageSource
7246   * @since 6
7247   */
7248  /**
7249   * ImageSource instance.
7250   *
7251   * @typedef ImageSource
7252   * @syscap SystemCapability.Multimedia.Image.ImageSource
7253   * @crossplatform
7254   * @since 10
7255   */
7256  /**
7257   * ImageSource instance.
7258   *
7259   * @typedef ImageSource
7260   * @syscap SystemCapability.Multimedia.Image.ImageSource
7261   * @crossplatform
7262   * @atomicservice
7263   * @since 11
7264   */
7265  /**
7266   * ImageSource instance.
7267   *
7268   * @typedef ImageSource
7269   * @syscap SystemCapability.Multimedia.Image.ImageSource
7270   * @crossplatform
7271   * @form
7272   * @atomicservice
7273   * @since 12
7274   */
7275  interface ImageSource {
7276    /**
7277     * Obtains information about an image with the specified sequence number and uses a callback
7278     * to return the result.
7279     *
7280     * @param { number } index Sequence number of an image.
7281     * @param { AsyncCallback<ImageInfo> } callback Callback used to return the image information.
7282     * @syscap SystemCapability.Multimedia.Image.ImageSource
7283     * @since 6
7284     */
7285    /**
7286     * Obtains information about an image with the specified sequence number and uses a callback
7287     * to return the result.
7288     *
7289     * @param { number } index Sequence number of an image.
7290     * @param { AsyncCallback<ImageInfo> } callback Callback used to return the image information.
7291     * @syscap SystemCapability.Multimedia.Image.ImageSource
7292     * @crossplatform
7293     * @since 10
7294     */
7295    /**
7296     * Obtains information about an image with the specified sequence number and uses a callback
7297     * to return the result.
7298     *
7299     * @param { number } index Sequence number of an image.
7300     * @param { AsyncCallback<ImageInfo> } callback Callback used to return the image information.
7301     * @syscap SystemCapability.Multimedia.Image.ImageSource
7302     * @crossplatform
7303     * @atomicservice
7304     * @since 11
7305     */
7306    /**
7307     * Obtains information about an image with the specified sequence number and uses a callback
7308     * to return the result.
7309     *
7310     * @param { number } index Sequence number of an image.
7311     * @param { AsyncCallback<ImageInfo> } callback Callback used to return the image information.
7312     * @syscap SystemCapability.Multimedia.Image.ImageSource
7313     * @crossplatform
7314     * @form
7315     * @atomicservice
7316     * @since 12
7317     */
7318    getImageInfo(index: number, callback: AsyncCallback<ImageInfo>): void;
7319
7320    /**
7321     * Obtains information about this image and uses a callback to return the result.
7322     *
7323     * @param { AsyncCallback<ImageInfo> } callback Callback used to return the image information.
7324     * @syscap SystemCapability.Multimedia.Image.ImageSource
7325     * @since 6
7326     */
7327    /**
7328     * Obtains information about this image and uses a callback to return the result.
7329     *
7330     * @param { AsyncCallback<ImageInfo> } callback Callback used to return the image information.
7331     * @syscap SystemCapability.Multimedia.Image.ImageSource
7332     * @crossplatform
7333     * @since 10
7334     */
7335    /**
7336     * Obtains information about this image and uses a callback to return the result.
7337     *
7338     * @param { AsyncCallback<ImageInfo> } callback Callback used to return the image information.
7339     * @syscap SystemCapability.Multimedia.Image.ImageSource
7340     * @crossplatform
7341     * @atomicservice
7342     * @since 11
7343     */
7344    /**
7345     * Obtains information about this image and uses a callback to return the result.
7346     *
7347     * @param { AsyncCallback<ImageInfo> } callback Callback used to return the image information.
7348     * @syscap SystemCapability.Multimedia.Image.ImageSource
7349     * @crossplatform
7350     * @form
7351     * @atomicservice
7352     * @since 12
7353     */
7354    getImageInfo(callback: AsyncCallback<ImageInfo>): void;
7355
7356    /**
7357     * Get image information from image source.
7358     *
7359     * @param { number } index Sequence number of an image. If this parameter is not specified, the default value 0 is used.
7360     * @returns { Promise<ImageInfo> } A Promise instance used to return the image information.
7361     * @syscap SystemCapability.Multimedia.Image.ImageSource
7362     * @since 6
7363     */
7364    /**
7365     * Get image information from image source.
7366     *
7367     * @param { number } index Sequence number of an image. If this parameter is not specified, the default value 0 is used.
7368     * @returns { Promise<ImageInfo> } A Promise instance used to return the image information.
7369     * @syscap SystemCapability.Multimedia.Image.ImageSource
7370     * @crossplatform
7371     * @since 10
7372     */
7373    /**
7374     * Get image information from image source.
7375     *
7376     * @param { number } index Sequence number of an image. If this parameter is not specified, the default value 0 is used.
7377     * @returns { Promise<ImageInfo> } A Promise instance used to return the image information.
7378     * @syscap SystemCapability.Multimedia.Image.ImageSource
7379     * @crossplatform
7380     * @atomicservice
7381     * @since 11
7382     */
7383    /**
7384     * Get image information from image source.
7385     *
7386     * @param { number } index Sequence number of an image. If this parameter is not specified, the default value 0 is used.
7387     * @returns { Promise<ImageInfo> } A Promise instance used to return the image information.
7388     * @syscap SystemCapability.Multimedia.Image.ImageSource
7389     * @crossplatform
7390     * @form
7391     * @atomicservice
7392     * @since 12
7393     */
7394    getImageInfo(index?: number): Promise<ImageInfo>;
7395
7396    /**
7397     * Get image information from image source synchronously.
7398     *
7399     * @param { number } index - Index of sequence images. If this parameter is not specified, default value is 0.
7400     * @returns { ImageInfo } The image information.
7401     * @syscap SystemCapability.Multimedia.Image.ImageSource
7402     * @crossplatform
7403     * @since 12
7404     */
7405    getImageInfoSync(index?: number): ImageInfo;
7406
7407    /**
7408     * Creates a PixelMap object based on image decoding parameters. This method uses a promise to
7409     * return the object.
7410     *
7411     * @param { DecodingOptions } options Image decoding parameters.
7412     * @returns { Promise<PixelMap> } A Promise instance used to return the PixelMap object.
7413     * @syscap SystemCapability.Multimedia.Image.ImageSource
7414     * @since 7
7415     */
7416    /**
7417     * Creates a PixelMap object based on image decoding parameters. This method uses a promise to
7418     * return the object.
7419     *
7420     * @param { DecodingOptions } options Image decoding parameters.
7421     * @returns { Promise<PixelMap> } A Promise instance used to return the PixelMap object.
7422     * @syscap SystemCapability.Multimedia.Image.ImageSource
7423     * @crossplatform
7424     * @since 10
7425     */
7426    /**
7427     * Creates a PixelMap object based on image decoding parameters. This method uses a promise to
7428     * return the object.
7429     *
7430     * @param { DecodingOptions } options Image decoding parameters.
7431     * @returns { Promise<PixelMap> } A Promise instance used to return the PixelMap object.
7432     * @syscap SystemCapability.Multimedia.Image.ImageSource
7433     * @crossplatform
7434     * @atomicservice
7435     * @since 11
7436     */
7437    /**
7438     * Creates a PixelMap object based on image decoding parameters. This method uses a promise to
7439     * return the object.
7440     *
7441     * @param { DecodingOptions } options Image decoding parameters.
7442     * @returns { Promise<PixelMap> } A Promise instance used to return the PixelMap object.
7443     * @syscap SystemCapability.Multimedia.Image.ImageSource
7444     * @crossplatform
7445     * @form
7446     * @atomicservice
7447     * @since 12
7448     */
7449    createPixelMap(options?: DecodingOptions): Promise<PixelMap>;
7450
7451    /**
7452     * Creates a PixelMap object. This method uses a callback to return the object.
7453     *
7454     * @param { AsyncCallback<PixelMap> } callback Callback used to return the PixelMap object.
7455     * @syscap SystemCapability.Multimedia.Image.ImageSource
7456     * @since 7
7457     */
7458    /**
7459     * Creates a PixelMap object. This method uses a callback to return the object.
7460     *
7461     * @param { AsyncCallback<PixelMap> } callback Callback used to return the PixelMap object.
7462     * @syscap SystemCapability.Multimedia.Image.ImageSource
7463     * @crossplatform
7464     * @since 10
7465     */
7466    /**
7467     * Creates a PixelMap object. This method uses a callback to return the object.
7468     *
7469     * @param { AsyncCallback<PixelMap> } callback Callback used to return the PixelMap object.
7470     * @syscap SystemCapability.Multimedia.Image.ImageSource
7471     * @crossplatform
7472     * @atomicservice
7473     * @since 11
7474     */
7475    /**
7476     * Creates a PixelMap object. This method uses a callback to return the object.
7477     *
7478     * @param { AsyncCallback<PixelMap> } callback Callback used to return the PixelMap object.
7479     * @syscap SystemCapability.Multimedia.Image.ImageSource
7480     * @crossplatform
7481     * @form
7482     * @atomicservice
7483     * @since 12
7484     */
7485    createPixelMap(callback: AsyncCallback<PixelMap>): void;
7486
7487    /**
7488     * Creates a PixelMap object based on image decoding parameters. This method uses a callback to
7489     * return the object.
7490     *
7491     * @param { DecodingOptions } options Image decoding parameters.
7492     * @param { AsyncCallback<PixelMap> } callback Callback used to return the PixelMap object.
7493     * @syscap SystemCapability.Multimedia.Image.ImageSource
7494     * @since 7
7495     */
7496    /**
7497     * Creates a PixelMap object based on image decoding parameters. This method uses a callback to
7498     * return the object.
7499     *
7500     * @param { DecodingOptions } options Image decoding parameters.
7501     * @param { AsyncCallback<PixelMap> } callback Callback used to return the PixelMap object.
7502     * @syscap SystemCapability.Multimedia.Image.ImageSource
7503     * @crossplatform
7504     * @since 10
7505     */
7506    /**
7507     * Creates a PixelMap object based on image decoding parameters. This method uses a callback to
7508     * return the object.
7509     *
7510     * @param { DecodingOptions } options Image decoding parameters.
7511     * @param { AsyncCallback<PixelMap> } callback Callback used to return the PixelMap object.
7512     * @syscap SystemCapability.Multimedia.Image.ImageSource
7513     * @crossplatform
7514     * @atomicservice
7515     * @since 11
7516     */
7517    /**
7518     * Creates a PixelMap object based on image decoding parameters. This method uses a callback to
7519     * return the object.
7520     *
7521     * @param { DecodingOptions } options Image decoding parameters.
7522     * @param { AsyncCallback<PixelMap> } callback Callback used to return the PixelMap object.
7523     * @syscap SystemCapability.Multimedia.Image.ImageSource
7524     * @crossplatform
7525     * @form
7526     * @atomicservice
7527     * @since 12
7528     */
7529    createPixelMap(options: DecodingOptions, callback: AsyncCallback<PixelMap>): void;
7530
7531    /**
7532     * Create a PixelMap object based on image decoding parameters synchronously.
7533     *
7534     * @param { DecodingOptions } options - Image decoding parameters.
7535     * @returns { PixelMap } Return the PixelMap. If decoding fails, return undefined.
7536     * @syscap SystemCapability.Multimedia.Image.ImageSource
7537     * @crossplatform
7538     * @since 12
7539     */
7540    createPixelMapSync(options?: DecodingOptions): PixelMap;
7541
7542    /**
7543     * Creates a PixelMap array based on image decoding parameters. This method uses a promise to
7544     * return the array.
7545     *
7546     * @param { DecodingOptions } options Image decoding parameters.
7547     * @returns { Promise<Array<PixelMap>> } A Promise instance used to return the PixelMap array.
7548     * @throws { BusinessError } 62980096 - The operation failed.
7549     * @throws { BusinessError } 62980099 - The shared memory data is abnormal.
7550     * @throws { BusinessError } 62980101 - The image data is abnormal.
7551     * @throws { BusinessError } 62980103 - The image data is not supported.
7552     * @throws { BusinessError } 62980106 - The image is too large.
7553     * @throws { BusinessError } 62980109 - Failed to crop the image.
7554     * @throws { BusinessError } 62980110 - The image source data is incorrect.
7555     * @throws { BusinessError } 62980111 - The image source data is incomplete.
7556     * @throws { BusinessError } 62980112 - The image format does not match.
7557     * @throws { BusinessError } 62980113 - Unknown image format.
7558     * @throws { BusinessError } 62980115 - Invalid image parameter.
7559     * @throws { BusinessError } 62980116 - Failed to decode the image.
7560     * @throws { BusinessError } 62980118 - Failed to create the image plugin.
7561     * @throws { BusinessError } 62980122 - The image decoding header is abnormal.
7562     * @throws { BusinessError } 62980137 - Invalid media operation.
7563     * @throws { BusinessError } 62980173 - The DMA memory does not exist.
7564     * @throws { BusinessError } 62980174 - The DMA memory data is abnormal.
7565     * @syscap SystemCapability.Multimedia.Image.ImageSource
7566     * @crossplatform
7567     * @since 10
7568     */
7569     /**
7570     * Creates a PixelMap array based on image decoding parameters. This method uses a promise to
7571     * return the array.
7572     *
7573     * @param { DecodingOptions } options Image decoding parameters.
7574     * @returns { Promise<Array<PixelMap>> } A Promise instance used to return the PixelMap array.
7575     * @throws { BusinessError } 62980096 - The operation failed.
7576     * @throws { BusinessError } 62980099 - The shared memory data is abnormal.
7577     * @throws { BusinessError } 62980101 - The image data is abnormal.
7578     * @throws { BusinessError } 62980103 - The image data is not supported.
7579     * @throws { BusinessError } 62980106 - The image is too large.
7580     * @throws { BusinessError } 62980109 - Failed to crop the image.
7581     * @throws { BusinessError } 62980110 - The image source data is incorrect.
7582     * @throws { BusinessError } 62980111 - The image source data is incomplete.
7583     * @throws { BusinessError } 62980112 - The image format does not match.
7584     * @throws { BusinessError } 62980113 - Unknown image format.
7585     * @throws { BusinessError } 62980115 - Invalid image parameter.
7586     * @throws { BusinessError } 62980116 - Failed to decode the image.
7587     * @throws { BusinessError } 62980118 - Failed to create the image plugin.
7588     * @throws { BusinessError } 62980122 - Failed to decode the image header.
7589     * @throws { BusinessError } 62980137 - Invalid media operation.
7590     * @throws { BusinessError } 62980173 - The DMA memory does not exist.
7591     * @throws { BusinessError } 62980174 - The DMA memory data is abnormal.
7592     * @syscap SystemCapability.Multimedia.Image.ImageSource
7593     * @crossplatform
7594     * @since 12
7595     */
7596    createPixelMapList(options?: DecodingOptions): Promise<Array<PixelMap>>;
7597
7598    /**
7599     * Creates a PixelMap array. This method uses a callback to return the array.
7600     *
7601     * @param { AsyncCallback<Array<PixelMap>> } callback Callback used to return the PixelMap array.
7602     * @throws { BusinessError } 62980096 - The operation failed.
7603     * @throws { BusinessError } 62980099 - The shared memory data is abnormal.
7604     * @throws { BusinessError } 62980101 - The image data is abnormal.
7605     * @throws { BusinessError } 62980103 - The image data is not supported.
7606     * @throws { BusinessError } 62980106 - The image is too large.
7607     * @throws { BusinessError } 62980109 - Failed to crop the image.
7608     * @throws { BusinessError } 62980110 - The image source data is incorrect.
7609     * @throws { BusinessError } 62980111 - The image source data is incomplete.
7610     * @throws { BusinessError } 62980112 - The image format does not match.
7611     * @throws { BusinessError } 62980113 - Unknown image format.
7612     * @throws { BusinessError } 62980115 - Invalid image parameter.
7613     * @throws { BusinessError } 62980116 - Failed to decode the image.
7614     * @throws { BusinessError } 62980118 - Failed to create the image plugin.
7615     * @throws { BusinessError } 62980122 - The image decoding header is abnormal.
7616     * @throws { BusinessError } 62980137 - Invalid media operation.
7617     * @throws { BusinessError } 62980173 - The DMA memory does not exist.
7618     * @throws { BusinessError } 62980174 - The DMA memory data is abnormal.
7619     * @syscap SystemCapability.Multimedia.Image.ImageSource
7620     * @crossplatform
7621     * @since 10
7622     */
7623    /**
7624     * Creates a PixelMap array. This method uses a callback to return the array.
7625     *
7626     * @param { AsyncCallback<Array<PixelMap>> } callback Callback used to return the PixelMap array.
7627     * @throws { BusinessError } 62980096 - The operation failed.
7628     * @throws { BusinessError } 62980099 - The shared memory data is abnormal.
7629     * @throws { BusinessError } 62980101 - The image data is abnormal.
7630     * @throws { BusinessError } 62980103 - The image data is not supported.
7631     * @throws { BusinessError } 62980106 - The image is too large.
7632     * @throws { BusinessError } 62980109 - Failed to crop the image.
7633     * @throws { BusinessError } 62980110 - The image source data is incorrect.
7634     * @throws { BusinessError } 62980111 - The image source data is incomplete.
7635     * @throws { BusinessError } 62980112 - The image format does not match.
7636     * @throws { BusinessError } 62980113 - Unknown image format.
7637     * @throws { BusinessError } 62980115 - Invalid image parameter.
7638     * @throws { BusinessError } 62980116 - Failed to decode the image.
7639     * @throws { BusinessError } 62980118 - Failed to create the image plugin.
7640     * @throws { BusinessError } 62980122 - Failed to decode the image header.
7641     * @throws { BusinessError } 62980137 - Invalid media operation.
7642     * @throws { BusinessError } 62980173 - The DMA memory does not exist.
7643     * @throws { BusinessError } 62980174 - The DMA memory data is abnormal.
7644     * @syscap SystemCapability.Multimedia.Image.ImageSource
7645     * @crossplatform
7646     * @since 12
7647     */
7648    createPixelMapList(callback: AsyncCallback<Array<PixelMap>>): void;
7649
7650    /**
7651     * Creates a PixelMap array based on image decoding parameters. This method uses a callback to
7652     * return the array.
7653     *
7654     * @param { DecodingOptions } options Image decoding parameters.
7655     * @param { AsyncCallback<Array<PixelMap>> } callback Callback used to return the PixelMap array.
7656     * @throws { BusinessError } 62980096 - The operation failed.
7657     * @throws { BusinessError } 62980099 - The shared memory data is abnormal.
7658     * @throws { BusinessError } 62980101 - The image data is abnormal.
7659     * @throws { BusinessError } 62980103 - The image data is not supported.
7660     * @throws { BusinessError } 62980106 - The image is too large.
7661     * @throws { BusinessError } 62980109 - Failed to crop the image.
7662     * @throws { BusinessError } 62980110 - The image source data is incorrect.
7663     * @throws { BusinessError } 62980111 - The image source data is incomplete.
7664     * @throws { BusinessError } 62980112 - The image format does not match.
7665     * @throws { BusinessError } 62980113 - Unknown image format.
7666     * @throws { BusinessError } 62980115 - Invalid image parameter.
7667     * @throws { BusinessError } 62980116 - Failed to decode the image.
7668     * @throws { BusinessError } 62980118 - Failed to create the image plugin.
7669     * @throws { BusinessError } 62980122 - The image decoding header is abnormal.
7670     * @throws { BusinessError } 62980137 - Invalid media operation.
7671     * @throws { BusinessError } 62980173 - The DMA memory does not exist.
7672     * @throws { BusinessError } 62980174 - The DMA memory data is abnormal.
7673     * @syscap SystemCapability.Multimedia.Image.ImageSource
7674     * @crossplatform
7675     * @since 10
7676     */
7677    /**
7678     * Creates a PixelMap array based on image decoding parameters. This method uses a callback to
7679     * return the array.
7680     *
7681     * @param { DecodingOptions } options Image decoding parameters.
7682     * @param { AsyncCallback<Array<PixelMap>> } callback Callback used to return the PixelMap array.
7683     * @throws { BusinessError } 62980096 - The operation failed.
7684     * @throws { BusinessError } 62980099 - The shared memory data is abnormal.
7685     * @throws { BusinessError } 62980101 - The image data is abnormal.
7686     * @throws { BusinessError } 62980103 - The image data is not supported.
7687     * @throws { BusinessError } 62980106 - The image is too large.
7688     * @throws { BusinessError } 62980109 - Failed to crop the image.
7689     * @throws { BusinessError } 62980110 - The image source data is incorrect.
7690     * @throws { BusinessError } 62980111 - The image source data is incomplete.
7691     * @throws { BusinessError } 62980112 - The image format does not match.
7692     * @throws { BusinessError } 62980113 - Unknown image format.
7693     * @throws { BusinessError } 62980115 - Invalid image parameter.
7694     * @throws { BusinessError } 62980116 - Failed to decode the image.
7695     * @throws { BusinessError } 62980118 - Failed to create the image plugin.
7696     * @throws { BusinessError } 62980122 - Failed to decode the image header.
7697     * @throws { BusinessError } 62980137 - Invalid media operation.
7698     * @throws { BusinessError } 62980173 - The DMA memory does not exist.
7699     * @throws { BusinessError } 62980174 - The DMA memory data is abnormal.
7700     * @syscap SystemCapability.Multimedia.Image.ImageSource
7701     * @crossplatform
7702     * @since 12
7703     */
7704    createPixelMapList(options: DecodingOptions, callback: AsyncCallback<Array<PixelMap>>): void;
7705
7706    /**
7707     * Obtains the array of delay time in an image. This method uses a promise to return the array.
7708     *
7709     * @returns { Promise<Array<number>> } A Promise instance used to return the array.
7710     * @throws { BusinessError } 62980096 - The operation failed.
7711     * @throws { BusinessError } 62980110 - The image source data is incorrect.
7712     * @throws { BusinessError } 62980111 - The image source data is incomplete.
7713     * @throws { BusinessError } 62980112 - The image format does not match.
7714     * @throws { BusinessError } 62980113 - Unknown image format.
7715     * @throws { BusinessError } 62980115 - Invalid image parameter.
7716     * @throws { BusinessError } 62980116 - Failed to decode the image.
7717     * @throws { BusinessError } 62980118 - Failed to create the image plugin.
7718     * @throws { BusinessError } 62980122 - The image decoding header is abnormal.
7719     * @throws { BusinessError } 62980137 - Invalid media operation.
7720     * @throws { BusinessError } 62980149 - Invalid media parameter.
7721     * @syscap SystemCapability.Multimedia.Image.ImageSource
7722     * @crossplatform
7723     * @since 10
7724     */
7725    /**
7726     * Obtains the array of delay time in an image. This method uses a promise to return the array.
7727     *
7728     * @returns { Promise<Array<number>> } A Promise instance used to return the array.
7729     * @throws { BusinessError } 62980096 - The operation failed.
7730     * @throws { BusinessError } 62980110 - The image source data is incorrect.
7731     * @throws { BusinessError } 62980111 - The image source data is incomplete.
7732     * @throws { BusinessError } 62980112 - The image format does not match.
7733     * @throws { BusinessError } 62980113 - Unknown image format.
7734     * @throws { BusinessError } 62980115 - Invalid image parameter.
7735     * @throws { BusinessError } 62980116 - Failed to decode the image.
7736     * @throws { BusinessError } 62980118 - Failed to create the image plugin.
7737     * @throws { BusinessError } 62980122 - Failed to decode the image header.
7738     * @throws { BusinessError } 62980137 - Invalid media operation.
7739     * @throws { BusinessError } 62980149 - Invalid MIME type for the image source.
7740     * @syscap SystemCapability.Multimedia.Image.ImageSource
7741     * @crossplatform
7742     * @since 12
7743     */
7744    getDelayTimeList(): Promise<Array<number>>;
7745
7746    /**
7747     * Obtains the array of delay time in an image. This method uses a callback to return the array.
7748     *
7749     * @param { AsyncCallback<Array<number>> } callback Callback used to return the array.
7750     * @throws { BusinessError } 62980096 - The operation failed.
7751     * @throws { BusinessError } 62980110 - The image source data is incorrect.
7752     * @throws { BusinessError } 62980111 - The image source data is incomplete.
7753     * @throws { BusinessError } 62980112 - The image format does not match.
7754     * @throws { BusinessError } 62980113 - Unknown image format.
7755     * @throws { BusinessError } 62980115 - Invalid image parameter.
7756     * @throws { BusinessError } 62980116 - Failed to decode the image.
7757     * @throws { BusinessError } 62980118 - Failed to create the image plugin.
7758     * @throws { BusinessError } 62980122 - The image decoding header is abnormal.
7759     * @throws { BusinessError } 62980137 - Invalid media operation.
7760     * @throws { BusinessError } 62980149 - Invalid media parameter.
7761     * @syscap SystemCapability.Multimedia.Image.ImageSource
7762     * @crossplatform
7763     * @since 10
7764     */
7765    /**
7766     * Obtains the array of delay time in an image. This method uses a callback to return the array.
7767     *
7768     * @param { AsyncCallback<Array<number>> } callback Callback used to return the array.
7769     * @throws { BusinessError } 62980096 - The operation failed.
7770     * @throws { BusinessError } 62980110 - The image source data is incorrect.
7771     * @throws { BusinessError } 62980111 - The image source data is incomplete.
7772     * @throws { BusinessError } 62980112 - The image format does not match.
7773     * @throws { BusinessError } 62980113 - Unknown image format.
7774     * @throws { BusinessError } 62980115 - Invalid image parameter.
7775     * @throws { BusinessError } 62980116 - Failed to decode the image.
7776     * @throws { BusinessError } 62980118 - Failed to create the image plugin.
7777     * @throws { BusinessError } 62980122 - Failed to decode the image header.
7778     * @throws { BusinessError } 62980137 - Invalid media operation.
7779     * @throws { BusinessError } 62980149 - Invalid MIME type for the image source.
7780     * @syscap SystemCapability.Multimedia.Image.ImageSource
7781     * @crossplatform
7782     * @since 12
7783     */
7784    getDelayTimeList(callback: AsyncCallback<Array<number>>): void;
7785
7786    /**
7787     * Obtains the array of disposal type in a gif image. This method uses a promise to return the array.
7788     *
7789     * @returns { Promise<Array<number>> } A Promise instance used to return the array.
7790     * @throws { BusinessError } 62980096 - The operation failed.
7791     * @throws { BusinessError } 62980101 - The image data is abnormal.
7792     * @throws { BusinessError } 62980137 - Invalid media operation.
7793     * @throws { BusinessError } 62980149 - Invalid MIME type for the image source.
7794     * @syscap SystemCapability.Multimedia.Image.ImageSource
7795     * @crossplatform
7796     * @since 12
7797     */
7798    getDisposalTypeList(): Promise<Array<number>>;
7799
7800    /**
7801     * Obtains the count of frame in an image. This method uses a promise to return the number.
7802     *
7803     * @returns { Promise<number> } A Promise instance used to return the number.
7804     * @throws { BusinessError } 62980096 - The operation failed.
7805     * @throws { BusinessError } 62980110 - The image source data is incorrect.
7806     * @throws { BusinessError } 62980111 - The image source data is incomplete.
7807     * @throws { BusinessError } 62980112 - The image format does not match.
7808     * @throws { BusinessError } 62980113 - Unknown image format.
7809     * @throws { BusinessError } 62980115 - Invalid image parameter.
7810     * @throws { BusinessError } 62980116 - Failed to decode the image.
7811     * @throws { BusinessError } 62980118 - Failed to create the image plugin.
7812     * @throws { BusinessError } 62980122 - The image decoding header is abnormal.
7813     * @throws { BusinessError } 62980137 - Invalid media operation.
7814     * @syscap SystemCapability.Multimedia.Image.ImageSource
7815     * @crossplatform
7816     * @since 10
7817     */
7818    /**
7819     * Obtains the count of frame in an image. This method uses a promise to return the number.
7820     *
7821     * @returns { Promise<number> } A Promise instance used to return the number.
7822     * @throws { BusinessError } 62980096 - The operation failed.
7823     * @throws { BusinessError } 62980110 - The image source data is incorrect.
7824     * @throws { BusinessError } 62980111 - The image source data is incomplete.
7825     * @throws { BusinessError } 62980112 - The image format does not match.
7826     * @throws { BusinessError } 62980113 - Unknown image format.
7827     * @throws { BusinessError } 62980115 - Invalid image parameter.
7828     * @throws { BusinessError } 62980116 - Failed to decode the image.
7829     * @throws { BusinessError } 62980118 - Failed to create the image plugin.
7830     * @throws { BusinessError } 62980122 - Failed to decode the image header.
7831     * @throws { BusinessError } 62980137 - Invalid media operation.
7832     * @syscap SystemCapability.Multimedia.Image.ImageSource
7833     * @crossplatform
7834     * @since 12
7835     */
7836    getFrameCount(): Promise<number>;
7837
7838    /**
7839     * Obtains the count of frame in an image. This method uses a callback to return the number.
7840     *
7841     * @param { AsyncCallback<number> } callback Callback used to return the number.
7842     * @throws { BusinessError } 62980096 - The operation failed.
7843     * @throws { BusinessError } 62980110 - The image source data is incorrect.
7844     * @throws { BusinessError } 62980111 - The image source data is incomplete.
7845     * @throws { BusinessError } 62980112 - The image format does not match.
7846     * @throws { BusinessError } 62980113 - Unknown image format.
7847     * @throws { BusinessError } 62980115 - Invalid image parameter.
7848     * @throws { BusinessError } 62980116 - Failed to decode the image.
7849     * @throws { BusinessError } 62980118 - Failed to create the image plugin.
7850     * @throws { BusinessError } 62980122 - The image decoding header is abnormal.
7851     * @throws { BusinessError } 62980137 - Invalid media operation.
7852     * @syscap SystemCapability.Multimedia.Image.ImageSource
7853     * @crossplatform
7854     * @since 10
7855     */
7856    /**
7857     * Obtains the count of frame in an image. This method uses a callback to return the number.
7858     *
7859     * @param { AsyncCallback<number> } callback Callback used to return the number.
7860     * @throws { BusinessError } 62980096 - The operation failed.
7861     * @throws { BusinessError } 62980110 - The image source data is incorrect.
7862     * @throws { BusinessError } 62980111 - The image source data is incomplete.
7863     * @throws { BusinessError } 62980112 - The image format does not match.
7864     * @throws { BusinessError } 62980113 - Unknown image format.
7865     * @throws { BusinessError } 62980115 - Invalid image parameter.
7866     * @throws { BusinessError } 62980116 - Failed to decode the image.
7867     * @throws { BusinessError } 62980118 - Failed to create the image plugin.
7868     * @throws { BusinessError } 62980122 - Failed to decode the image header.
7869     * @throws { BusinessError } 62980137 - Invalid media operation.
7870     * @syscap SystemCapability.Multimedia.Image.ImageSource
7871     * @crossplatform
7872     * @since 12
7873     */
7874    getFrameCount(callback: AsyncCallback<number>): void;
7875
7876    /**
7877     * Obtains the value of a property in an image with the specified index. This method uses a
7878     * promise to return the property value in a string.
7879     *
7880     * @param { PropertyKey } key - Name of the property whose value is to be obtained.
7881     * @param { ImagePropertyOptions } options - Index of the image.
7882     * @returns { Promise<string> } A Promise instance used to return the property value. If the operation fails, the default value is returned.
7883     * @throws { BusinessError } 401 - Parameter error.Possible causes: 1.Mandatory parameters are left unspecified; 2.Incorrect parameter types;3.Parameter verification failed;
7884     * @throws { BusinessError } 62980096 - The operation failed.
7885     * @throws { BusinessError } 62980103 - The image data is not supported.
7886     * @throws { BusinessError } 62980110 - The image source data is incorrect.
7887     * @throws { BusinessError } 62980111 - The image source data is incomplete.
7888     * @throws { BusinessError } 62980112 - The image format does not match.
7889     * @throws { BusinessError } 62980113 - Unknown image format.
7890     * @throws { BusinessError } 62980115 - Invalid image parameter.
7891     * @throws { BusinessError } 62980116 - Failed to decode the image.
7892     * @throws { BusinessError } 62980118 - Failed to create the image plugin.
7893     * @throws { BusinessError } 62980122 - The image decoding header is abnormal.
7894     * @throws { BusinessError } 62980123 - Images in EXIF format are not supported.
7895     * @throws { BusinessError } 62980135 - The EXIF value is invalid.
7896     * @syscap SystemCapability.Multimedia.Image.ImageSource
7897     * @crossplatform
7898     * @since 11
7899     */
7900    /**
7901     * Obtains the value of a property in an image with the specified index. This method uses a
7902     * promise to return the property value in a string.
7903     *
7904     * @param { PropertyKey } key - Name of the property whose value is to be obtained.
7905     * @param { ImagePropertyOptions } options - Index of the image.
7906     * @returns { Promise<string> } A Promise instance used to return the property value. If the operation fails, the default value is returned.
7907     * @throws { BusinessError } 401 - Parameter error.Possible causes: 1.Mandatory parameters are left unspecified; 2.Incorrect parameter types;3.Parameter verification failed;
7908     * @throws { BusinessError } 62980096 - The operation failed.
7909     * @throws { BusinessError } 62980103 - The image data is not supported.
7910     * @throws { BusinessError } 62980110 - The image source data is incorrect.
7911     * @throws { BusinessError } 62980111 - The image source data is incomplete.
7912     * @throws { BusinessError } 62980112 - The image format does not match.
7913     * @throws { BusinessError } 62980113 - Unknown image format.
7914     * @throws { BusinessError } 62980115 - Invalid image parameter.
7915     * @throws { BusinessError } 62980116 - Failed to decode the image.
7916     * @throws { BusinessError } 62980118 - Failed to create the image plugin.
7917     * @throws { BusinessError } 62980122 - Failed to decode the image header.
7918     * @throws { BusinessError } 62980123 - Images in EXIF format are not supported.
7919     * @throws { BusinessError } 62980135 - The EXIF value is invalid.
7920     * @syscap SystemCapability.Multimedia.Image.ImageSource
7921     * @crossplatform
7922     * @since 12
7923     */
7924    getImageProperty(key: PropertyKey, options?: ImagePropertyOptions): Promise<string>;
7925
7926    /**
7927     * Obtains the value of a property in an image with the specified index. This method uses a
7928     * promise to return the property value in a string.
7929     *
7930     * @param { string } key Name of the property whose value is to be obtained.
7931     * @param { GetImagePropertyOptions } options Index of the image.
7932     * @returns { Promise<string> } A Promise instance used to return the property value. If the operation fails, the default value is returned.
7933     * @syscap SystemCapability.Multimedia.Image.ImageSource
7934     * @since 7
7935     * @deprecated since 11
7936     * @useinstead image.ImageSource#getImageProperty
7937     */
7938    /**
7939     * Obtains the value of a property in an image with the specified index. This method uses a
7940     * promise to return the property value in a string.
7941     *
7942     * @param { string } key Name of the property whose value is to be obtained.
7943     * @param { GetImagePropertyOptions } options Index of the image.
7944     * @returns { Promise<string> } A Promise instance used to return the property value. If the operation fails, the default value is returned.
7945     * @syscap SystemCapability.Multimedia.Image.ImageSource
7946     * @crossplatform
7947     * @since 10
7948     * @deprecated since 11
7949     * @useinstead image.ImageSource#getImageProperty
7950     */
7951    getImageProperty(key: string, options?: GetImagePropertyOptions): Promise<string>;
7952
7953    /**
7954     * Obtains the value of a property in this image. This method uses a callback to return the
7955     * property value in a string.
7956     *
7957     * @param { string } key Name of the property whose value is to be obtained.
7958     * @param { AsyncCallback<string> } callback Callback used to return the property value. If the operation fails, an error message is returned.
7959     * @syscap SystemCapability.Multimedia.Image.ImageSource
7960     * @since 7
7961     * @deprecated since 11
7962     * @useinstead image.ImageSource#getImageProperty
7963     */
7964    /**
7965     * Obtains the value of a property in this image. This method uses a callback to return the
7966     * property value in a string.
7967     *
7968     * @param { string } key Name of the property whose value is to be obtained.
7969     * @param { AsyncCallback<string> } callback Callback used to return the property value. If the operation fails, an error message is returned.
7970     * @syscap SystemCapability.Multimedia.Image.ImageSource
7971     * @crossplatform
7972     * @since 10
7973     * @deprecated since 11
7974     * @useinstead image.ImageSource#getImageProperty
7975     */
7976    getImageProperty(key: string, callback: AsyncCallback<string>): void;
7977
7978    /**
7979     * Obtains the value of a property in an image with the specified index. This method uses
7980     * a callback to return the property value in a string.
7981     *
7982     * @param { string } key Name of the property whose value is to be obtained.
7983     * @param { GetImagePropertyOptions } options Index of the image.
7984     * @param { AsyncCallback<string> } callback Callback used to return the property value. If the operation fails, the default value is returned.
7985     * @syscap SystemCapability.Multimedia.Image.ImageSource
7986     * @since 7
7987     * @deprecated since 11
7988     * @useinstead image.ImageSource#getImageProperty
7989     */
7990    /**
7991     * Obtains the value of a property in an image with the specified index. This method uses
7992     * a callback to return the property value in a string.
7993     *
7994     * @param { string } key Name of the property whose value is to be obtained.
7995     * @param { GetImagePropertyOptions } options Index of the image.
7996     * @param { AsyncCallback<string> } callback Callback used to return the property value. If the operation fails, the default value is returned.
7997     * @syscap SystemCapability.Multimedia.Image.ImageSource
7998     * @crossplatform
7999     * @since 10
8000     * @deprecated since 11
8001     * @useinstead image.ImageSource#getImageProperty
8002     */
8003    getImageProperty(key: string, options: GetImagePropertyOptions, callback: AsyncCallback<string>): void;
8004
8005    /**
8006     * Obtains the value of properties in an image. This method uses a promise to return the property values in array
8007     * of records.
8008     *
8009     * @param { Array<PropertyKey> } key - Name of the properties whose value is to be obtained.
8010     * @returns { Promise<Record<PropertyKey, string|null>> } Array of Records instance used to return the
8011     * property values. If the operation fails, the null is returned.
8012     * @throws { BusinessError } 401 - Parameter error.Possible causes: 1.Mandatory parameters are left unspecified; 2.Incorrect parameter types; 3.Parameter verification failed;
8013     * @throws { BusinessError } 62980096 - The operation failed.
8014     * @throws { BusinessError } 62980110 - The image source data is incorrect.
8015     * @throws { BusinessError } 62980113 - Unknown image format.
8016     * @throws { BusinessError } 62980116 - Failed to decode the image.
8017     * @syscap SystemCapability.Multimedia.Image.ImageSource
8018     * @crossplatform
8019     * @since 12
8020     */
8021    getImageProperties(key: Array<PropertyKey>): Promise<Record<PropertyKey, string|null>>;
8022
8023    /**
8024     * Modify the value of a property in an image with the specified key. This method uses a
8025     * promise to return the property value in a string.
8026     *
8027     * @param { PropertyKey } key - Name of the property whose value is to be modified.
8028     * @param { string } value - The value to be set to property.
8029     * @returns { Promise<void> } A Promise instance used to return the property value.
8030     * @throws { BusinessError } 401 - Parameter error.Possible causes: 1.Mandatory parameters are left unspecified; 2.Incorrect parameter types;
8031     * @throws { BusinessError } 62980123 - Images in EXIF format are not supported.
8032     * @throws { BusinessError } 62980133 - The EXIF data is out of range.
8033     * @throws { BusinessError } 62980135 - The EXIF value is invalid.
8034     * @throws { BusinessError } 62980146 - The EXIF data failed to be written to the file.
8035     * @syscap SystemCapability.Multimedia.Image.ImageSource
8036     * @crossplatform
8037     * @since 11
8038     */
8039    /**
8040     * Modify the value of a property in an image with the specified key. This method uses a
8041     * promise to return the property value in a string.
8042     *
8043     * @param { PropertyKey } key - Name of the property whose value is to be modified.
8044     * @param { string } value - The value to be set to property.
8045     * @returns { Promise<void> } A Promise instance used to return the property value.
8046     * @throws { BusinessError } 401 - Parameter error.Possible causes: 1.Mandatory parameters are left unspecified; 2.Incorrect parameter types;
8047     * @throws { BusinessError } 62980123 - The image does not support EXIF decoding.
8048     * @throws { BusinessError } 62980133 - The EXIF data is out of range.
8049     * @throws { BusinessError } 62980135 - The EXIF value is invalid.
8050     * @throws { BusinessError } 62980146 - The EXIF data failed to be written to the file.
8051     * @syscap SystemCapability.Multimedia.Image.ImageSource
8052     * @crossplatform
8053     * @since 12
8054     */
8055    modifyImageProperty(key: PropertyKey, value: string): Promise<void>;
8056
8057    /**
8058     * Modify the value of a property in an image with the specified key. This method uses a
8059     * promise to return the property value in a string.
8060     *
8061     * @param { string } key Name of the property whose value is to be modified.
8062     * @param { string } value The value to be set to property.
8063     * @returns { Promise<void> } A Promise instance used to return the property value.
8064     * @syscap SystemCapability.Multimedia.Image.ImageSource
8065     * @since 9
8066     * @deprecated since 11
8067     * @useinstead image.ImageSource#modifyImageProperty
8068     */
8069    /**
8070     * Modify the value of a property in an image with the specified key. This method uses a
8071     * promise to return the property value in a string.
8072     *
8073     * @param { string } key Name of the property whose value is to be modified.
8074     * @param { string } value The value to be set to property.
8075     * @returns { Promise<void> } A Promise instance used to return the property value.
8076     * @syscap SystemCapability.Multimedia.Image.ImageSource
8077     * @crossplatform
8078     * @since 10
8079     * @deprecated since 11
8080     * @useinstead image.ImageSource#modifyImageProperty
8081     */
8082    modifyImageProperty(key: string, value: string): Promise<void>;
8083
8084    /**
8085     * Modify the value of a property in an image with the specified key. This method uses a callback to return the
8086     * property value in a string.
8087     *
8088     * @param { string } key Name of the property whose value is to be obtained.
8089     * @param { string } value The value to be set to property.
8090     * @param { AsyncCallback<void> } callback Callback to return the operation result.
8091     * @syscap SystemCapability.Multimedia.Image.ImageSource
8092     * @since 9
8093     * @deprecated since 11
8094     * @useinstead image.ImageSource#modifyImageProperty
8095     */
8096    /**
8097     * Modify the value of a property in an image with the specified key. This method uses a callback to return the
8098     * property value in a string.
8099     *
8100     * @param { string } key Name of the property whose value is to be obtained.
8101     * @param { string } value The value to be set to property.
8102     * @param { AsyncCallback<void> } callback Callback to return the operation result.
8103     * @syscap SystemCapability.Multimedia.Image.ImageSource
8104     * @crossplatform
8105     * @since 10
8106     * @deprecated since 11
8107     * @useinstead image.ImageSource#modifyImageProperty
8108     */
8109    modifyImageProperty(key: string, value: string, callback: AsyncCallback<void>): void;
8110
8111    /**
8112     * Modify the value of properties in an image with the specified keys.
8113     *
8114     * @param { Record<PropertyKey, string|null> } records - Array of the property Records whose values are to
8115     * be modified.
8116     * @returns { Promise<void> } A Promise instance used to return the operation result. If the operation fails, an
8117     * error message is returned.
8118     * @throws { BusinessError } 401 - Parameter error.Possible causes: 1.Mandatory parameters are left unspecified; 2.Incorrect parameter types; 3.Parameter verification failed;
8119     * @throws { BusinessError } 62980123 - The image does not support EXIF decoding.
8120     * @throws { BusinessError } 62980133 - The EXIF data is out of range.
8121     * @throws { BusinessError } 62980135 - The EXIF value is invalid.
8122     * @throws { BusinessError } 62980146 - The EXIF data failed to be written to the file.
8123     * @syscap SystemCapability.Multimedia.Image.ImageSource
8124     * @crossplatform
8125     * @since 12
8126     */
8127    modifyImageProperties(records: Record<PropertyKey, string|null>): Promise<void>;
8128
8129    /**
8130     * Update the data in the incremental ImageSource.
8131     *
8132     * @param { ArrayBuffer } buf The data to be updated.
8133     * @param { boolean } isFinished If is it finished.
8134     * @param { number } value The offset of data.
8135     * @param { number } length The length fo buf.
8136     * @returns { Promise<void> } A Promise instance used to return the property value.
8137     * @syscap SystemCapability.Multimedia.Image.ImageSource
8138     * @since 9
8139     */
8140    /**
8141     * Update the data in the incremental ImageSource.
8142     *
8143     * @param { ArrayBuffer } buf The data to be updated.
8144     * @param { boolean } isFinished If is it finished.
8145     * @param { number } value The offset of data.
8146     * @param { number } length The length fo buf.
8147     * @returns { Promise<void> } A Promise instance used to return the property value.
8148     * @syscap SystemCapability.Multimedia.Image.ImageSource
8149     * @crossplatform
8150     * @since 10
8151     */
8152    /**
8153     * Update the data in the incremental ImageSource.
8154     *
8155     * @param { ArrayBuffer } buf The data to be updated.
8156     * @param { boolean } isFinished If is it finished.
8157     * @param { number } offset The offset of data.
8158     * @param { number } length The length fo buf.
8159     * @returns { Promise<void> } A Promise instance used to return the property value.
8160     * @syscap SystemCapability.Multimedia.Image.ImageSource
8161     * @crossplatform
8162     * @since 11
8163     */
8164    updateData(buf: ArrayBuffer, isFinished: boolean, offset: number, length: number): Promise<void>;
8165
8166    /**
8167     * Update the data in the incremental ImageSource.
8168     *
8169     * @param { ArrayBuffer } buf The data to be updated.
8170     * @param { boolean } isFinished If is it finished.
8171     * @param { number } value The offset of data.
8172     * @param { number } length The length fo buf.
8173     * @param { AsyncCallback<void> } callback Callback to return the operation result.
8174     * @syscap SystemCapability.Multimedia.Image.ImageSource
8175     * @since 9
8176     */
8177    /**
8178     * Update the data in the incremental ImageSource.
8179     *
8180     * @param { ArrayBuffer } buf The data to be updated.
8181     * @param { boolean } isFinished If is it finished.
8182     * @param { number } value The offset of data.
8183     * @param { number } length The length fo buf.
8184     * @param { AsyncCallback<void> } callback Callback to return the operation result.
8185     * @syscap SystemCapability.Multimedia.Image.ImageSource
8186     * @crossplatform
8187     * @since 10
8188     */
8189    /**
8190     * Update the data in the incremental ImageSource.
8191     *
8192     * @param { ArrayBuffer } buf The data to be updated.
8193     * @param { boolean } isFinished If is it finished.
8194     * @param { number } offset The offset of data.
8195     * @param { number } length The length fo buf.
8196     * @param { AsyncCallback<void> } callback Callback to return the operation result.
8197     * @syscap SystemCapability.Multimedia.Image.ImageSource
8198     * @crossplatform
8199     * @since 11
8200     */
8201    updateData(
8202      buf: ArrayBuffer,
8203      isFinished: boolean,
8204      offset: number,
8205      length: number,
8206      callback: AsyncCallback<void>
8207    ): void;
8208
8209    /**
8210     * Releases an ImageSource instance and uses a callback to return the result.
8211     *
8212     * @param { AsyncCallback<void> } callback Callback to return the operation result.
8213     * @syscap SystemCapability.Multimedia.Image.ImageSource
8214     * @since 6
8215     */
8216    /**
8217     * Releases an ImageSource instance and uses a callback to return the result.
8218     *
8219     * @param { AsyncCallback<void> } callback Callback to return the operation result.
8220     * @syscap SystemCapability.Multimedia.Image.ImageSource
8221     * @crossplatform
8222     * @since 10
8223     */
8224    release(callback: AsyncCallback<void>): void;
8225
8226    /**
8227     * Releases an ImageSource instance and uses a promise to return the result.
8228     *
8229     * @returns { Promise<void> } A Promise instance used to return the operation result.
8230     * @syscap SystemCapability.Multimedia.Image.ImageSource
8231     * @since 6
8232     */
8233    /**
8234     * Releases an ImageSource instance and uses a promise to return the result.
8235     *
8236     * @returns { Promise<void> } A Promise instance used to return the operation result.
8237     * @syscap SystemCapability.Multimedia.Image.ImageSource
8238     * @crossplatform
8239     * @since 10
8240     */
8241    release(): Promise<void>;
8242
8243    /**
8244     * Creates a Picture object based on image decoding parameters. This method uses a promise to
8245     * return the object.
8246     *
8247     * @param { DecodingOptionsForPicture } options Image decoding parameters.
8248     * @returns { Promise<Picture> } A Promise instance used to return the Picture object.
8249     * @throws { BusinessError } 401 - Parameter error.Possible causes: 1.Mandatory parameters are left unspecified.
8250     * 2.Incorrect parameter types; 3.Parameter verification failed.
8251     * @throws { BusinessError } 7700301 - Decode failed.
8252     * @syscap SystemCapability.Multimedia.Image.ImageSource
8253     * @since 13
8254     */
8255    createPicture(options?: DecodingOptionsForPicture): Promise<Picture>
8256
8257    /**
8258     * Supported image formats.
8259     *
8260     * @type { Array<string> }
8261     * @syscap SystemCapability.Multimedia.Image.ImageSource
8262     * @since 6
8263     */
8264    /**
8265     * Supported image formats.
8266     *
8267     * @type { Array<string> }
8268     * @syscap SystemCapability.Multimedia.Image.ImageSource
8269     * @crossplatform
8270     * @since 10
8271     */
8272    readonly supportedFormats: Array<string>;
8273  }
8274
8275  /**
8276   * ImagePacker instance.
8277   *
8278   * @typedef ImagePacker
8279   * @syscap SystemCapability.Multimedia.Image.ImagePacker
8280   * @since 6
8281   */
8282  /**
8283   * ImagePacker instance.
8284   *
8285   * @typedef ImagePacker
8286   * @syscap SystemCapability.Multimedia.Image.ImagePacker
8287   * @crossplatform
8288   * @since 10
8289   */
8290  /**
8291   * ImagePacker instance.
8292   *
8293   * @typedef ImagePacker
8294   * @syscap SystemCapability.Multimedia.Image.ImagePacker
8295   * @crossplatform
8296   * @atomicservice
8297   * @since 11
8298   */
8299  interface ImagePacker {
8300    /**
8301     * Compresses or packs an image and uses a callback to return the result.
8302     *
8303     * @param { ImageSource } source Image to be processed.
8304     * @param { PackingOption } option Option for image packing.
8305     * @param { AsyncCallback<ArrayBuffer> } callback Callback used to return the packed data.
8306     * @syscap SystemCapability.Multimedia.Image.ImagePacker
8307     * @since 6
8308     * @deprecated since 13
8309     * @useinstead image.ImagePacker#packToData
8310     */
8311    /**
8312     * Compresses or packs an image and uses a callback to return the result.
8313     *
8314     * @param { ImageSource } source Image to be processed.
8315     * @param { PackingOption } option Option for image packing.
8316     * @param { AsyncCallback<ArrayBuffer> } callback Callback used to return the packed data.
8317     * @syscap SystemCapability.Multimedia.Image.ImagePacker
8318     * @crossplatform
8319     * @since 10
8320     * @deprecated since 13
8321     * @useinstead image.ImagePacker#packToData
8322     */
8323    /**
8324     * Compresses or packs an image and uses a callback to return the result.
8325     *
8326     * @param { ImageSource } source Image to be processed.
8327     * @param { PackingOption } option Option for image packing.
8328     * @param { AsyncCallback<ArrayBuffer> } callback Callback used to return the packed data.
8329     * @syscap SystemCapability.Multimedia.Image.ImagePacker
8330     * @crossplatform
8331     * @atomicservice
8332     * @since 11
8333     * @deprecated since 13
8334     * @useinstead image.ImagePacker#packToData
8335     */
8336    packing(source: ImageSource, option: PackingOption, callback: AsyncCallback<ArrayBuffer>): void;
8337
8338    /**
8339     * Compresses or packs an image and uses a promise to return the result.
8340     *
8341     * @param { ImageSource } source Image to be processed.
8342     * @param { PackingOption } option Option for image packing.
8343     * @returns { Promise<ArrayBuffer> } A Promise instance used to return the compressed or packed data.
8344     * @syscap SystemCapability.Multimedia.Image.ImagePacker
8345     * @since 6
8346     * @deprecated since 13
8347     * @useinstead image.ImagePacker#packToData
8348     */
8349    /**
8350     * Compresses or packs an image and uses a promise to return the result.
8351     *
8352     * @param { ImageSource } source Image to be processed.
8353     * @param { PackingOption } option Option for image packing.
8354     * @returns { Promise<ArrayBuffer> } A Promise instance used to return the compressed or packed data.
8355     * @syscap SystemCapability.Multimedia.Image.ImagePacker
8356     * @crossplatform
8357     * @since 10
8358     * @deprecated since 13
8359     * @useinstead image.ImagePacker#packToData
8360     */
8361    /**
8362     * Compresses or packs an image and uses a promise to return the result.
8363     *
8364     * @param { ImageSource } source Image to be processed.
8365     * @param { PackingOption } option Option for image packing.
8366     * @returns { Promise<ArrayBuffer> } A Promise instance used to return the compressed or packed data.
8367     * @syscap SystemCapability.Multimedia.Image.ImagePacker
8368     * @crossplatform
8369     * @atomicservice
8370     * @since 11
8371     * @deprecated since 13
8372     * @useinstead image.ImagePacker#packToData
8373     */
8374    packing(source: ImageSource, option: PackingOption): Promise<ArrayBuffer>;
8375
8376    /**
8377     * Compresses or packs an image and uses a promise to return the result.
8378     *
8379     * @param { ImageSource } source Image to be processed.
8380     * @param { PackingOption } options Option for image packing.
8381     * @returns { Promise<ArrayBuffer> } A Promise instance used to return the compressed or packed data.
8382     * @throws { BusinessError } 401 - If the parameter is invalid.
8383     * @throws { BusinessError } 62980096 - The Operation failed.
8384     * @throws { BusinessError } 62980101 - The image data is abnormal.
8385     * @throws { BusinessError } 62980106 - The image is too large.
8386     * @throws { BusinessError } 62980113 - Unknown image format.
8387     * @throws { BusinessError } 62980119 - If encoder occur error during encoding.
8388     * @throws { BusinessError } 62980120 - Add pixelmap out of range.
8389     * @throws { BusinessError } 62980172 - Failed to encode icc.
8390     * @throws { BusinessError } 62980252 - Failed to create surface.
8391     * @syscap SystemCapability.Multimedia.Image.ImagePacker
8392     * @crossplatform
8393     * @atomicservice
8394     * @since 13
8395     */
8396    packToData(source: ImageSource, options: PackingOption): Promise<ArrayBuffer>;
8397
8398    /**
8399     * Compresses or packs an image and uses a callback to return the result.
8400     *
8401     * @param { PixelMap } source PixelMap to be processed.
8402     * @param { PackingOption } option Option for image packing.
8403     * @param { AsyncCallback<ArrayBuffer> } callback Callback used to return the packed data.
8404     * @syscap SystemCapability.Multimedia.Image.ImagePacker
8405     * @since 8
8406     * @deprecated since 13
8407     * @useinstead image.ImagePacker#packToData
8408     */
8409    /**
8410     * Compresses or packs an image and uses a callback to return the result.
8411     *
8412     * @param { PixelMap } source PixelMap 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     * @crossplatform
8417     * @since 10
8418     * @deprecated since 13
8419     * @useinstead image.ImagePacker#packToData
8420     */
8421    /**
8422     * Compresses or packs an image and uses a callback to return the result.
8423     *
8424     * @param { PixelMap } source PixelMap to be processed.
8425     * @param { PackingOption } option Option for image packing.
8426     * @param { AsyncCallback<ArrayBuffer> } callback Callback used to return the packed data.
8427     * @syscap SystemCapability.Multimedia.Image.ImagePacker
8428     * @crossplatform
8429     * @atomicservice
8430     * @since 11
8431     * @deprecated since 13
8432     * @useinstead image.ImagePacker#packToData
8433     */
8434    packing(source: PixelMap, option: PackingOption, callback: AsyncCallback<ArrayBuffer>): void;
8435
8436    /**
8437     * Compresses or packs an image and uses a promise to return the result.
8438     *
8439     * @param { PixelMap } source PixelMap to be processed.
8440     * @param { PackingOption } option Option for image packing.
8441     * @returns { Promise<ArrayBuffer> } A Promise instance used to return the compressed or packed data.
8442     * @syscap SystemCapability.Multimedia.Image.ImagePacker
8443     * @since 8
8444     * @deprecated since 13
8445     * @useinstead image.ImagePacker#packToData
8446     */
8447    /**
8448     * Compresses or packs an image and uses a promise to return the result.
8449     *
8450     * @param { PixelMap } source PixelMap 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     * @crossplatform
8455     * @since 10
8456     * @deprecated since 13
8457     * @useinstead image.ImagePacker#packToData
8458     */
8459    /**
8460     * Compresses or packs an image and uses a promise to return the result.
8461     *
8462     * @param { PixelMap } source PixelMap to be processed.
8463     * @param { PackingOption } option Option for image packing.
8464     * @returns { Promise<ArrayBuffer> } A Promise instance used to return the compressed or packed data.
8465     * @syscap SystemCapability.Multimedia.Image.ImagePacker
8466     * @crossplatform
8467     * @atomicservice
8468     * @since 11
8469     * @deprecated since 13
8470     * @useinstead image.ImagePacker#packToData
8471     */
8472    packing(source: PixelMap, option: PackingOption): Promise<ArrayBuffer>;
8473
8474    /**
8475     * Compresses or packs an image and uses a promise to return the result.
8476     *
8477     * @param { PixelMap } source PixelMap to be processed.
8478     * @param { PackingOption } options Option for image packing.
8479     * @returns { Promise<ArrayBuffer> } A Promise instance used to return the compressed or packed data.
8480     * @throws { BusinessError } 401 - If the parameter is invalid.
8481     * @throws { BusinessError } 62980096 - The Operation failed.
8482     * @throws { BusinessError } 62980101 - The image data is abnormal.
8483     * @throws { BusinessError } 62980106 - The image is too large.
8484     * @throws { BusinessError } 62980113 - Unknown image format.
8485     * @throws { BusinessError } 62980119 - If encoder occur error during encoding.
8486     * @throws { BusinessError } 62980120 - Add pixelmap out of range.
8487     * @throws { BusinessError } 62980172 - Failed to encode icc.
8488     * @throws { BusinessError } 62980252 - Failed to create surface.
8489     * @syscap SystemCapability.Multimedia.Image.ImagePacker
8490     * @crossplatform
8491     * @atomicservice
8492     * @since 13
8493     */
8494    packToData(source: PixelMap, options: PackingOption): Promise<ArrayBuffer>;
8495
8496    /**
8497     * Compresses or packs an image into a file and uses a callback to return the result.
8498     *
8499     * @param { ImageSource } source Image to be processed.
8500     * @param { number } fd ID of a file descriptor.
8501     * @param { PackingOption } options Options for image packing.
8502     * @param { AsyncCallback<void> } callback Callback used to return the operation result.
8503     * @throws { BusinessError } 62980096 - The Operation failed.
8504     * @throws { BusinessError } 62980101 - The image data is abnormal.
8505     * @throws { BusinessError } 62980106 - The image is too large.
8506     * @throws { BusinessError } 62980113 - Unknown image format.
8507     * @throws { BusinessError } 62980115 - If the parameter is invalid.
8508     * @throws { BusinessError } 62980119 - If encoder occur error during encoding.
8509     * @throws { BusinessError } 62980120 - Add pixelmap out of range.
8510     * @throws { BusinessError } 62980172 - Failed to encode icc.
8511     * @throws { BusinessError } 62980252 - Failed to create surface.
8512     * @syscap SystemCapability.Multimedia.Image.ImagePacker
8513     * @crossplatform
8514     * @since 11
8515     */
8516    packToFile(source: ImageSource, fd: number, options: PackingOption, callback: AsyncCallback<void>): void;
8517
8518    /**
8519     * Compresses or packs an image into a file and uses a promise to return the result.
8520     *
8521     * @param { ImageSource } source Image to be processed.
8522     * @param { number } fd ID of a file descriptor.
8523     * @param { PackingOption } options Options for image packing.
8524     * @returns { Promise<void> } A Promise instance used to return the operation result.
8525     * @throws { BusinessError } 62980096 - The Operation failed.
8526     * @throws { BusinessError } 62980101 - The image data is abnormal.
8527     * @throws { BusinessError } 62980106 - The image is too large.
8528     * @throws { BusinessError } 62980113 - Unknown image format.
8529     * @throws { BusinessError } 62980115 - If the parameter is invalid.
8530     * @throws { BusinessError } 62980119 - If encoder occur error during encoding.
8531     * @throws { BusinessError } 62980120 - Add pixelmap out of range.
8532     * @throws { BusinessError } 62980172 - Failed to encode icc.
8533     * @throws { BusinessError } 62980252 - Failed to create surface.
8534     * @syscap SystemCapability.Multimedia.Image.ImagePacker
8535     * @crossplatform
8536     * @since 11
8537     */
8538    packToFile(source: ImageSource, fd: number, options: PackingOption): Promise<void>;
8539
8540    /**
8541     * Compresses or packs an image into a file and uses a callback to return the result.
8542     *
8543     * @param { PixelMap } source PixelMap to be processed.
8544     * @param { number } fd ID of a file descriptor.
8545     * @param { PackingOption } options Options for image packing.
8546     * @param { AsyncCallback<void> } callback Callback used to return the operation result.
8547     * @throws { BusinessError } 62980096 - The Operation failed.
8548     * @throws { BusinessError } 62980101 - The image data is abnormal.
8549     * @throws { BusinessError } 62980106 - The image is too large.
8550     * @throws { BusinessError } 62980113 - Unknown image format.
8551     * @throws { BusinessError } 62980115 - If the parameter is invalid.
8552     * @throws { BusinessError } 62980119 - If encoder occur error during encoding.
8553     * @throws { BusinessError } 62980120 - Add pixelmap out of range.
8554     * @throws { BusinessError } 62980172 - Failed to encode icc.
8555     * @throws { BusinessError } 62980252 - Failed to create surface.
8556     * @syscap SystemCapability.Multimedia.Image.ImagePacker
8557     * @crossplatform
8558     * @since 11
8559     */
8560    packToFile(source: PixelMap, fd: number, options: PackingOption, callback: AsyncCallback<void>): void;
8561
8562    /**
8563     * Compresses or packs an image into a file and uses a promise to return the result.
8564     *
8565     * @param { PixelMap } source PixelMap to be processed.
8566     * @param { number } fd ID of a file descriptor.
8567     * @param { PackingOption } options Options for image packing.
8568     * @returns { Promise<void> } A Promise instance used to return the operation result.
8569     * @throws { BusinessError } 62980096 - The Operation failed.
8570     * @throws { BusinessError } 62980101 - The image data is abnormal.
8571     * @throws { BusinessError } 62980106 - The image is too large.
8572     * @throws { BusinessError } 62980113 - Unknown image format.
8573     * @throws { BusinessError } 62980115 - If the parameter is invalid.
8574     * @throws { BusinessError } 62980119 - If encoder occur error during encoding.
8575     * @throws { BusinessError } 62980120 - Add pixelmap out of range.
8576     * @throws { BusinessError } 62980172 - Failed to encode icc.
8577     * @throws { BusinessError } 62980252 - Failed to create surface.
8578     * @syscap SystemCapability.Multimedia.Image.ImagePacker
8579     * @crossplatform
8580     * @since 11
8581     */
8582    packToFile(source: PixelMap, fd: number, options: PackingOption): Promise<void>;
8583
8584     /**
8585     * Releases an ImagePacker instance and uses a callback to return the result.
8586     *
8587     * @param { AsyncCallback<void> } callback Callback to return the operation result.
8588     * @syscap SystemCapability.Multimedia.Image.ImagePacker
8589     * @since 6
8590     */
8591    /**
8592     * Releases an ImagePacker instance and uses a callback to return the result.
8593     *
8594     * @param { AsyncCallback<void> } callback Callback to return the operation result.
8595     * @syscap SystemCapability.Multimedia.Image.ImagePacker
8596     * @crossplatform
8597     * @since 10
8598     */
8599    release(callback: AsyncCallback<void>): void;
8600
8601    /**
8602     * Releases an ImagePacker instance and uses a promise to return the result.
8603     *
8604     * @returns { Promise<void> } A Promise instance used to return the operation result.
8605     * @syscap SystemCapability.Multimedia.Image.ImagePacker
8606     * @since 6
8607     */
8608    /**
8609     * Releases an ImagePacker instance and uses a promise to return the result.
8610     *
8611     * @returns { Promise<void> } A Promise instance used to return the operation result.
8612     * @syscap SystemCapability.Multimedia.Image.ImagePacker
8613     * @crossplatform
8614     * @since 10
8615     */
8616    release(): Promise<void>;
8617
8618    /**
8619     * Compresses or packs an image and uses a promise to return the result.
8620     *
8621     * @param { Picture } picture Picture to be processed.
8622     * @param { PackingOption } options Option for image packing.
8623     * @returns { Promise<ArrayBuffer> } A Promise instance used to return the compressed or packed data.
8624     * @throws { BusinessError } 401 - Parameter error.Possible causes: 1.Mandatory parameters are left unspecified.
8625     * 2.Incorrect parameter types. 3.Parameter verification failed.
8626     * @throws { BusinessError } 7800301 - Encode failed.
8627     * @syscap SystemCapability.Multimedia.Image.ImagePacker
8628     * @since 13
8629     */
8630    packing(picture: Picture, options: PackingOption): Promise<ArrayBuffer>;
8631
8632    /**
8633     * Compresses or packs an image into a file and uses a promise to return the result.
8634     *
8635     * @param { Picture } picture Picture to be processed.
8636     * @param { number } fd ID of a file descriptor.
8637     * @param { PackingOption } options Options for image packing.
8638     * @returns { Promise<void> } A Promise instance used to return the operation result.
8639     * @throws { BusinessError } 401 - Parameter error.Possible causes: 1.Mandatory parameters are left unspecified.
8640     * 2.Incorrect parameter types. 3.Parameter verification failed.
8641     * @throws { BusinessError } 7800301 - Encode failed.
8642     * @syscap SystemCapability.Multimedia.Image.ImagePacker
8643     * @since 13
8644     */
8645    packToFile(picture: Picture, fd: number, options: PackingOption): Promise<void>
8646
8647    /**
8648     * Supported image formats.
8649     *
8650     * @type { Array<string> }
8651     * @syscap SystemCapability.Multimedia.Image.ImagePacker
8652     * @since 6
8653     */
8654    /**
8655     * Supported image formats.
8656     *
8657     * @type { Array<string> }
8658     * @syscap SystemCapability.Multimedia.Image.ImagePacker
8659     * @crossplatform
8660     * @since 10
8661     */
8662    readonly supportedFormats: Array<string>;
8663  }
8664
8665  /**
8666   * Provides basic image operations, including obtaining image information, and reading and writing image data.
8667   *
8668   * @typedef Image
8669   * @syscap SystemCapability.Multimedia.Image.Core
8670   * @since 9
8671   */
8672  interface Image {
8673    /**
8674     * Sets or gets the image area to crop, default is size.
8675     *
8676     * @type { Region }
8677     * @syscap SystemCapability.Multimedia.Image.Core
8678     * @since 9
8679     */
8680    clipRect: Region;
8681
8682    /**
8683     * Image size.
8684     *
8685     * @type { Size }
8686     * @syscap SystemCapability.Multimedia.Image.Core
8687     * @since 9
8688     */
8689    readonly size: Size;
8690
8691    /**
8692     * Image format.
8693     *
8694     * @type { number }
8695     * @syscap SystemCapability.Multimedia.Image.Core
8696     * @since 9
8697     */
8698    readonly format: number;
8699
8700    /**
8701     * Image timestamp.
8702     *
8703     * @type { number }
8704     * @syscap SystemCapability.Multimedia.Image.Core
8705     * @since 12
8706     */
8707    readonly timestamp: number;
8708
8709    /**
8710     * Get component buffer from image and uses a callback to return the result.
8711     *
8712     * @param { ComponentType } componentType The component type of image.
8713     * @param { AsyncCallback<Component> } callback Callback used to return the component buffer.
8714     * @syscap SystemCapability.Multimedia.Image.Core
8715     * @since 9
8716     */
8717    getComponent(componentType: ComponentType, callback: AsyncCallback<Component>): void;
8718
8719    /**
8720     * Get component buffer from image and uses a promise to return the result.
8721     *
8722     * @param { ComponentType } componentType The component type of image.
8723     * @returns { Promise<Component> } A Promise instance used to return the component buffer.
8724     * @syscap SystemCapability.Multimedia.Image.Core
8725     * @since 9
8726     */
8727    getComponent(componentType: ComponentType): Promise<Component>;
8728
8729    /**
8730     * Release current image to receive another and uses a callback to return the result.
8731     *
8732     * @param { AsyncCallback<void> } callback Callback to return the operation result.
8733     * @syscap SystemCapability.Multimedia.Image.Core
8734     * @since 9
8735     */
8736    release(callback: AsyncCallback<void>): void;
8737
8738    /**
8739     * Release current image to receive another and uses a promise to return the result.
8740     *
8741     * @returns { Promise<void> } A Promise instance used to return the operation result.
8742     * @syscap SystemCapability.Multimedia.Image.Core
8743     * @since 9
8744     */
8745    release(): Promise<void>;
8746  }
8747
8748  /**
8749   * Image receiver object.
8750   *
8751   * @typedef ImageReceiver
8752   * @syscap SystemCapability.Multimedia.Image.ImageReceiver
8753   * @since 9
8754   */
8755  interface ImageReceiver {
8756    /**
8757     * Image size.
8758     *
8759     * @type { Size }
8760     * @syscap SystemCapability.Multimedia.Image.ImageReceiver
8761     * @since 9
8762     */
8763    readonly size: Size;
8764
8765    /**
8766     * Image capacity.
8767     *
8768     * @type { number }
8769     * @syscap SystemCapability.Multimedia.Image.ImageReceiver
8770     * @since 9
8771     */
8772    readonly capacity: number;
8773
8774    /**
8775     * Image format.
8776     *
8777     * @type { ImageFormat }
8778     * @syscap SystemCapability.Multimedia.Image.ImageReceiver
8779     * @since 9
8780     */
8781    readonly format: ImageFormat;
8782
8783    /**
8784     * Get an id which indicates a surface and can be used to set to Camera or other component can receive a surface
8785     * and uses a callback to return the result.
8786     *
8787     * @param { AsyncCallback<string> } callback Callback used to return the surface id.
8788     * @syscap SystemCapability.Multimedia.Image.ImageReceiver
8789     * @since 9
8790     */
8791    getReceivingSurfaceId(callback: AsyncCallback<string>): void;
8792
8793    /**
8794     * Get an id which indicates a surface and can be used to set to Camera or other component can receive a surface
8795     * and uses a promise to return the result.
8796     *
8797     * @returns { Promise<string> } A Promise instance used to return the surface id.
8798     * @syscap SystemCapability.Multimedia.Image.ImageReceiver
8799     * @since 9
8800     */
8801    getReceivingSurfaceId(): Promise<string>;
8802
8803    /**
8804     * Get lasted image from receiver and uses a callback to return the result.
8805     *
8806     * @param { AsyncCallback<Image> } callback Callback used to return the latest image.
8807     * @syscap SystemCapability.Multimedia.Image.ImageReceiver
8808     * @since 9
8809     */
8810    readLatestImage(callback: AsyncCallback<Image>): void;
8811
8812    /**
8813     * Get lasted image from receiver and uses a promise to return the result.
8814     *
8815     * @returns { Promise<Image> } A Promise instance used to return the latest image.
8816     * @syscap SystemCapability.Multimedia.Image.ImageReceiver
8817     * @since 9
8818     */
8819    readLatestImage(): Promise<Image>;
8820
8821    /**
8822     * Get next image from receiver and uses a callback to return the result.
8823     *
8824     * @param { AsyncCallback<Image> } callback Callback used to return the next image.
8825     * @syscap SystemCapability.Multimedia.Image.ImageReceiver
8826     * @since 9
8827     */
8828    readNextImage(callback: AsyncCallback<Image>): void;
8829
8830    /**
8831     * Get next image from receiver and uses a promise to return the result.
8832     *
8833     * @returns { Promise<Image> } A Promise instance used to return the next image.
8834     * @syscap SystemCapability.Multimedia.Image.ImageReceiver
8835     * @since 9
8836     */
8837    readNextImage(): Promise<Image>;
8838
8839    /**
8840     * Subscribe callback when receiving an image
8841     *
8842     * @param { 'imageArrival' } type Callback used to return the next image.
8843     * @param { AsyncCallback<void> } callback Callback used to return image.
8844     * @syscap SystemCapability.Multimedia.Image.ImageReceiver
8845     * @since 9
8846     */
8847    on(type: 'imageArrival', callback: AsyncCallback<void>): void;
8848
8849    /**
8850     * Remove callback subscriptions when releasing buffer
8851     *
8852     * @param { 'imageArrival' } type - Event type.
8853     * @param { AsyncCallback<void> } callback Callback to be removed.
8854     * @syscap SystemCapability.Multimedia.Image.ImageReceiver
8855     * @since 13
8856     */
8857    off(type: 'imageArrival', callback?: AsyncCallback<void>): void;
8858
8859    /**
8860     * Release image receiver instance and uses a callback to return the result.
8861     *
8862     * @param { AsyncCallback<void> } callback Callback to return the operation result.
8863     * @syscap SystemCapability.Multimedia.Image.ImageReceiver
8864     * @since 9
8865     */
8866    release(callback: AsyncCallback<void>): void;
8867
8868    /**
8869     * Release image receiver instance and uses a promise to return the result.
8870     *
8871     * @returns { Promise<void> } A Promise instance used to return the operation result.
8872     * @syscap SystemCapability.Multimedia.Image.ImageReceiver
8873     * @since 9
8874     */
8875    release(): Promise<void>;
8876  }
8877
8878  /**
8879   * Image creator object.
8880   *
8881   * @typedef ImageCreator
8882   * @syscap SystemCapability.Multimedia.Image.ImageCreator
8883   * @since 9
8884   */
8885  interface ImageCreator {
8886    /**
8887     * Image capacity.
8888     *
8889     * @type { number }
8890     * @syscap SystemCapability.Multimedia.Image.ImageCreator
8891     * @since 9
8892     */
8893    readonly capacity: number;
8894
8895    /**
8896     * Image format.
8897     *
8898     * @type { ImageFormat }
8899     * @syscap SystemCapability.Multimedia.Image.ImageCreator
8900     * @since 9
8901     */
8902    readonly format: ImageFormat;
8903
8904    /**
8905     * Apply for new graphic buffer from free queue and use a callback to return the result.
8906     *
8907     * @param { AsyncCallback<Image> } callback Callback to return the operation result.
8908     * @syscap SystemCapability.Multimedia.Image.ImageCreator
8909     * @since 9
8910     */
8911    dequeueImage(callback: AsyncCallback<Image>): void;
8912
8913    /**
8914     * Apply for new graphic buffer from free queue and uses a promise to return the result.
8915     *
8916     * @returns { Promise<Image> } A Promise instance used to return the operation result.
8917     * @syscap SystemCapability.Multimedia.Image.ImageCreator
8918     * @since 9
8919     */
8920    dequeueImage(): Promise<Image>;
8921
8922    /**
8923     * Queue buffer to dirty queue and uses a callback to return the result.
8924     *
8925     * @param { Image } interface
8926     * @param { AsyncCallback<void> } callback Callback to return the operation result.
8927     * @syscap SystemCapability.Multimedia.Image.ImageCreator
8928     * @since 9
8929     */
8930    queueImage(interface: Image, callback: AsyncCallback<void>): void;
8931
8932    /**
8933     * Queue buffer to dirty queue and uses a promise to return the result.
8934     *
8935     * @param { Image } interface
8936     * @returns { Promise<void> } A Promise instance used to return the operation result.
8937     * @syscap SystemCapability.Multimedia.Image.ImageCreator
8938     * @since 9
8939     */
8940    queueImage(interface: Image): Promise<void>;
8941
8942    /**
8943     * Subscribe callback when releasing buffer
8944     *
8945     * @param { 'imageRelease' } type Callback used to return the operation result.
8946     * @param { AsyncCallback<void> } callback Callback used to return the operation result.
8947     * @syscap SystemCapability.Multimedia.Image.ImageCreator
8948     * @since 9
8949     */
8950    on(type: 'imageRelease', callback: AsyncCallback<void>): void;
8951
8952    /**
8953     * Remove callback subscriptions when releasing buffer
8954     *
8955     * @param { 'imageRelease' } type - Event type.
8956     * @param { AsyncCallback<void> } callback Callback to be removed.
8957     * @syscap SystemCapability.Multimedia.Image.ImageCreator
8958     * @since 13
8959     */
8960    off(type: 'imageRelease', callback?: AsyncCallback<void>): void;
8961
8962    /**
8963     * Releases buffer in bufferqueue instance and uses a callback to return the result.
8964     *
8965     * @param { AsyncCallback<void> } callback Callback to return the operation result.
8966     * @syscap SystemCapability.Multimedia.Image.ImageCreator
8967     * @since 9
8968     */
8969    release(callback: AsyncCallback<void>): void;
8970
8971    /**
8972     * Releases buffer in bufferqueue instance and uses a promise to return the result.
8973     *
8974     * @returns { Promise<void> } A Promise instance used to return the operation result.
8975     * @syscap SystemCapability.Multimedia.Image.ImageCreator
8976     * @since 9
8977     */
8978    release(): Promise<void>;
8979  }
8980}
8981
8982export default image;
8983