• 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  /**
409   * Enumerates image resolution quality.
410   *
411   * @enum { number }
412   * @syscap SystemCapability.Multimedia.Image.Core
413   * @systemapi
414   * @since 12
415   */
416  enum ResolutionQuality {
417    /**
418     * Low quality images, short decoding time.
419     *
420     * @syscap SystemCapability.Multimedia.Image.Core
421     * @systemapi
422     * @since 12
423     */
424    LOW = 1,
425
426    /**
427     * Medium quality images, moderate decoding time.
428     *
429     * @syscap SystemCapability.Multimedia.Image.Core
430     * @systemapi
431     * @since 12
432     */
433    MEDIUM = 2,
434
435    /**
436     * High quality images, longer decoding time.
437     *
438     * @syscap SystemCapability.Multimedia.Image.Core
439     * @systemapi
440     * @since 12
441     */
442    HIGH = 3
443  }
444
445  /**
446   * Describes the size of an image.
447   *
448   * @typedef Size
449   * @syscap SystemCapability.Multimedia.Image.Core
450   * @since 6
451   */
452  /**
453   * Describes the size of an image.
454   *
455   * @typedef Size
456   * @syscap SystemCapability.Multimedia.Image.Core
457   * @crossplatform
458   * @since 10
459   */
460  /**
461   * Describes the size of an image.
462   *
463   * @typedef Size
464   * @syscap SystemCapability.Multimedia.Image.Core
465   * @crossplatform
466   * @atomicservice
467   * @since 11
468   */
469  /**
470   * Describes the size of an image.
471   *
472   * @typedef Size
473   * @syscap SystemCapability.Multimedia.Image.Core
474   * @crossplatform
475   * @form
476   * @atomicservice
477   * @since 12
478   */
479  interface Size {
480    /**
481     * Height
482     *
483     * @type { number }
484     * @syscap SystemCapability.Multimedia.Image.Core
485     * @since 6
486     */
487    /**
488     * Height
489     *
490     * @type { number }
491     * @syscap SystemCapability.Multimedia.Image.Core
492     * @crossplatform
493     * @since 10
494     */
495    /**
496     * Height
497     *
498     * @type { number }
499     * @syscap SystemCapability.Multimedia.Image.Core
500     * @crossplatform
501     * @atomicservice
502     * @since 11
503     */
504    /**
505     * Height
506     *
507     * @type { number }
508     * @syscap SystemCapability.Multimedia.Image.Core
509     * @crossplatform
510     * @form
511     * @atomicservice
512     * @since 12
513     */
514    height: number;
515
516    /**
517     * Width
518     *
519     * @type { number }
520     * @syscap SystemCapability.Multimedia.Image.Core
521     * @since 6
522     */
523    /**
524     * Width
525     *
526     * @type { number }
527     * @syscap SystemCapability.Multimedia.Image.Core
528     * @crossplatform
529     * @since 10
530     */
531    /**
532     * Width
533     *
534     * @type { number }
535     * @syscap SystemCapability.Multimedia.Image.Core
536     * @crossplatform
537     * @atomicservice
538     * @since 11
539     */
540    /**
541     * Width
542     *
543     * @type { number }
544     * @syscap SystemCapability.Multimedia.Image.Core
545     * @crossplatform
546     * @form
547     * @atomicservice
548     * @since 12
549     */
550    width: number;
551  }
552
553  /**
554   * Enumerates exchangeable image file format (Exif) information types of an image.
555   *
556   * @enum { string }
557   * @syscap SystemCapability.Multimedia.Image.Core
558   * @since 7
559   */
560  /**
561   * Enumerates exchangeable image file format (Exif) information types of an image.
562   *
563   * @enum { string }
564   * @syscap SystemCapability.Multimedia.Image.Core
565   * @crossplatform
566   * @since 10
567   */
568  enum PropertyKey {
569    /**
570     * Number of bits in each pixel of an image.
571     *
572     * @syscap SystemCapability.Multimedia.Image.Core
573     * @since 7
574     */
575    /**
576     * Number of bits in each pixel of an image.
577     *
578     * @syscap SystemCapability.Multimedia.Image.Core
579     * @crossplatform
580     * @since 10
581     */
582    BITS_PER_SAMPLE = 'BitsPerSample',
583
584    /**
585     * Image rotation mode.
586     *
587     * @syscap SystemCapability.Multimedia.Image.Core
588     * @since 7
589     */
590    /**
591     * Image rotation mode.
592     *
593     * @syscap SystemCapability.Multimedia.Image.Core
594     * @crossplatform
595     * @since 10
596     */
597    ORIENTATION = 'Orientation',
598
599    /**
600     * Image length.
601     *
602     * @syscap SystemCapability.Multimedia.Image.Core
603     * @since 7
604     */
605    /**
606     * Image length.
607     *
608     * @syscap SystemCapability.Multimedia.Image.Core
609     * @crossplatform
610     * @since 10
611     */
612    IMAGE_LENGTH = 'ImageLength',
613
614    /**
615     * Image width.
616     *
617     * @syscap SystemCapability.Multimedia.Image.Core
618     * @since 7
619     */
620    /**
621     * Image width.
622     *
623     * @syscap SystemCapability.Multimedia.Image.Core
624     * @crossplatform
625     * @since 10
626     */
627    IMAGE_WIDTH = 'ImageWidth',
628
629    /**
630     * GPS latitude.
631     *
632     * @syscap SystemCapability.Multimedia.Image.Core
633     * @since 7
634     */
635    /**
636     * GPS latitude.
637     *
638     * @syscap SystemCapability.Multimedia.Image.Core
639     * @crossplatform
640     * @since 10
641     */
642    GPS_LATITUDE = 'GPSLatitude',
643
644    /**
645     * GPS longitude.
646     *
647     * @syscap SystemCapability.Multimedia.Image.Core
648     * @since 7
649     */
650    /**
651     * GPS longitude.
652     *
653     * @syscap SystemCapability.Multimedia.Image.Core
654     * @crossplatform
655     * @since 10
656     */
657    GPS_LONGITUDE = 'GPSLongitude',
658
659    /**
660     * GPS latitude reference. For example, N indicates north latitude and S indicates south latitude.
661     *
662     * @syscap SystemCapability.Multimedia.Image.Core
663     * @since 7
664     */
665    /**
666     * GPS latitude reference. For example, N indicates north latitude and S indicates south latitude.
667     *
668     * @syscap SystemCapability.Multimedia.Image.Core
669     * @crossplatform
670     * @since 10
671     */
672    GPS_LATITUDE_REF = 'GPSLatitudeRef',
673
674    /**
675     * GPS longitude reference. For example, E indicates east longitude and W indicates west longitude.
676     *
677     * @syscap SystemCapability.Multimedia.Image.Core
678     * @since 7
679     */
680    /**
681     * GPS longitude reference. For example, E indicates east longitude and W indicates west longitude.
682     *
683     * @syscap SystemCapability.Multimedia.Image.Core
684     * @crossplatform
685     * @since 10
686     */
687    GPS_LONGITUDE_REF = 'GPSLongitudeRef',
688
689    /**
690     * Shooting time
691     *
692     * @syscap SystemCapability.Multimedia.Image.Core
693     * @since 9
694     */
695    /**
696     * Shooting time
697     *
698     * @syscap SystemCapability.Multimedia.Image.Core
699     * @crossplatform
700     * @since 10
701     */
702    DATE_TIME_ORIGINAL = 'DateTimeOriginal',
703
704    /**
705     * Exposure time
706     *
707     * @syscap SystemCapability.Multimedia.Image.Core
708     * @since 9
709     */
710    /**
711     * Exposure time
712     *
713     * @syscap SystemCapability.Multimedia.Image.Core
714     * @crossplatform
715     * @since 10
716     */
717    EXPOSURE_TIME = 'ExposureTime',
718
719    /**
720     * Scene type
721     *
722     * @syscap SystemCapability.Multimedia.Image.Core
723     * @since 9
724     */
725    /**
726     * Scene type
727     *
728     * @syscap SystemCapability.Multimedia.Image.Core
729     * @crossplatform
730     * @since 10
731     */
732    SCENE_TYPE = 'SceneType',
733
734    /**
735     * ISO speedratings
736     *
737     * @syscap SystemCapability.Multimedia.Image.Core
738     * @since 9
739     */
740    /**
741     * ISO speedratings
742     *
743     * @syscap SystemCapability.Multimedia.Image.Core
744     * @crossplatform
745     * @since 10
746     */
747    ISO_SPEED_RATINGS = 'ISOSpeedRatings',
748
749    /**
750     * Aperture value
751     *
752     * @syscap SystemCapability.Multimedia.Image.Core
753     * @since 9
754     */
755    /**
756     * Aperture value
757     *
758     * @syscap SystemCapability.Multimedia.Image.Core
759     * @crossplatform
760     * @since 10
761     */
762    F_NUMBER = 'FNumber',
763
764    /**
765     * Date time
766     *
767     * @syscap SystemCapability.Multimedia.Image.Core
768     * @since 10
769     */
770    DATE_TIME = 'DateTime',
771
772    /**
773     * GPS time stamp
774     *
775     * @syscap SystemCapability.Multimedia.Image.Core
776     * @since 10
777     */
778    GPS_TIME_STAMP = 'GPSTimeStamp',
779
780    /**
781     * GPS date stamp
782     *
783     * @syscap SystemCapability.Multimedia.Image.Core
784     * @since 10
785     */
786    GPS_DATE_STAMP = 'GPSDateStamp',
787
788    /**
789     * Image description
790     *
791     * @syscap SystemCapability.Multimedia.Image.Core
792     * @since 10
793     */
794    IMAGE_DESCRIPTION = 'ImageDescription',
795
796    /**
797     * Make
798     *
799     * @syscap SystemCapability.Multimedia.Image.Core
800     * @since 10
801     */
802    MAKE = 'Make',
803
804    /**
805     * Model
806     *
807     * @syscap SystemCapability.Multimedia.Image.Core
808     * @since 10
809     */
810    MODEL = 'Model',
811
812    /**
813     * Photo mode
814     *
815     * @syscap SystemCapability.Multimedia.Image.Core
816     * @since 10
817     */
818    PHOTO_MODE = 'PhotoMode',
819
820    /**
821     * Sensitivity type
822     *
823     * @syscap SystemCapability.Multimedia.Image.Core
824     * @since 10
825     */
826    SENSITIVITY_TYPE = 'SensitivityType',
827
828    /**
829     * Standard output sensitivity
830     *
831     * @syscap SystemCapability.Multimedia.Image.Core
832     * @since 10
833     */
834    STANDARD_OUTPUT_SENSITIVITY = 'StandardOutputSensitivity',
835
836    /**
837     * Recommended exposure index
838     *
839     * @syscap SystemCapability.Multimedia.Image.Core
840     * @since 10
841     */
842    RECOMMENDED_EXPOSURE_INDEX = 'RecommendedExposureIndex',
843
844    /**
845     * ISO speed
846     *
847     * @syscap SystemCapability.Multimedia.Image.Core
848     * @since 10
849     */
850    ISO_SPEED = 'ISOSpeedRatings',
851
852    /**
853     * Aperture value
854     *
855     * @syscap SystemCapability.Multimedia.Image.Core
856     * @since 10
857     */
858    APERTURE_VALUE = 'ApertureValue',
859
860    /**
861     * Exposure bias value
862     *
863     * @syscap SystemCapability.Multimedia.Image.Core
864     * @since 10
865     */
866    EXPOSURE_BIAS_VALUE = 'ExposureBiasValue',
867
868    /**
869     * Metering mode
870     *
871     * @syscap SystemCapability.Multimedia.Image.Core
872     * @since 10
873     */
874    METERING_MODE = 'MeteringMode',
875
876    /**
877     * Light source
878     *
879     * @syscap SystemCapability.Multimedia.Image.Core
880     * @since 10
881     */
882    LIGHT_SOURCE = 'LightSource',
883
884    /**
885     * Flash
886     *
887     * @syscap SystemCapability.Multimedia.Image.Core
888     * @since 10
889     */
890    FLASH = 'Flash',
891
892    /**
893     * Focal length
894     *
895     * @syscap SystemCapability.Multimedia.Image.Core
896     * @since 10
897     */
898    FOCAL_LENGTH = 'FocalLength',
899
900    /**
901     * User comment
902     *
903     * @syscap SystemCapability.Multimedia.Image.Core
904     * @since 10
905     */
906    USER_COMMENT = 'UserComment',
907
908    /**
909     * Pixel x dimension
910     *
911     * @syscap SystemCapability.Multimedia.Image.Core
912     * @since 10
913     */
914    PIXEL_X_DIMENSION = 'PixelXDimension',
915
916    /**
917     * Pixel y dimension
918     *
919     * @syscap SystemCapability.Multimedia.Image.Core
920     * @since 10
921     */
922    PIXEL_Y_DIMENSION = 'PixelYDimension',
923
924    /**
925     * White balance
926     *
927     * @syscap SystemCapability.Multimedia.Image.Core
928     * @since 10
929     */
930    WHITE_BALANCE = 'WhiteBalance',
931
932    /**
933     * Focal length in 35mm film
934     *
935     * @syscap SystemCapability.Multimedia.Image.Core
936     * @since 10
937     */
938    FOCAL_LENGTH_IN_35_MM_FILM = 'FocalLengthIn35mmFilm',
939
940    /**
941     * Capture mode
942     *
943     * @syscap SystemCapability.Multimedia.Image.Core
944     * @since 10
945     */
946    CAPTURE_MODE = 'HwMnoteCaptureMode',
947
948    /**
949     * Physical aperture
950     *
951     * @syscap SystemCapability.Multimedia.Image.Core
952     * @since 10
953     */
954    PHYSICAL_APERTURE = 'HwMnotePhysicalAperture',
955
956    /**
957     * Roll Angle
958     *
959     * @syscap SystemCapability.Multimedia.Image.Core
960     * @crossplatform
961     * @since 11
962     */
963    ROLL_ANGLE = 'HwMnoteRollAngle',
964
965    /**
966     * Pitch Angle
967     *
968     * @syscap SystemCapability.Multimedia.Image.Core
969     * @crossplatform
970     * @since 11
971     */
972    PITCH_ANGLE = 'HwMnotePitchAngle',
973
974    /**
975     * Capture Scene: Food
976     *
977     * @syscap SystemCapability.Multimedia.Image.Core
978     * @crossplatform
979     * @since 11
980     */
981    SCENE_FOOD_CONF = 'HwMnoteSceneFoodConf',
982
983    /**
984     * Capture Scene: Stage
985     *
986     * @syscap SystemCapability.Multimedia.Image.Core
987     * @crossplatform
988     * @since 11
989     */
990    SCENE_STAGE_CONF = 'HwMnoteSceneStageConf',
991
992    /**
993     * Capture Scene: Blue Sky
994     *
995     * @syscap SystemCapability.Multimedia.Image.Core
996     * @crossplatform
997     * @since 11
998     */
999    SCENE_BLUE_SKY_CONF = 'HwMnoteSceneBlueSkyConf',
1000
1001    /**
1002     * Capture Scene: Green Plant
1003     *
1004     * @syscap SystemCapability.Multimedia.Image.Core
1005     * @crossplatform
1006     * @since 11
1007     */
1008    SCENE_GREEN_PLANT_CONF = 'HwMnoteSceneGreenPlantConf',
1009
1010    /**
1011     * Capture Scene: Beach
1012     *
1013     * @syscap SystemCapability.Multimedia.Image.Core
1014     * @crossplatform
1015     * @since 11
1016     */
1017    SCENE_BEACH_CONF = 'HwMnoteSceneBeachConf',
1018
1019    /**
1020     * Capture Scene: Snow
1021     *
1022     * @syscap SystemCapability.Multimedia.Image.Core
1023     * @crossplatform
1024     * @since 11
1025     */
1026    SCENE_SNOW_CONF = 'HwMnoteSceneSnowConf',
1027
1028    /**
1029     * Capture Scene: Sunset
1030     *
1031     * @syscap SystemCapability.Multimedia.Image.Core
1032     * @crossplatform
1033     * @since 11
1034     */
1035    SCENE_SUNSET_CONF = 'HwMnoteSceneSunsetConf',
1036
1037    /**
1038     * Capture Scene: Flowers
1039     *
1040     * @syscap SystemCapability.Multimedia.Image.Core
1041     * @crossplatform
1042     * @since 11
1043     */
1044    SCENE_FLOWERS_CONF = 'HwMnoteSceneFlowersConf',
1045
1046    /**
1047     * Capture Scene: Night
1048     *
1049     * @syscap SystemCapability.Multimedia.Image.Core
1050     * @crossplatform
1051     * @since 11
1052     */
1053    SCENE_NIGHT_CONF = 'HwMnoteSceneNightConf',
1054
1055    /**
1056     * Capture Scene: Text
1057     *
1058     * @syscap SystemCapability.Multimedia.Image.Core
1059     * @crossplatform
1060     * @since 11
1061     */
1062    SCENE_TEXT_CONF = 'HwMnoteSceneTextConf',
1063
1064    /**
1065     * Face Count
1066     *
1067     * @syscap SystemCapability.Multimedia.Image.Core
1068     * @crossplatform
1069     * @since 11
1070     */
1071    FACE_COUNT = 'HwMnoteFaceCount',
1072
1073    /**
1074     * Focus Mode
1075     *
1076     * @syscap SystemCapability.Multimedia.Image.Core
1077     * @crossplatform
1078     * @since 11
1079     */
1080    FOCUS_MODE = 'HwMnoteFocusMode',
1081
1082    /**
1083     * The scheme used for image compression.
1084     *
1085     * @syscap SystemCapability.Multimedia.Image.Core
1086     * @crossplatform
1087     * @since 12
1088     */
1089    COMPRESSION = 'Compression',
1090
1091    /**
1092     * Pixel composition, such as RGB or YCbCr.
1093     *
1094     * @syscap SystemCapability.Multimedia.Image.Core
1095     * @crossplatform
1096     * @since 12
1097     */
1098    PHOTOMETRIC_INTERPRETATION = 'PhotometricInterpretation',
1099
1100    /**
1101     * For each strip, the byte offset of that strip.
1102     *
1103     * @syscap SystemCapability.Multimedia.Image.Core
1104     * @crossplatform
1105     * @since 12
1106     */
1107    STRIP_OFFSETS = 'StripOffsets',
1108
1109    /**
1110     * The number of components per pixel.
1111     *
1112     * @syscap SystemCapability.Multimedia.Image.Core
1113     * @crossplatform
1114     * @since 12
1115     */
1116    SAMPLES_PER_PIXEL = 'SamplesPerPixel',
1117
1118    /**
1119     * The number of rows per strip of image data.
1120     *
1121     * @syscap SystemCapability.Multimedia.Image.Core
1122     * @crossplatform
1123     * @since 12
1124     */
1125    ROWS_PER_STRIP = 'RowsPerStrip',
1126
1127    /**
1128     * The total number of bytes in each strip of image data.
1129     *
1130     * @syscap SystemCapability.Multimedia.Image.Core
1131     * @crossplatform
1132     * @since 12
1133     */
1134    STRIP_BYTE_COUNTS = 'StripByteCounts',
1135
1136    /**
1137     * The image resolution in the width direction.
1138     *
1139     * @syscap SystemCapability.Multimedia.Image.Core
1140     * @crossplatform
1141     * @since 12
1142     */
1143    X_RESOLUTION = 'XResolution',
1144
1145    /**
1146     * The image resolution in the height direction.
1147     *
1148     * @syscap SystemCapability.Multimedia.Image.Core
1149     * @crossplatform
1150     * @since 12
1151     */
1152    Y_RESOLUTION = 'YResolution',
1153
1154    /**
1155     * Indicates whether pixel components are recorded in a chunky or planar format.
1156     *
1157     * @syscap SystemCapability.Multimedia.Image.Core
1158     * @crossplatform
1159     * @since 12
1160     */
1161    PLANAR_CONFIGURATION = 'PlanarConfiguration',
1162
1163    /**
1164     * The unit used to measure XResolution and YResolution.
1165     *
1166     * @syscap SystemCapability.Multimedia.Image.Core
1167     * @crossplatform
1168     * @since 12
1169     */
1170    RESOLUTION_UNIT = 'ResolutionUnit',
1171
1172    /**
1173     * The transfer function for the image, typically used for color correction.
1174     *
1175     * @syscap SystemCapability.Multimedia.Image.Core
1176     * @crossplatform
1177     * @since 12
1178     */
1179    TRANSFER_FUNCTION = 'TransferFunction',
1180
1181    /**
1182     * The name and version of the software used to generate the image.
1183     *
1184     * @syscap SystemCapability.Multimedia.Image.Core
1185     * @crossplatform
1186     * @since 12
1187     */
1188    SOFTWARE = 'Software',
1189
1190    /**
1191     * The name of the person who created the image.
1192     *
1193     * @syscap SystemCapability.Multimedia.Image.Core
1194     * @crossplatform
1195     * @since 12
1196     */
1197    ARTIST = 'Artist',
1198
1199    /**
1200     * The chromaticity of the white point of the image.
1201     *
1202     * @syscap SystemCapability.Multimedia.Image.Core
1203     * @crossplatform
1204     * @since 12
1205     */
1206    WHITE_POINT = 'WhitePoint',
1207
1208    /**
1209     * The chromaticity of the primary colors of the image.
1210     *
1211     * @syscap SystemCapability.Multimedia.Image.Core
1212     * @crossplatform
1213     * @since 12
1214     */
1215    PRIMARY_CHROMATICITIES = 'PrimaryChromaticities',
1216
1217    /**
1218     * The matrix coefficients for transformation from RGB to YCbCr image data.
1219     *
1220     * @syscap SystemCapability.Multimedia.Image.Core
1221     * @crossplatform
1222     * @since 12
1223     */
1224    YCBCR_COEFFICIENTS = 'YCbCrCoefficients',
1225
1226    /**
1227     * The sampling ratio of chrominance components to the luminance component.
1228     *
1229     * @syscap SystemCapability.Multimedia.Image.Core
1230     * @crossplatform
1231     * @since 12
1232     */
1233    YCBCR_SUB_SAMPLING = 'YCbCrSubSampling',
1234
1235    /**
1236     * The position of chrominance components in relation to the luminance component.
1237     *
1238     * @syscap SystemCapability.Multimedia.Image.Core
1239     * @crossplatform
1240     * @since 12
1241     */
1242    YCBCR_POSITIONING = 'YCbCrPositioning',
1243
1244    /**
1245     * The reference black point value and reference white point value.
1246     *
1247     * @syscap SystemCapability.Multimedia.Image.Core
1248     * @crossplatform
1249     * @since 12
1250     */
1251    REFERENCE_BLACK_WHITE = 'ReferenceBlackWhite',
1252
1253    /**
1254     * Copyright information for the image.
1255     *
1256     * @syscap SystemCapability.Multimedia.Image.Core
1257     * @crossplatform
1258     * @since 12
1259     */
1260    COPYRIGHT = 'Copyright',
1261
1262    /**
1263     * The offset to the start byte (SOI) of JPEG compressed thumbnail data.
1264     *
1265     * @syscap SystemCapability.Multimedia.Image.Core
1266     * @crossplatform
1267     * @since 12
1268     */
1269    JPEG_INTERCHANGE_FORMAT = 'JPEGInterchangeFormat',
1270
1271    /**
1272     * The number of bytes of JPEG compressed thumbnail data.
1273     *
1274     * @syscap SystemCapability.Multimedia.Image.Core
1275     * @crossplatform
1276     * @since 12
1277     */
1278    JPEG_INTERCHANGE_FORMAT_LENGTH = 'JPEGInterchangeFormatLength',
1279
1280    /**
1281     * The class of the program used by the camera to set exposure when the picture is taken.
1282     *
1283     * @syscap SystemCapability.Multimedia.Image.Core
1284     * @crossplatform
1285     * @since 12
1286     */
1287    EXPOSURE_PROGRAM = 'ExposureProgram',
1288
1289    /**
1290     * Indicates the spectral sensitivity of each channel of the camera used.
1291     *
1292     * @syscap SystemCapability.Multimedia.Image.Core
1293     * @crossplatform
1294     * @since 12
1295     */
1296    SPECTRAL_SENSITIVITY = 'SpectralSensitivity',
1297
1298    /**
1299     * Indicates the Opto-Electric Conversion Function (OECF) specified in ISO 14524.
1300     *
1301     * @syscap SystemCapability.Multimedia.Image.Core
1302     * @crossplatform
1303     * @since 12
1304     */
1305    OECF = 'OECF',
1306
1307    /**
1308     * The version of the Exif standard supported.
1309     *
1310     * @syscap SystemCapability.Multimedia.Image.Core
1311     * @crossplatform
1312     * @since 12
1313     */
1314    EXIF_VERSION = 'ExifVersion',
1315
1316    /**
1317     * The date and time when the image was stored as digital data.
1318     *
1319     * @syscap SystemCapability.Multimedia.Image.Core
1320     * @crossplatform
1321     * @since 12
1322     */
1323    DATE_TIME_DIGITIZED = 'DateTimeDigitized',
1324
1325    /**
1326     * Information specific to compressed data.
1327     *
1328     * @syscap SystemCapability.Multimedia.Image.Core
1329     * @crossplatform
1330     * @since 12
1331     */
1332    COMPONENTS_CONFIGURATION = 'ComponentsConfiguration',
1333
1334    /**
1335     * The shutter speed, expressed as an APEX (Additive System of Photographic Exposure) value.
1336     *
1337     * @syscap SystemCapability.Multimedia.Image.Core
1338     * @crossplatform
1339     * @since 12
1340     */
1341    SHUTTER_SPEED = 'ShutterSpeedValue',
1342
1343    /**
1344     * The brightness value of the image, in APEX units.
1345     *
1346     * @syscap SystemCapability.Multimedia.Image.Core
1347     * @crossplatform
1348     * @since 12
1349     */
1350    BRIGHTNESS_VALUE = 'BrightnessValue',
1351
1352    /**
1353     * The smallest F number of lens.
1354     *
1355     * @syscap SystemCapability.Multimedia.Image.Core
1356     * @crossplatform
1357     * @since 12
1358     */
1359    MAX_APERTURE_VALUE = 'MaxApertureValue',
1360
1361    /**
1362     * The distance to the subject, measured in meters.
1363     *
1364     * @syscap SystemCapability.Multimedia.Image.Core
1365     * @crossplatform
1366     * @since 12
1367     */
1368    SUBJECT_DISTANCE = 'SubjectDistance',
1369
1370    /**
1371     * This tag indicate the location and area of the main subject in the overall scene.
1372     *
1373     * @syscap SystemCapability.Multimedia.Image.Core
1374     * @crossplatform
1375     * @since 12
1376     */
1377    SUBJECT_AREA = 'SubjectArea',
1378
1379    /**
1380     * A tag for manufacturers of Exif/DCF writers to record any desired information.
1381     *
1382     * @syscap SystemCapability.Multimedia.Image.Core
1383     * @crossplatform
1384     * @since 12
1385     */
1386    MAKER_NOTE = 'MakerNote',
1387
1388    /**
1389     * A tag for record fractions of seconds for the DateTime tag.
1390     *
1391     * @syscap SystemCapability.Multimedia.Image.Core
1392     * @crossplatform
1393     * @since 12
1394     */
1395    SUBSEC_TIME = 'SubsecTime',
1396
1397    /**
1398     * A tag used to record fractions of seconds for the DateTimeOriginal tag.
1399     *
1400     * @syscap SystemCapability.Multimedia.Image.Core
1401     * @crossplatform
1402     * @since 12
1403     */
1404    SUBSEC_TIME_ORIGINAL = 'SubsecTimeOriginal',
1405
1406    /**
1407     * A tag used to record fractions of seconds for the DateTimeDigitized tag.
1408     *
1409     * @syscap SystemCapability.Multimedia.Image.Core
1410     * @crossplatform
1411     * @since 12
1412     */
1413    SUBSEC_TIME_DIGITIZED = 'SubsecTimeDigitized',
1414
1415    /**
1416     * This tag denotes the Flashpix format version supported by an FPXR file, enhancing device compatibility.
1417     *
1418     * @syscap SystemCapability.Multimedia.Image.Core
1419     * @crossplatform
1420     * @since 12
1421     */
1422    FLASHPIX_VERSION = 'FlashpixVersion',
1423
1424    /**
1425     * The color space information tag, often recorded as the color space specifier.
1426     *
1427     * @syscap SystemCapability.Multimedia.Image.Core
1428     * @crossplatform
1429     * @since 12
1430     */
1431    COLOR_SPACE = 'ColorSpace',
1432
1433    /**
1434     * The name of an audio file related to the image data.
1435     *
1436     * @syscap SystemCapability.Multimedia.Image.Core
1437     * @crossplatform
1438     * @since 12
1439     */
1440    RELATED_SOUND_FILE = 'RelatedSoundFile',
1441
1442    /**
1443     * Strobe energy at image capture, in BCPS.
1444     *
1445     * @syscap SystemCapability.Multimedia.Image.Core
1446     * @crossplatform
1447     * @since 12
1448     */
1449    FLASH_ENERGY = 'FlashEnergy',
1450
1451    /**
1452     * Camera or input device spatial frequency table.
1453     *
1454     * @syscap SystemCapability.Multimedia.Image.Core
1455     * @crossplatform
1456     * @since 12
1457     */
1458    SPATIAL_FREQUENCY_RESPONSE = 'SpatialFrequencyResponse',
1459
1460    /**
1461     * Pixels per FocalPlaneResolutionUnit in the image width.
1462     *
1463     * @syscap SystemCapability.Multimedia.Image.Core
1464     * @crossplatform
1465     * @since 12
1466     */
1467    FOCAL_PLANE_X_RESOLUTION = 'FocalPlaneXResolution',
1468
1469    /**
1470     * Pixels per FocalPlaneResolutionUnit in the image height.
1471     *
1472     * @syscap SystemCapability.Multimedia.Image.Core
1473     * @crossplatform
1474     * @since 12
1475     */
1476    FOCAL_PLANE_Y_RESOLUTION = 'FocalPlaneYResolution',
1477
1478    /**
1479     * Unit for measuring FocalPlaneXResolution and FocalPlaneYResolution.
1480     *
1481     * @syscap SystemCapability.Multimedia.Image.Core
1482     * @crossplatform
1483     * @since 12
1484     */
1485    FOCAL_PLANE_RESOLUTION_UNIT = 'FocalPlaneResolutionUnit',
1486
1487    /**
1488     * Location of the main subject, relative to the left edge.
1489     *
1490     * @syscap SystemCapability.Multimedia.Image.Core
1491     * @crossplatform
1492     * @since 12
1493     */
1494    SUBJECT_LOCATION = 'SubjectLocation',
1495
1496    /**
1497     * Selected exposure index at capture.
1498     *
1499     * @syscap SystemCapability.Multimedia.Image.Core
1500     * @crossplatform
1501     * @since 12
1502     */
1503    EXPOSURE_INDEX = 'ExposureIndex',
1504
1505    /**
1506     * Image sensor type on the camera.
1507     *
1508     * @syscap SystemCapability.Multimedia.Image.Core
1509     * @crossplatform
1510     * @since 12
1511     */
1512    SENSING_METHOD = 'SensingMethod',
1513
1514    /**
1515     * Indicates the image source.
1516     *
1517     * @syscap SystemCapability.Multimedia.Image.Core
1518     * @crossplatform
1519     * @since 12
1520     */
1521    FILE_SOURCE = 'FileSource',
1522
1523    /**
1524     * Color filter array (CFA) geometric pattern of the image sensor.
1525     *
1526     * @syscap SystemCapability.Multimedia.Image.Core
1527     * @crossplatform
1528     * @since 12
1529     */
1530    CFA_PATTERN = 'CFAPattern',
1531
1532    /**
1533     * Indicates special processing on image data.
1534     *
1535     * @syscap SystemCapability.Multimedia.Image.Core
1536     * @crossplatform
1537     * @since 12
1538     */
1539    CUSTOM_RENDERED = 'CustomRendered',
1540
1541    /**
1542     * Exposure mode set when the image was shot.
1543     *
1544     * @syscap SystemCapability.Multimedia.Image.Core
1545     * @crossplatform
1546     * @since 12
1547     */
1548    EXPOSURE_MODE = 'ExposureMode',
1549
1550    /**
1551     * Digital zoom ratio at the time of capture.
1552     *
1553     * @syscap SystemCapability.Multimedia.Image.Core
1554     * @crossplatform
1555     * @since 12
1556     */
1557    DIGITAL_ZOOM_RATIO = 'DigitalZoomRatio',
1558
1559    /**
1560     * Type of scene captured.
1561     *
1562     * @syscap SystemCapability.Multimedia.Image.Core
1563     * @crossplatform
1564     * @since 12
1565     */
1566    SCENE_CAPTURE_TYPE = 'SceneCaptureType',
1567
1568    /**
1569     * Degree of overall image gain adjustment.
1570     *
1571     * @syscap SystemCapability.Multimedia.Image.Core
1572     * @crossplatform
1573     * @since 12
1574     */
1575    GAIN_CONTROL = 'GainControl',
1576
1577    /**
1578     * Direction of contrast processing applied by the camera.
1579     *
1580     * @syscap SystemCapability.Multimedia.Image.Core
1581     * @crossplatform
1582     * @since 12
1583     */
1584    CONTRAST = 'Contrast',
1585
1586    /**
1587     * Direction of saturation processing applied by the camera.
1588     *
1589     * @syscap SystemCapability.Multimedia.Image.Core
1590     * @crossplatform
1591     * @since 12
1592     */
1593    SATURATION = 'Saturation',
1594
1595    /**
1596     * The direction of sharpness processing applied by the camera.
1597     *
1598     * @syscap SystemCapability.Multimedia.Image.Core
1599     * @crossplatform
1600     * @since 12
1601     */
1602    SHARPNESS = 'Sharpness',
1603
1604    /**
1605     * Information on picture-taking conditions for a specific camera model.
1606     *
1607     * @syscap SystemCapability.Multimedia.Image.Core
1608     * @crossplatform
1609     * @since 12
1610     */
1611    DEVICE_SETTING_DESCRIPTION = 'DeviceSettingDescription',
1612
1613    /**
1614     * Indicates the distance range to the subject.
1615     *
1616     * @syscap SystemCapability.Multimedia.Image.Core
1617     * @crossplatform
1618     * @since 12
1619     */
1620    SUBJECT_DISTANCE_RANGE = 'SubjectDistanceRange',
1621
1622    /**
1623     * An identifier uniquely assigned to each image.
1624     *
1625     * @syscap SystemCapability.Multimedia.Image.Core
1626     * @crossplatform
1627     * @since 12
1628     */
1629    IMAGE_UNIQUE_ID = 'ImageUniqueID',
1630
1631    /**
1632     * The version of the GPSInfoIFD.
1633     *
1634     * @syscap SystemCapability.Multimedia.Image.Core
1635     * @crossplatform
1636     * @since 12
1637     */
1638    GPS_VERSION_ID = 'GPSVersionID',
1639
1640    /**
1641     * Reference altitude used for GPS altitude.
1642     *
1643     * @syscap SystemCapability.Multimedia.Image.Core
1644     * @crossplatform
1645     * @since 12
1646     */
1647    GPS_ALTITUDE_REF = 'GPSAltitudeRef',
1648
1649    /**
1650     * The altitude based on the reference in GPSAltitudeRef.
1651     *
1652     * @syscap SystemCapability.Multimedia.Image.Core
1653     * @crossplatform
1654     * @since 12
1655     */
1656    GPS_ALTITUDE = 'GPSAltitude',
1657
1658    /**
1659     * The GPS satellites used for measurements.
1660     *
1661     * @syscap SystemCapability.Multimedia.Image.Core
1662     * @crossplatform
1663     * @since 12
1664     */
1665    GPS_SATELLITES = 'GPSSatellites',
1666
1667    /**
1668     * The status of the GPS receiver when the image is recorded.
1669     *
1670     * @syscap SystemCapability.Multimedia.Image.Core
1671     * @crossplatform
1672     * @since 12
1673     */
1674    GPS_STATUS = 'GPSStatus',
1675
1676    /**
1677     * The GPS measurement mode.
1678     *
1679     * @syscap SystemCapability.Multimedia.Image.Core
1680     * @crossplatform
1681     * @since 12
1682     */
1683    GPS_MEASURE_MODE = 'GPSMeasureMode',
1684
1685    /**
1686     * The GPS DOP (data degree of precision).
1687     *
1688     * @syscap SystemCapability.Multimedia.Image.Core
1689     * @crossplatform
1690     * @since 12
1691     */
1692    GPS_DOP = 'GPSDOP',
1693
1694    /**
1695     * The unit used to express the GPS receiver speed of movement.
1696     *
1697     * @syscap SystemCapability.Multimedia.Image.Core
1698     * @crossplatform
1699     * @since 12
1700     */
1701    GPS_SPEED_REF = 'GPSSpeedRef',
1702
1703    /**
1704     * The speed of GPS receiver movement.
1705     *
1706     * @syscap SystemCapability.Multimedia.Image.Core
1707     * @crossplatform
1708     * @since 12
1709     */
1710    GPS_SPEED = 'GPSSpeed',
1711
1712    /**
1713     * The reference for giving the direction of GPS receiver movement.
1714     *
1715     * @syscap SystemCapability.Multimedia.Image.Core
1716     * @crossplatform
1717     * @since 12
1718     */
1719    GPS_TRACK_REF = 'GPSTrackRef',
1720
1721    /**
1722     * The direction of GPS receiver movement.
1723     *
1724     * @syscap SystemCapability.Multimedia.Image.Core
1725     * @crossplatform
1726     * @since 12
1727     */
1728    GPS_TRACK = 'GPSTrack',
1729
1730    /**
1731     * The reference for the image's direction.
1732     *
1733     * @syscap SystemCapability.Multimedia.Image.Core
1734     * @crossplatform
1735     * @since 12
1736     */
1737    GPS_IMG_DIRECTION_REF = 'GPSImgDirectionRef',
1738
1739    /**
1740     * The direction of the image when captured.
1741     *
1742     * @syscap SystemCapability.Multimedia.Image.Core
1743     * @crossplatform
1744     * @since 12
1745     */
1746    GPS_IMG_DIRECTION = 'GPSImgDirection',
1747
1748    /**
1749     * Geodetic survey data used by the GPS receiver.
1750     *
1751     * @syscap SystemCapability.Multimedia.Image.Core
1752     * @crossplatform
1753     * @since 12
1754     */
1755    GPS_MAP_DATUM = 'GPSMapDatum',
1756
1757    /**
1758     * Indicates the latitude reference of the destination point.
1759     *
1760     * @syscap SystemCapability.Multimedia.Image.Core
1761     * @crossplatform
1762     * @since 12
1763     */
1764    GPS_DEST_LATITUDE_REF = 'GPSDestLatitudeRef',
1765
1766    /**
1767     * The latitude of the destination point.
1768     *
1769     * @syscap SystemCapability.Multimedia.Image.Core
1770     * @crossplatform
1771     * @since 12
1772     */
1773    GPS_DEST_LATITUDE = 'GPSDestLatitude',
1774
1775    /**
1776     * Indicates the longitude reference of the destination point.
1777     *
1778     * @syscap SystemCapability.Multimedia.Image.Core
1779     * @crossplatform
1780     * @since 12
1781     */
1782    GPS_DEST_LONGITUDE_REF = 'GPSDestLongitudeRef',
1783
1784    /**
1785     * The longitude of the destination point.
1786     *
1787     * @syscap SystemCapability.Multimedia.Image.Core
1788     * @crossplatform
1789     * @since 12
1790     */
1791    GPS_DEST_LONGITUDE = 'GPSDestLongitude',
1792
1793    /**
1794     * The reference for the bearing to the destination point.
1795     *
1796     * @syscap SystemCapability.Multimedia.Image.Core
1797     * @crossplatform
1798     * @since 12
1799     */
1800    GPS_DEST_BEARING_REF = 'GPSDestBearingRef',
1801
1802    /**
1803     * The bearing to the destination point.
1804     *
1805     * @syscap SystemCapability.Multimedia.Image.Core
1806     * @crossplatform
1807     * @since 12
1808     */
1809    GPS_DEST_BEARING = 'GPSDestBearing',
1810
1811    /**
1812     * The measurement unit for the distance to the target point.
1813     *
1814     * @syscap SystemCapability.Multimedia.Image.Core
1815     * @crossplatform
1816     * @since 12
1817     */
1818    GPS_DEST_DISTANCE_REF = 'GPSDestDistanceRef',
1819
1820    /**
1821     * The distance to the destination point.
1822     *
1823     * @syscap SystemCapability.Multimedia.Image.Core
1824     * @crossplatform
1825     * @since 12
1826     */
1827    GPS_DEST_DISTANCE = 'GPSDestDistance',
1828
1829    /**
1830     * A character string recording the name of the method used for location finding.
1831     *
1832     * @syscap SystemCapability.Multimedia.Image.Core
1833     * @crossplatform
1834     * @since 12
1835     */
1836    GPS_PROCESSING_METHOD = 'GPSProcessingMethod',
1837
1838    /**
1839     * A character string recording the name of the GPS area.
1840     *
1841     * @syscap SystemCapability.Multimedia.Image.Core
1842     * @crossplatform
1843     * @since 12
1844     */
1845    GPS_AREA_INFORMATION = 'GPSAreaInformation',
1846
1847    /**
1848     * This field denotes if differential correction was applied to GPS data, crucial for precise location accuracy.
1849     *
1850     * @syscap SystemCapability.Multimedia.Image.Core
1851     * @crossplatform
1852     * @since 12
1853     */
1854    GPS_DIFFERENTIAL = 'GPSDifferential',
1855
1856    /**
1857     * The serial number of the camera body.
1858     *
1859     * @syscap SystemCapability.Multimedia.Image.Core
1860     * @crossplatform
1861     * @since 12
1862     */
1863    BODY_SERIAL_NUMBER = 'BodySerialNumber',
1864
1865    /**
1866     * The name of the camera owner.
1867     *
1868     * @syscap SystemCapability.Multimedia.Image.Core
1869     * @crossplatform
1870     * @since 12
1871     */
1872    CAMERA_OWNER_NAME = 'CameraOwnerName',
1873
1874    /**
1875     * Indicates whether the image is a composite image.
1876     *
1877     * @syscap SystemCapability.Multimedia.Image.Core
1878     * @crossplatform
1879     * @since 12
1880     */
1881    COMPOSITE_IMAGE = 'CompositeImage',
1882
1883    /**
1884     * The compression mode used for a compressed image, in unit bits per pixel.
1885     *
1886     * @syscap SystemCapability.Multimedia.Image.Core
1887     * @crossplatform
1888     * @since 12
1889     */
1890    COMPRESSED_BITS_PER_PIXEL = 'CompressedBitsPerPixel',
1891
1892    /**
1893     * The DNGVersion tag encodes the four-tier version number for DNG specification compliance.
1894     *
1895     * @syscap SystemCapability.Multimedia.Image.Core
1896     * @crossplatform
1897     * @since 12
1898     */
1899    DNG_VERSION = 'DNGVersion',
1900
1901    /**
1902     * DefaultCropSize specifies the final image size in raw coordinates, accounting for extra edge pixels.
1903     *
1904     * @syscap SystemCapability.Multimedia.Image.Core
1905     * @crossplatform
1906     * @since 12
1907     */
1908    DEFAULT_CROP_SIZE = 'DefaultCropSize',
1909
1910    /**
1911     * Indicates the value of coefficient gamma.
1912     *
1913     * @syscap SystemCapability.Multimedia.Image.Core
1914     * @crossplatform
1915     * @since 12
1916     */
1917    GAMMA = 'Gamma',
1918
1919    /**
1920     * The tag indicate the ISO speed latitude yyy value of the camera or input device that is defined in ISO 12232.
1921     *
1922     * @syscap SystemCapability.Multimedia.Image.Core
1923     * @crossplatform
1924     * @since 12
1925     */
1926    ISO_SPEED_LATITUDE_YYY = 'ISOSpeedLatitudeyyy',
1927
1928    /**
1929     * The tag indicate the ISO speed latitude zzz value of the camera or input device that is defined in ISO 12232.
1930     *
1931     * @syscap SystemCapability.Multimedia.Image.Core
1932     * @crossplatform
1933     * @since 12
1934     */
1935    ISO_SPEED_LATITUDE_ZZZ = 'ISOSpeedLatitudezzz',
1936
1937    /**
1938     * The manufacturer of the lens.
1939     *
1940     * @syscap SystemCapability.Multimedia.Image.Core
1941     * @crossplatform
1942     * @since 12
1943     */
1944    LENS_MAKE = 'LensMake',
1945
1946    /**
1947     * The model name of the lens.
1948     *
1949     * @syscap SystemCapability.Multimedia.Image.Core
1950     * @crossplatform
1951     * @since 12
1952     */
1953    LENS_MODEL = 'LensModel',
1954
1955    /**
1956     * The serial number of the lens.
1957     *
1958     * @syscap SystemCapability.Multimedia.Image.Core
1959     * @crossplatform
1960     * @since 12
1961     */
1962    LENS_SERIAL_NUMBER = 'LensSerialNumber',
1963
1964    /**
1965     * Specifications of the lens used.
1966     *
1967     * @syscap SystemCapability.Multimedia.Image.Core
1968     * @crossplatform
1969     * @since 12
1970     */
1971    LENS_SPECIFICATION = 'LensSpecification',
1972
1973    /**
1974     * This tag provides a broad description of the data type in this subfile.
1975     *
1976     * @syscap SystemCapability.Multimedia.Image.Core
1977     * @crossplatform
1978     * @since 12
1979     */
1980    NEW_SUBFILE_TYPE = 'NewSubfileType',
1981
1982    /**
1983     * This tag records the UTC offset for the DateTime tag, ensuring accurate timestamps regardless of location.
1984     *
1985     * @syscap SystemCapability.Multimedia.Image.Core
1986     * @crossplatform
1987     * @since 12
1988     */
1989    OFFSET_TIME = 'OffsetTime',
1990
1991    /**
1992     * This tag records the UTC offset when the image was digitized, aiding in accurate timestamp adjustment.
1993     *
1994     * @syscap SystemCapability.Multimedia.Image.Core
1995     * @crossplatform
1996     * @since 12
1997     */
1998    OFFSET_TIME_DIGITIZED = 'OffsetTimeDigitized',
1999
2000    /**
2001     * This tag records the UTC offset when the original image was created, crucial for time-sensitive applications.
2002     *
2003     * @syscap SystemCapability.Multimedia.Image.Core
2004     * @crossplatform
2005     * @since 12
2006     */
2007    OFFSET_TIME_ORIGINAL = 'OffsetTimeOriginal',
2008
2009    /**
2010     * Exposure times of source images for a composite image.
2011     *
2012     * @syscap SystemCapability.Multimedia.Image.Core
2013     * @crossplatform
2014     * @since 12
2015     */
2016    SOURCE_EXPOSURE_TIMES_OF_COMPOSITE_IMAGE = 'SourceExposureTimesOfCompositeImage',
2017
2018    /**
2019     * The number of source images used for a composite image.
2020     *
2021     * @syscap SystemCapability.Multimedia.Image.Core
2022     * @crossplatform
2023     * @since 12
2024     */
2025    SOURCE_IMAGE_NUMBER_OF_COMPOSITE_IMAGE = 'SourceImageNumberOfCompositeImage',
2026
2027    /**
2028     * This deprecated tag indicates the data type in this subfile. Use NewSubfileType instead.
2029     *
2030     * @syscap SystemCapability.Multimedia.Image.Core
2031     * @crossplatform
2032     * @since 12
2033     */
2034    SUBFILE_TYPE = 'SubfileType',
2035
2036    /**
2037     * This tag indicates horizontal positioning errors in meters.
2038     *
2039     * @syscap SystemCapability.Multimedia.Image.Core
2040     * @crossplatform
2041     * @since 12
2042     */
2043    GPS_H_POSITIONING_ERROR = 'GPSHPositioningError',
2044
2045    /**
2046     * This tag indicates the sensitivity of the camera or input device when the image was shot.
2047     *
2048     * @syscap SystemCapability.Multimedia.Image.Core
2049     * @crossplatform
2050     * @since 12
2051     */
2052    PHOTOGRAPHIC_SENSITIVITY = 'PhotographicSensitivity',
2053
2054    /**
2055     * Burst Number
2056     *
2057     * @syscap SystemCapability.Multimedia.Image.Core
2058     * @crossplatform
2059     * @since 12
2060     */
2061    BURST_NUMBER = 'HwMnoteBurstNumber',
2062
2063    /**
2064     * Face Conf
2065     *
2066     * @syscap SystemCapability.Multimedia.Image.Core
2067     * @crossplatform
2068     * @since 12
2069     */
2070    FACE_CONF = 'HwMnoteFaceConf',
2071
2072    /**
2073     * Face Leye Center
2074     *
2075     * @syscap SystemCapability.Multimedia.Image.Core
2076     * @crossplatform
2077     * @since 12
2078     */
2079    FACE_LEYE_CENTER = 'HwMnoteFaceLeyeCenter',
2080
2081    /**
2082     * Face Mouth Center
2083     *
2084     * @syscap SystemCapability.Multimedia.Image.Core
2085     * @crossplatform
2086     * @since 12
2087     */
2088    FACE_MOUTH_CENTER = 'HwMnoteFaceMouthCenter',
2089
2090    /**
2091     * Face Pointer
2092     *
2093     * @syscap SystemCapability.Multimedia.Image.Core
2094     * @crossplatform
2095     * @since 12
2096     */
2097    FACE_POINTER = 'HwMnoteFacePointer',
2098
2099    /**
2100     * Face Rect
2101     *
2102     * @syscap SystemCapability.Multimedia.Image.Core
2103     * @crossplatform
2104     * @since 12
2105     */
2106    FACE_RECT = 'HwMnoteFaceRect',
2107
2108    /**
2109     * Face Reye Center
2110     *
2111     * @syscap SystemCapability.Multimedia.Image.Core
2112     * @crossplatform
2113     * @since 12
2114     */
2115    FACE_REYE_CENTER = 'HwMnoteFaceReyeCenter',
2116
2117    /**
2118     * Face Smile Score
2119     *
2120     * @syscap SystemCapability.Multimedia.Image.Core
2121     * @crossplatform
2122     * @since 12
2123     */
2124    FACE_SMILE_SCORE = 'HwMnoteFaceSmileScore',
2125
2126    /**
2127     * Face Version
2128     *
2129     * @syscap SystemCapability.Multimedia.Image.Core
2130     * @crossplatform
2131     * @since 12
2132     */
2133    FACE_VERSION = 'HwMnoteFaceVersion',
2134
2135    /**
2136     * Front Camera
2137     *
2138     * @syscap SystemCapability.Multimedia.Image.Core
2139     * @crossplatform
2140     * @since 12
2141     */
2142    FRONT_CAMERA = 'HwMnoteFrontCamera',
2143
2144    /**
2145     * Scene Pointer
2146     *
2147     * @syscap SystemCapability.Multimedia.Image.Core
2148     * @crossplatform
2149     * @since 12
2150     */
2151    SCENE_POINTER = 'HwMnoteScenePointer',
2152
2153    /**
2154     * Scene Version
2155     *
2156     * @syscap SystemCapability.Multimedia.Image.Core
2157     * @crossplatform
2158     * @since 12
2159     */
2160    SCENE_VERSION = 'HwMnoteSceneVersion',
2161
2162    /**
2163     * GIF LOOP COUNT
2164     * If infinite loop returns 0, other values represent the number of loops
2165     *
2166     * @syscap SystemCapability.Multimedia.Image.Core
2167     * @crossplatform
2168     * @since 12
2169     */
2170    GIF_LOOP_COUNT = 'GIFLoopCount'
2171  }
2172
2173  /**
2174   * Enum for image formats.
2175   *
2176   * @enum { number }
2177   * @syscap SystemCapability.Multimedia.Image.Core
2178   * @since 9
2179   */
2180  enum ImageFormat {
2181    /**
2182     * YCBCR422 semi-planar format.
2183     *
2184     * @syscap SystemCapability.Multimedia.Image.Core
2185     * @since 9
2186     */
2187    YCBCR_422_SP = 1000,
2188
2189    /**
2190     * JPEG encoding format.
2191     *
2192     * @syscap SystemCapability.Multimedia.Image.Core
2193     * @since 9
2194     */
2195    JPEG = 2000
2196  }
2197
2198  /**
2199   * Enumerates alpha types.
2200   *
2201   * @enum { number }
2202   * @syscap SystemCapability.Multimedia.Image.Core
2203   * @since 9
2204   */
2205  /**
2206   * Enumerates alpha types.
2207   *
2208   * @enum { number }
2209   * @syscap SystemCapability.Multimedia.Image.Core
2210   * @crossplatform
2211   * @since 10
2212   */
2213  /**
2214   * Enumerates alpha types.
2215   *
2216   * @enum { number }
2217   * @syscap SystemCapability.Multimedia.Image.Core
2218   * @crossplatform
2219   * @atomicservice
2220   * @since 11
2221   */
2222  /**
2223   * Enumerates alpha types.
2224   *
2225   * @enum { number }
2226   * @syscap SystemCapability.Multimedia.Image.Core
2227   * @crossplatform
2228   * @form
2229   * @atomicservice
2230   * @since 12
2231   */
2232  enum AlphaType {
2233    /**
2234     * Indicates an unknown alpha type.
2235     *
2236     * @syscap SystemCapability.Multimedia.Image.Core
2237     * @since 9
2238     */
2239    /**
2240     * Indicates an unknown alpha type.
2241     *
2242     * @syscap SystemCapability.Multimedia.Image.Core
2243     * @crossplatform
2244     * @since 10
2245     */
2246    /**
2247     * Indicates an unknown alpha type.
2248     *
2249     * @syscap SystemCapability.Multimedia.Image.Core
2250     * @crossplatform
2251     * @atomicservice
2252     * @since 11
2253     */
2254    /**
2255     * Indicates an unknown alpha type.
2256     *
2257     * @syscap SystemCapability.Multimedia.Image.Core
2258     * @crossplatform
2259     * @form
2260     * @atomicservice
2261     * @since 12
2262     */
2263    UNKNOWN = 0,
2264
2265    /**
2266     * Indicates that the image has no alpha channel, or all pixels in the image are fully opaque.
2267     *
2268     * @syscap SystemCapability.Multimedia.Image.Core
2269     * @since 9
2270     */
2271    /**
2272     * Indicates that the image has no alpha channel, or all pixels in the image are fully opaque.
2273     *
2274     * @syscap SystemCapability.Multimedia.Image.Core
2275     * @crossplatform
2276     * @since 10
2277     */
2278    /**
2279     * Indicates that the image has no alpha channel, or all pixels in the image are fully opaque.
2280     *
2281     * @syscap SystemCapability.Multimedia.Image.Core
2282     * @crossplatform
2283     * @atomicservice
2284     * @since 11
2285     */
2286    /**
2287     * Indicates that the image has no alpha channel, or all pixels in the image are fully opaque.
2288     *
2289     * @syscap SystemCapability.Multimedia.Image.Core
2290     * @crossplatform
2291     * @form
2292     * @atomicservice
2293     * @since 12
2294     */
2295    OPAQUE = 1,
2296
2297    /**
2298     * Indicates that RGB components of each pixel in the image are premultiplied by alpha.
2299     *
2300     * @syscap SystemCapability.Multimedia.Image.Core
2301     * @since 9
2302     */
2303    /**
2304     * Indicates that RGB components of each pixel in the image are premultiplied by alpha.
2305     *
2306     * @syscap SystemCapability.Multimedia.Image.Core
2307     * @crossplatform
2308     * @since 10
2309     */
2310    /**
2311     * Indicates that RGB components of each pixel in the image are premultiplied by alpha.
2312     *
2313     * @syscap SystemCapability.Multimedia.Image.Core
2314     * @crossplatform
2315     * @atomicservice
2316     * @since 11
2317     */
2318    /**
2319     * Indicates that RGB components of each pixel in the image are premultiplied by alpha.
2320     *
2321     * @syscap SystemCapability.Multimedia.Image.Core
2322     * @crossplatform
2323     * @form
2324     * @atomicservice
2325     * @since 12
2326     */
2327    PREMUL = 2,
2328
2329    /**
2330     * Indicates that RGB components of each pixel in the image are independent of alpha and are not premultiplied by alpha.
2331     *
2332     * @syscap SystemCapability.Multimedia.Image.Core
2333     * @since 9
2334     */
2335    /**
2336     * Indicates that RGB components of each pixel in the image are independent of alpha and are not premultiplied by alpha.
2337     *
2338     * @syscap SystemCapability.Multimedia.Image.Core
2339     * @crossplatform
2340     * @since 10
2341     */
2342    /**
2343     * Indicates that RGB components of each pixel in the image are independent of alpha and are not premultiplied by alpha.
2344     *
2345     * @syscap SystemCapability.Multimedia.Image.Core
2346     * @crossplatform
2347     * @atomicservice
2348     * @since 11
2349     */
2350    /**
2351     * Indicates that RGB components of each pixel in the image are independent of alpha and are not premultiplied by alpha.
2352     *
2353     * @syscap SystemCapability.Multimedia.Image.Core
2354     * @crossplatform
2355     * @form
2356     * @atomicservice
2357     * @since 12
2358     */
2359    UNPREMUL = 3
2360  }
2361
2362  /**
2363   * Enumerates decoding dynamic range.
2364   *
2365   * @enum { number }
2366   * @syscap SystemCapability.Multimedia.Image.Core
2367   * @since 12
2368   */
2369  enum DecodingDynamicRange {
2370    /**
2371     * Decoding according to the content of the image.
2372     *
2373     * @syscap SystemCapability.Multimedia.Image.Core
2374     * @since 12
2375     */
2376    AUTO = 0,
2377
2378    /**
2379     * Decoding to standard dynamic range.
2380     *
2381     * @syscap SystemCapability.Multimedia.Image.Core
2382     * @since 12
2383     */
2384    SDR = 1,
2385
2386    /**
2387     * Decoding to high dynamic range.
2388     *
2389     * @syscap SystemCapability.Multimedia.Image.Core
2390     * @since 12
2391     */
2392    HDR = 2
2393  }
2394
2395  /**
2396   * Enumerates packing dynamic range.
2397   *
2398   * @enum { number }
2399   * @syscap SystemCapability.Multimedia.Image.Core
2400   * @since 12
2401   */
2402  enum PackingDynamicRange {
2403    /**
2404     * Packing according to the content of the image.
2405     *
2406     * @syscap SystemCapability.Multimedia.Image.Core
2407     * @since 12
2408     */
2409    AUTO = 0,
2410
2411    /**
2412     * Packing to standard dynamic range.
2413     *
2414     * @syscap SystemCapability.Multimedia.Image.Core
2415     * @since 12
2416     */
2417    SDR = 1,
2418  }
2419
2420  /**
2421   * Enum for image scale mode.
2422   *
2423   * @enum { number }
2424   * @syscap SystemCapability.Multimedia.Image.Core
2425   * @since 9
2426   */
2427  /**
2428   * Enum for image scale mode.
2429   *
2430   * @enum { number }
2431   * @syscap SystemCapability.Multimedia.Image.Core
2432   * @crossplatform
2433   * @since 10
2434   */
2435  /**
2436   * Enum for image scale mode.
2437   *
2438   * @enum { number }
2439   * @syscap SystemCapability.Multimedia.Image.Core
2440   * @crossplatform
2441   * @atomicservice
2442   * @since 11
2443   */
2444  /**
2445   * Enum for image scale mode.
2446   *
2447   * @enum { number }
2448   * @syscap SystemCapability.Multimedia.Image.Core
2449   * @crossplatform
2450   * @form
2451   * @atomicservice
2452   * @since 12
2453   */
2454  enum ScaleMode {
2455    /**
2456     * Indicates the effect that fits the image into the target size.
2457     *
2458     * @syscap SystemCapability.Multimedia.Image.Core
2459     * @since 9
2460     */
2461    /**
2462     * Indicates the effect that fits the image into the target size.
2463     *
2464     * @syscap SystemCapability.Multimedia.Image.Core
2465     * @crossplatform
2466     * @since 10
2467     */
2468    /**
2469     * Indicates the effect that fits the image into the target size.
2470     *
2471     * @syscap SystemCapability.Multimedia.Image.Core
2472     * @crossplatform
2473     * @atomicservice
2474     * @since 11
2475     */
2476    /**
2477     * Indicates the effect that fits the image into the target size.
2478     *
2479     * @syscap SystemCapability.Multimedia.Image.Core
2480     * @crossplatform
2481     * @form
2482     * @atomicservice
2483     * @since 12
2484     */
2485    FIT_TARGET_SIZE = 0,
2486
2487    /**
2488     * Indicates the effect that scales an image to fill the target image area and center-crops the part outside the area.
2489     *
2490     * @syscap SystemCapability.Multimedia.Image.Core
2491     * @since 9
2492     */
2493    /**
2494     * Indicates the effect that scales an image to fill the target image area and center-crops the part outside the area.
2495     *
2496     * @syscap SystemCapability.Multimedia.Image.Core
2497     * @crossplatform
2498     * @since 10
2499     */
2500    /**
2501     * Indicates the effect that scales an image to fill the target image area and center-crops the part outside the area.
2502     *
2503     * @syscap SystemCapability.Multimedia.Image.Core
2504     * @crossplatform
2505     * @atomicservice
2506     * @since 11
2507     */
2508    /**
2509     * Indicates the effect that scales an image to fill the target image area and center-crops the part outside the area.
2510     *
2511     * @syscap SystemCapability.Multimedia.Image.Core
2512     * @crossplatform
2513     * @form
2514     * @atomicservice
2515     * @since 12
2516     */
2517    CENTER_CROP = 1
2518  }
2519
2520  /**
2521   * The component type of image.
2522   *
2523   * @enum { number }
2524   * @syscap SystemCapability.Multimedia.Image.ImageReceiver
2525   * @since 9
2526   */
2527  enum ComponentType {
2528    /**
2529     * Luma info.
2530     *
2531     * @syscap SystemCapability.Multimedia.Image.ImageReceiver
2532     * @since 9
2533     */
2534    YUV_Y = 1,
2535
2536    /**
2537     * Chrominance info.
2538     *
2539     * @syscap SystemCapability.Multimedia.Image.ImageReceiver
2540     * @since 9
2541     */
2542    YUV_U = 2,
2543
2544    /**
2545     * Chroma info.
2546     *
2547     * @syscap SystemCapability.Multimedia.Image.ImageReceiver
2548     * @since 9
2549     */
2550    YUV_V = 3,
2551
2552    /**
2553     * Jpeg type.
2554     *
2555     * @syscap SystemCapability.Multimedia.Image.ImageReceiver
2556     * @since 9
2557     */
2558    JPEG = 4
2559  }
2560
2561  /**
2562   * Describes region information.
2563   *
2564   * @typedef Region
2565   * @syscap SystemCapability.Multimedia.Image.Core
2566   * @since 8
2567   */
2568  /**
2569   * Describes region information.
2570   *
2571   * @typedef Region
2572   * @syscap SystemCapability.Multimedia.Image.Core
2573   * @crossplatform
2574   * @since 10
2575   */
2576  /**
2577   * Describes region information.
2578   *
2579   * @typedef Region
2580   * @syscap SystemCapability.Multimedia.Image.Core
2581   * @crossplatform
2582   * @atomicservice
2583   * @since 11
2584   */
2585  /**
2586   * Describes region information.
2587   *
2588   * @typedef Region
2589   * @syscap SystemCapability.Multimedia.Image.Core
2590   * @crossplatform
2591   * @form
2592   * @atomicservice
2593   * @since 12
2594   */
2595  interface Region {
2596    /**
2597     * Image size.
2598     *
2599     * @type { Size }
2600     * @syscap SystemCapability.Multimedia.Image.Core
2601     * @since 7
2602     */
2603    /**
2604     * Image size.
2605     *
2606     * @type { Size }
2607     * @syscap SystemCapability.Multimedia.Image.Core
2608     * @crossplatform
2609     * @since 10
2610     */
2611    /**
2612     * Image size.
2613     *
2614     * @type { Size }
2615     * @syscap SystemCapability.Multimedia.Image.Core
2616     * @crossplatform
2617     * @atomicservice
2618     * @since 11
2619     */
2620    /**
2621     * Image size.
2622     *
2623     * @type { Size }
2624     * @syscap SystemCapability.Multimedia.Image.Core
2625     * @crossplatform
2626     * @form
2627     * @atomicservice
2628     * @since 12
2629     */
2630    size: Size;
2631
2632    /**
2633     * x-coordinate at the upper left corner of the image.
2634     *
2635     * @type { number }
2636     * @syscap SystemCapability.Multimedia.Image.Core
2637     * @since 7
2638     */
2639    /**
2640     * x-coordinate at the upper left corner of the image.
2641     *
2642     * @type { number }
2643     * @syscap SystemCapability.Multimedia.Image.Core
2644     * @crossplatform
2645     * @since 10
2646     */
2647    /**
2648     * x-coordinate at the upper left corner of the image.
2649     *
2650     * @type { number }
2651     * @syscap SystemCapability.Multimedia.Image.Core
2652     * @crossplatform
2653     * @atomicservice
2654     * @since 11
2655     */
2656    /**
2657     * x-coordinate at the upper left corner of the image.
2658     *
2659     * @type { number }
2660     * @syscap SystemCapability.Multimedia.Image.Core
2661     * @crossplatform
2662     * @form
2663     * @atomicservice
2664     * @since 12
2665     */
2666    x: number;
2667
2668    /**
2669     * y-coordinate at the upper left corner of the image.
2670     *
2671     * @type { number }
2672     * @syscap SystemCapability.Multimedia.Image.Core
2673     * @since 7
2674     */
2675    /**
2676     * y-coordinate at the upper left corner of the image.
2677     *
2678     * @type { number }
2679     * @syscap SystemCapability.Multimedia.Image.Core
2680     * @crossplatform
2681     * @since 10
2682     */
2683    /**
2684     * y-coordinate at the upper left corner of the image.
2685     *
2686     * @type { number }
2687     * @syscap SystemCapability.Multimedia.Image.Core
2688     * @crossplatform
2689     * @atomicservice
2690     * @since 11
2691     */
2692    /**
2693     * y-coordinate at the upper left corner of the image.
2694     *
2695     * @type { number }
2696     * @syscap SystemCapability.Multimedia.Image.Core
2697     * @crossplatform
2698     * @form
2699     * @atomicservice
2700     * @since 12
2701     */
2702    y: number;
2703  }
2704
2705  /**
2706   * Describes area information in an image.
2707   *
2708   * @typedef PositionArea
2709   * @syscap SystemCapability.Multimedia.Image.Core
2710   * @since 7
2711   */
2712  /**
2713   * Describes area information in an image.
2714   *
2715   * @typedef PositionArea
2716   * @syscap SystemCapability.Multimedia.Image.Core
2717   * @crossplatform
2718   * @since 10
2719   */
2720  /**
2721   * Describes area information in an image.
2722   *
2723   * @typedef PositionArea
2724   * @syscap SystemCapability.Multimedia.Image.Core
2725   * @crossplatform
2726   * @atomicservice
2727   * @since 11
2728   */
2729  /**
2730   * Describes area information in an image.
2731   *
2732   * @typedef PositionArea
2733   * @syscap SystemCapability.Multimedia.Image.Core
2734   * @crossplatform
2735   * @form
2736   * @atomicservice
2737   * @since 12
2738   */
2739  interface PositionArea {
2740    /**
2741     * Image data that will be read or written.
2742     *
2743     * @type { ArrayBuffer }
2744     * @syscap SystemCapability.Multimedia.Image.Core
2745     * @since 7
2746     */
2747    /**
2748     * Image data that will be read or written.
2749     *
2750     * @type { ArrayBuffer }
2751     * @syscap SystemCapability.Multimedia.Image.Core
2752     * @crossplatform
2753     * @since 10
2754     */
2755    /**
2756     * Image data that will be read or written.
2757     *
2758     * @type { ArrayBuffer }
2759     * @syscap SystemCapability.Multimedia.Image.Core
2760     * @crossplatform
2761     * @atomicservice
2762     * @since 11
2763     */
2764    /**
2765     * Image data that will be read or written.
2766     *
2767     * @type { ArrayBuffer }
2768     * @syscap SystemCapability.Multimedia.Image.Core
2769     * @crossplatform
2770     * @form
2771     * @atomicservice
2772     * @since 12
2773     */
2774    pixels: ArrayBuffer;
2775
2776    /**
2777     * Offset for data reading.
2778     *
2779     * @type { number }
2780     * @syscap SystemCapability.Multimedia.Image.Core
2781     * @since 7
2782     */
2783    /**
2784     * Offset for data reading.
2785     *
2786     * @type { number }
2787     * @syscap SystemCapability.Multimedia.Image.Core
2788     * @crossplatform
2789     * @since 10
2790     */
2791    /**
2792     * Offset for data reading.
2793     *
2794     * @type { number }
2795     * @syscap SystemCapability.Multimedia.Image.Core
2796     * @crossplatform
2797     * @atomicservice
2798     * @since 11
2799     */
2800    /**
2801     * Offset for data reading.
2802     *
2803     * @type { number }
2804     * @syscap SystemCapability.Multimedia.Image.Core
2805     * @crossplatform
2806     * @form
2807     * @atomicservice
2808     * @since 12
2809     */
2810    offset: number;
2811
2812    /**
2813     * Number of bytes to read.
2814     *
2815     * @type { number }
2816     * @syscap SystemCapability.Multimedia.Image.Core
2817     * @since 7
2818     */
2819    /**
2820     * Number of bytes to read.
2821     *
2822     * @type { number }
2823     * @syscap SystemCapability.Multimedia.Image.Core
2824     * @crossplatform
2825     * @since 10
2826     */
2827    /**
2828     * Number of bytes to read.
2829     *
2830     * @type { number }
2831     * @syscap SystemCapability.Multimedia.Image.Core
2832     * @crossplatform
2833     * @atomicservice
2834     * @since 11
2835     */
2836    /**
2837     * Number of bytes to read.
2838     *
2839     * @type { number }
2840     * @syscap SystemCapability.Multimedia.Image.Core
2841     * @crossplatform
2842     * @form
2843     * @atomicservice
2844     * @since 12
2845     */
2846    stride: number;
2847
2848    /**
2849     * Region to read.
2850     *
2851     * @type { Region }
2852     * @syscap SystemCapability.Multimedia.Image.Core
2853     * @since 7
2854     */
2855    /**
2856     * Region to read.
2857     *
2858     * @type { Region }
2859     * @syscap SystemCapability.Multimedia.Image.Core
2860     * @crossplatform
2861     * @since 10
2862     */
2863    /**
2864     * Region to read.
2865     *
2866     * @type { Region }
2867     * @syscap SystemCapability.Multimedia.Image.Core
2868     * @crossplatform
2869     * @atomicservice
2870     * @since 11
2871     */
2872    /**
2873     * Region to read.
2874     *
2875     * @type { Region }
2876     * @syscap SystemCapability.Multimedia.Image.Core
2877     * @crossplatform
2878     * @form
2879     * @atomicservice
2880     * @since 12
2881     */
2882    region: Region;
2883  }
2884
2885  /**
2886   * Describes image information.
2887   *
2888   * @typedef ImageInfo
2889   * @syscap SystemCapability.Multimedia.Image.Core
2890   * @since 6
2891   */
2892  /**
2893   * Describes image information.
2894   *
2895   * @typedef ImageInfo
2896   * @syscap SystemCapability.Multimedia.Image.Core
2897   * @crossplatform
2898   * @since 10
2899   */
2900  /**
2901   * Describes image information.
2902   *
2903   * @typedef ImageInfo
2904   * @syscap SystemCapability.Multimedia.Image.Core
2905   * @crossplatform
2906   * @atomicservice
2907   * @since 11
2908   */
2909  /**
2910   * Describes image information.
2911   *
2912   * @typedef ImageInfo
2913   * @syscap SystemCapability.Multimedia.Image.Core
2914   * @crossplatform
2915   * @form
2916   * @atomicservice
2917   * @since 12
2918   */
2919  interface ImageInfo {
2920    /**
2921     * Indicates image dimensions specified by a {@link Size} interface.
2922     *
2923     * @type { Size }
2924     * @syscap SystemCapability.Multimedia.Image.Core
2925     * @since 6
2926     */
2927    /**
2928     * Indicates image dimensions specified by a {@link Size} interface.
2929     *
2930     * @type { Size }
2931     * @syscap SystemCapability.Multimedia.Image.Core
2932     * @crossplatform
2933     * @since 10
2934     */
2935    /**
2936     * Indicates image dimensions specified by a {@link Size} interface.
2937     *
2938     * @type { Size }
2939     * @syscap SystemCapability.Multimedia.Image.Core
2940     * @crossplatform
2941     * @atomicservice
2942     * @since 11
2943     */
2944    /**
2945     * Indicates image dimensions specified by a {@link Size} interface.
2946     *
2947     * @type { Size }
2948     * @syscap SystemCapability.Multimedia.Image.Core
2949     * @crossplatform
2950     * @form
2951     * @atomicservice
2952     * @since 12
2953     */
2954    size: Size;
2955
2956    /**
2957     * Indicates image default density.
2958     *
2959     * @type { number }
2960     * @syscap SystemCapability.Multimedia.Image.Core
2961     * @since 9
2962     */
2963    /**
2964     * Indicates image default density.
2965     *
2966     * @type { number }
2967     * @syscap SystemCapability.Multimedia.Image.Core
2968     * @crossplatform
2969     * @since 10
2970     */
2971    /**
2972     * Indicates image default density.
2973     *
2974     * @type { number }
2975     * @syscap SystemCapability.Multimedia.Image.Core
2976     * @crossplatform
2977     * @atomicservice
2978     * @since 11
2979     */
2980    /**
2981     * Indicates image default density.
2982     *
2983     * @type { number }
2984     * @syscap SystemCapability.Multimedia.Image.Core
2985     * @crossplatform
2986     * @form
2987     * @atomicservice
2988     * @since 12
2989     */
2990    density: number;
2991
2992    /**
2993     * The number of byte per row.
2994     *
2995     * @type { number }
2996     * @syscap SystemCapability.Multimedia.Image.Core
2997     * @atomicservice
2998     * @since 11
2999     */
3000    /**
3001     * The number of byte per row.
3002     *
3003     * @type { number }
3004     * @syscap SystemCapability.Multimedia.Image.Core
3005     * @form
3006     * @atomicservice
3007     * @since 12
3008     */
3009    stride: number;
3010
3011    /**
3012     * Indicates image format.
3013     *
3014     * @type { PixelMapFormat }
3015     * @syscap SystemCapability.Multimedia.Image.Core
3016     * @crossplatform
3017     * @form
3018     * @atomicservice
3019     * @since 12
3020     */
3021    pixelFormat: PixelMapFormat;
3022
3023    /**
3024     * Indicates image alpha type.
3025     *
3026     * @type { AlphaType }
3027     * @syscap SystemCapability.Multimedia.Image.Core
3028     * @crossplatform
3029     * @form
3030     * @atomicservice
3031     * @since 12
3032     */
3033    alphaType: AlphaType;
3034
3035    /**
3036     * Indicates image mime type.
3037     *
3038     * @type { string }
3039     * @syscap SystemCapability.Multimedia.Image.Core
3040     * @crossplatform
3041     * @since 12
3042     */
3043    mimeType: string;
3044
3045    /**
3046     * Indicates whether the image high dynamic range
3047     *
3048     * @type { boolean }
3049     * @syscap SystemCapability.Multimedia.Image.Core
3050     * @since 12
3051     */
3052    isHdr: boolean;
3053  }
3054
3055  /**
3056   * Describes the option for image packing.
3057   *
3058   * @typedef PackingOption
3059   * @syscap SystemCapability.Multimedia.Image.ImagePacker
3060   * @since 6
3061   */
3062  /**
3063   * Describes the option for image packing.
3064   *
3065   * @typedef PackingOption
3066   * @syscap SystemCapability.Multimedia.Image.ImagePacker
3067   * @crossplatform
3068   * @since 10
3069   */
3070  /**
3071   * Describes the option for image packing.
3072   *
3073   * @typedef PackingOption
3074   * @syscap SystemCapability.Multimedia.Image.ImagePacker
3075   * @crossplatform
3076   * @atomicservice
3077   * @since 11
3078   */
3079  interface PackingOption {
3080    /**
3081     * Multipurpose Internet Mail Extensions (MIME) format of the target image, for example, image/jpeg.
3082     *
3083     * @type { string }
3084     * @syscap SystemCapability.Multimedia.Image.ImagePacker
3085     * @since 6
3086     */
3087    /**
3088     * Multipurpose Internet Mail Extensions (MIME) format of the target image, for example, image/jpeg.
3089     *
3090     * @type { string }
3091     * @syscap SystemCapability.Multimedia.Image.ImagePacker
3092     * @crossplatform
3093     * @since 10
3094     */
3095    /**
3096     * Multipurpose Internet Mail Extensions (MIME) format of the target image, for example, image/jpeg.
3097     *
3098     * @type { string }
3099     * @syscap SystemCapability.Multimedia.Image.ImagePacker
3100     * @crossplatform
3101     * @atomicservice
3102     * @since 11
3103     */
3104    format: string;
3105
3106    /**
3107     * Quality of the target image. The value is an integer ranging from 0 to 100. A larger value indicates better.
3108     *
3109     * @type { number }
3110     * @syscap SystemCapability.Multimedia.Image.ImagePacker
3111     * @since 6
3112     */
3113    /**
3114     * Quality of the target image. The value is an integer ranging from 0 to 100. A larger value indicates better.
3115     *
3116     * @type { number }
3117     * @syscap SystemCapability.Multimedia.Image.ImagePacker
3118     * @crossplatform
3119     * @since 10
3120     */
3121    /**
3122     * Quality of the target image. The value is an integer ranging from 0 to 100. A larger value indicates better.
3123     *
3124     * @type { number }
3125     * @syscap SystemCapability.Multimedia.Image.ImagePacker
3126     * @crossplatform
3127     * @atomicservice
3128     * @since 11
3129     */
3130    quality: number;
3131
3132    /**
3133     * BufferSize of the target image.
3134     * If this bufferSize is less than or equal to 0, it will be converted to 10MB.
3135     *
3136     * @type { ?number }
3137     * @syscap SystemCapability.Multimedia.Image.ImagePacker
3138     * @since 9
3139     */
3140    /**
3141     * BufferSize of the target image.
3142     * If this bufferSize is less than or equal to 0, it will be converted to 10MB.
3143     *
3144     * @type { ?number }
3145     * @syscap SystemCapability.Multimedia.Image.ImagePacker
3146     * @crossplatform
3147     * @since 10
3148     */
3149    /**
3150     * BufferSize of the target image.
3151     * If this bufferSize is less than or equal to 0, it will be converted to 10MB.
3152     *
3153     * @type { ?number }
3154     * @syscap SystemCapability.Multimedia.Image.ImagePacker
3155     * @crossplatform
3156     * @atomicservice
3157     * @since 11
3158     */
3159    bufferSize?: number;
3160
3161    /**
3162     * The desired dynamic range of the target image.
3163     *
3164     * @type { ?PackingDynamicRange }
3165     * @syscap SystemCapability.Multimedia.Image.ImagePacker
3166     * @since 12
3167     */
3168    desiredDynamicRange?: PackingDynamicRange;
3169  }
3170
3171  /**
3172   * Describes image properties.
3173   *
3174   * @typedef GetImagePropertyOptions
3175   * @syscap SystemCapability.Multimedia.Image.ImageSource
3176   * @since 7
3177   * @deprecated since 11
3178   * @useinstead image.ImagePropertyOptions
3179   */
3180  /**
3181   * Describes image properties.
3182   *
3183   * @typedef GetImagePropertyOptions
3184   * @syscap SystemCapability.Multimedia.Image.ImageSource
3185   * @crossplatform
3186   * @since 10
3187   * @deprecated since 11
3188   * @useinstead image.ImagePropertyOptions
3189   */
3190  interface GetImagePropertyOptions {
3191    /**
3192     * Index of an image.
3193     *
3194     * @type { ?number }
3195     * @syscap SystemCapability.Multimedia.Image.ImageSource
3196     * @since 7
3197     * @deprecated since 11
3198     * @useinstead image.ImagePropertyOptions#index
3199     */
3200    /**
3201     * Index of an image.
3202     *
3203     * @type { ?number }
3204     * @syscap SystemCapability.Multimedia.Image.ImageSource
3205     * @crossplatform
3206     * @since 10
3207     * @deprecated since 11
3208     * @useinstead image.ImagePropertyOptions#index
3209     */
3210    index?: number;
3211
3212    /**
3213     * Default property value.
3214     *
3215     * @type { ?string }
3216     * @syscap SystemCapability.Multimedia.Image.ImageSource
3217     * @since 7
3218     * @deprecated since 11
3219     * @useinstead image.ImagePropertyOptions#defaultValue
3220     */
3221    /**
3222     * Default property value.
3223     *
3224     * @type { ?string }
3225     * @syscap SystemCapability.Multimedia.Image.ImageSource
3226     * @crossplatform
3227     * @since 10
3228     * @deprecated since 11
3229     * @useinstead image.ImagePropertyOptions#defaultValue
3230     */
3231    defaultValue?: string;
3232  }
3233
3234  /**
3235   * Describes image properties.
3236   *
3237   * @typedef ImagePropertyOptions
3238   * @syscap SystemCapability.Multimedia.Image.ImageSource
3239   * @crossplatform
3240   * @since 11
3241   */
3242  interface ImagePropertyOptions {
3243    /**
3244     * Index of an image.
3245     *
3246     * @type { ?number }
3247     * @syscap SystemCapability.Multimedia.Image.ImageSource
3248     * @crossplatform
3249     * @since 11
3250     */
3251    index?: number;
3252
3253    /**
3254     * Default property value.
3255     *
3256     * @type { ?string }
3257     * @syscap SystemCapability.Multimedia.Image.ImageSource
3258     * @crossplatform
3259     * @since 11
3260     */
3261    defaultValue?: string;
3262  }
3263
3264  /**
3265   * Describes image decoding parameters.
3266   *
3267   * @typedef DecodingOptions
3268   * @syscap SystemCapability.Multimedia.Image.ImageSource
3269   * @since 7
3270   */
3271  /**
3272   * Describes image decoding parameters.
3273   *
3274   * @typedef DecodingOptions
3275   * @syscap SystemCapability.Multimedia.Image.ImageSource
3276   * @crossplatform
3277   * @since 10
3278   */
3279  /**
3280   * Describes image decoding parameters.
3281   *
3282   * @typedef DecodingOptions
3283   * @syscap SystemCapability.Multimedia.Image.ImageSource
3284   * @crossplatform
3285   * @atomicservice
3286   * @since 11
3287   */
3288  /**
3289   * Describes image decoding parameters.
3290   *
3291   * @typedef DecodingOptions
3292   * @syscap SystemCapability.Multimedia.Image.ImageSource
3293   * @crossplatform
3294   * @form
3295   * @atomicservice
3296   * @since 12
3297   */
3298  interface DecodingOptions {
3299    /**
3300     * Number of image frames.
3301     *
3302     * @type { ?number }
3303     * @syscap SystemCapability.Multimedia.Image.ImageSource
3304     * @since 7
3305     */
3306    /**
3307     * Number of image frames.
3308     *
3309     * @type { ?number }
3310     * @syscap SystemCapability.Multimedia.Image.ImageSource
3311     * @crossplatform
3312     * @since 10
3313     */
3314    /**
3315     * Number of image frames.
3316     *
3317     * @type { ?number }
3318     * @syscap SystemCapability.Multimedia.Image.ImageSource
3319     * @crossplatform
3320     * @atomicservice
3321     * @since 11
3322     */
3323    /**
3324     * Number of image frames.
3325     *
3326     * @type { ?number }
3327     * @syscap SystemCapability.Multimedia.Image.ImageSource
3328     * @crossplatform
3329     * @form
3330     * @atomicservice
3331     * @since 12
3332     */
3333    index?: number;
3334
3335    /**
3336     * Sampling ratio of the image pixel map.
3337     *
3338     * @type { ?number }
3339     * @syscap SystemCapability.Multimedia.Image.ImageSource
3340     * @since 7
3341     */
3342    /**
3343     * Sampling ratio of the image pixel map.
3344     *
3345     * @type { ?number }
3346     * @syscap SystemCapability.Multimedia.Image.ImageSource
3347     * @crossplatform
3348     * @since 10
3349     */
3350    /**
3351     * Sampling ratio of the image pixel map.
3352     *
3353     * @type { ?number }
3354     * @syscap SystemCapability.Multimedia.Image.ImageSource
3355     * @crossplatform
3356     * @atomicservice
3357     * @since 11
3358     */
3359    /**
3360     * Sampling ratio of the image pixel map.
3361     *
3362     * @type { ?number }
3363     * @syscap SystemCapability.Multimedia.Image.ImageSource
3364     * @crossplatform
3365     * @form
3366     * @atomicservice
3367     * @since 12
3368     */
3369    sampleSize?: number;
3370
3371    /**
3372     * Rotation angle of the image pixel map. The value ranges from 0 to 360.
3373     *
3374     * @type { ?number }
3375     * @syscap SystemCapability.Multimedia.Image.ImageSource
3376     * @since 7
3377     */
3378    /**
3379     * Rotation angle of the image pixel map. The value ranges from 0 to 360.
3380     *
3381     * @type { ?number }
3382     * @syscap SystemCapability.Multimedia.Image.ImageSource
3383     * @crossplatform
3384     * @since 10
3385     */
3386    /**
3387     * Rotation angle of the image pixel map. The value ranges from 0 to 360.
3388     *
3389     * @type { ?number }
3390     * @syscap SystemCapability.Multimedia.Image.ImageSource
3391     * @crossplatform
3392     * @atomicservice
3393     * @since 11
3394     */
3395    /**
3396     * Rotation angle of the image pixel map. The value ranges from 0 to 360.
3397     *
3398     * @type { ?number }
3399     * @syscap SystemCapability.Multimedia.Image.ImageSource
3400     * @crossplatform
3401     * @form
3402     * @atomicservice
3403     * @since 12
3404     */
3405    rotate?: number;
3406
3407    /**
3408     * Whether the image pixel map is editable.
3409     *
3410     * @type { ?boolean }
3411     * @syscap SystemCapability.Multimedia.Image.ImageSource
3412     * @since 7
3413     */
3414    /**
3415     * Whether the image pixel map is editable.
3416     *
3417     * @type { ?boolean }
3418     * @syscap SystemCapability.Multimedia.Image.ImageSource
3419     * @crossplatform
3420     * @since 10
3421     */
3422    /**
3423     * Whether the image pixel map is editable.
3424     *
3425     * @type { ?boolean }
3426     * @syscap SystemCapability.Multimedia.Image.ImageSource
3427     * @crossplatform
3428     * @atomicservice
3429     * @since 11
3430     */
3431    /**
3432     * Whether the image pixel map is editable.
3433     *
3434     * @type { ?boolean }
3435     * @syscap SystemCapability.Multimedia.Image.ImageSource
3436     * @crossplatform
3437     * @form
3438     * @atomicservice
3439     * @since 12
3440     */
3441    editable?: boolean;
3442
3443    /**
3444     * Width and height of the image pixel map. The value (0, 0) indicates that the pixels are decoded
3445     * based on the original image size.
3446     *
3447     * @type { ?Size }
3448     * @syscap SystemCapability.Multimedia.Image.ImageSource
3449     * @since 7
3450     */
3451    /**
3452     * Width and height of the image pixel map. The value (0, 0) indicates that the pixels are decoded
3453     * based on the original image size.
3454     *
3455     * @type { ?Size }
3456     * @syscap SystemCapability.Multimedia.Image.ImageSource
3457     * @crossplatform
3458     * @since 10
3459     */
3460    /**
3461     * Width and height of the image pixel map. The value (0, 0) indicates that the pixels are decoded
3462     * based on the original image size.
3463     *
3464     * @type { ?Size }
3465     * @syscap SystemCapability.Multimedia.Image.ImageSource
3466     * @crossplatform
3467     * @atomicservice
3468     * @since 11
3469     */
3470    /**
3471     * Width and height of the image pixel map. The value (0, 0) indicates that the pixels are decoded
3472     * based on the original image size.
3473     *
3474     * @type { ?Size }
3475     * @syscap SystemCapability.Multimedia.Image.ImageSource
3476     * @crossplatform
3477     * @form
3478     * @atomicservice
3479     * @since 12
3480     */
3481    desiredSize?: Size;
3482
3483    /**
3484     * Cropping region of the image pixel map.
3485     *
3486     * @type { ?Region }
3487     * @syscap SystemCapability.Multimedia.Image.ImageSource
3488     * @since 7
3489     */
3490    /**
3491     * Cropping region of the image pixel map.
3492     *
3493     * @type { ?Region }
3494     * @syscap SystemCapability.Multimedia.Image.ImageSource
3495     * @crossplatform
3496     * @since 10
3497     */
3498    /**
3499     * Cropping region of the image pixel map.
3500     *
3501     * @type { ?Region }
3502     * @syscap SystemCapability.Multimedia.Image.ImageSource
3503     * @crossplatform
3504     * @atomicservice
3505     * @since 11
3506     */
3507    /**
3508     * Cropping region of the image pixel map.
3509     *
3510     * @type { ?Region }
3511     * @syscap SystemCapability.Multimedia.Image.ImageSource
3512     * @crossplatform
3513     * @form
3514     * @atomicservice
3515     * @since 12
3516     */
3517    desiredRegion?: Region;
3518
3519    /**
3520     * Data format of the image pixel map.
3521     *
3522     * @type { ?PixelMapFormat }
3523     * @syscap SystemCapability.Multimedia.Image.ImageSource
3524     * @since 7
3525     */
3526    /**
3527     * Data format of the image pixel map.
3528     *
3529     * @type { ?PixelMapFormat }
3530     * @syscap SystemCapability.Multimedia.Image.ImageSource
3531     * @crossplatform
3532     * @since 10
3533     */
3534    /**
3535     * Data format of the image pixel map.
3536     *
3537     * @type { ?PixelMapFormat }
3538     * @syscap SystemCapability.Multimedia.Image.ImageSource
3539     * @crossplatform
3540     * @atomicservice
3541     * @since 11
3542     */
3543    /**
3544     * Data format of the image pixel map.
3545     *
3546     * @type { ?PixelMapFormat }
3547     * @syscap SystemCapability.Multimedia.Image.ImageSource
3548     * @crossplatform
3549     * @form
3550     * @atomicservice
3551     * @since 12
3552     */
3553    desiredPixelFormat?: PixelMapFormat;
3554
3555    /**
3556     * The density for image pixel map.
3557     *
3558     * @type { ?number }
3559     * @syscap SystemCapability.Multimedia.Image.ImageSource
3560     * @since 9
3561     */
3562    /**
3563     * The density for image pixel map.
3564     *
3565     * @type { ?number }
3566     * @syscap SystemCapability.Multimedia.Image.ImageSource
3567     * @crossplatform
3568     * @since 10
3569     */
3570    /**
3571     * The density for image pixel map.
3572     *
3573     * @type { ?number }
3574     * @syscap SystemCapability.Multimedia.Image.ImageSource
3575     * @crossplatform
3576     * @atomicservice
3577     * @since 11
3578     */
3579    /**
3580     * The density for image pixel map.
3581     *
3582     * @type { ?number }
3583     * @syscap SystemCapability.Multimedia.Image.ImageSource
3584     * @crossplatform
3585     * @form
3586     * @atomicservice
3587     * @since 12
3588     */
3589    fitDensity?: number;
3590
3591    /**
3592     * Color space of the image pixel map.
3593     *
3594     * @type { ?colorSpaceManager.ColorSpaceManager }
3595     * @syscap SystemCapability.Multimedia.Image.ImageSource
3596     * @crossplatform
3597     * @since 11
3598     */
3599    desiredColorSpace?: colorSpaceManager.ColorSpaceManager;
3600
3601    /**
3602     * The desired dynamic range of the image pixelmap.
3603     *
3604     * @type { ?DecodingDynamicRange }
3605     * @syscap SystemCapability.Multimedia.Image.ImageSource
3606     * @since 12
3607     */
3608    desiredDynamicRange?: DecodingDynamicRange;
3609
3610    /**
3611     * Resolution Quality of the image.
3612     *
3613     * @type { ?ResolutionQuality }
3614     * @syscap SystemCapability.Multimedia.Image.ImageSource
3615     * @systemapi
3616     * @since 12
3617     */
3618    resolutionQuality?: ResolutionQuality;
3619  }
3620
3621  /**
3622   * Describes image color components.
3623   *
3624   * @typedef Component
3625   * @syscap SystemCapability.Multimedia.Image.Core
3626   * @since 9
3627   */
3628  interface Component {
3629    /**
3630     * Component type.
3631     *
3632     * @type { ComponentType }
3633     * @syscap SystemCapability.Multimedia.Image.Core
3634     * @since 9
3635     */
3636    readonly componentType: ComponentType;
3637
3638    /**
3639     * Row stride.
3640     *
3641     * @type { number }
3642     * @syscap SystemCapability.Multimedia.Image.Core
3643     * @since 9
3644     */
3645    readonly rowStride: number;
3646
3647    /**
3648     * Pixel stride.
3649     *
3650     * @type { number }
3651     * @syscap SystemCapability.Multimedia.Image.Core
3652     * @since 9
3653     */
3654    readonly pixelStride: number;
3655
3656    /**
3657     * Component buffer.
3658     *
3659     * @type { ArrayBuffer }
3660     * @syscap SystemCapability.Multimedia.Image.Core
3661     * @since 9
3662     */
3663    readonly byteBuffer: ArrayBuffer;
3664  }
3665
3666  /**
3667   * Initialization options for pixelmap.
3668   *
3669   * @typedef InitializationOptions
3670   * @syscap SystemCapability.Multimedia.Image.Core
3671   * @since 8
3672   */
3673  /**
3674   * Initialization options for pixelmap.
3675   *
3676   * @typedef InitializationOptions
3677   * @syscap SystemCapability.Multimedia.Image.Core
3678   * @crossplatform
3679   * @since 10
3680   */
3681  /**
3682   * Initialization options for pixelmap.
3683   *
3684   * @typedef InitializationOptions
3685   * @syscap SystemCapability.Multimedia.Image.Core
3686   * @crossplatform
3687   * @atomicservice
3688   * @since 11
3689   */
3690  /**
3691   * Initialization options for pixelmap.
3692   *
3693   * @typedef InitializationOptions
3694   * @syscap SystemCapability.Multimedia.Image.Core
3695   * @crossplatform
3696   * @form
3697   * @atomicservice
3698   * @since 12
3699   */
3700  interface InitializationOptions {
3701    /**
3702     * PixelMap size.
3703     *
3704     * @type { Size }
3705     * @syscap SystemCapability.Multimedia.Image.Core
3706     * @since 8
3707     */
3708    /**
3709     * PixelMap size.
3710     *
3711     * @type { Size }
3712     * @syscap SystemCapability.Multimedia.Image.Core
3713     * @crossplatform
3714     * @since 10
3715     */
3716    /**
3717     * PixelMap size.
3718     *
3719     * @type { Size }
3720     * @syscap SystemCapability.Multimedia.Image.Core
3721     * @crossplatform
3722     * @atomicservice
3723     * @since 11
3724     */
3725    /**
3726     * PixelMap size.
3727     *
3728     * @type { Size }
3729     * @syscap SystemCapability.Multimedia.Image.Core
3730     * @crossplatform
3731     * @form
3732     * @atomicservice
3733     * @since 12
3734     */
3735    size: Size;
3736
3737    /**
3738     * PixelMap source format.
3739     *
3740     * @type { ?PixelMapFormat }
3741     * @syscap SystemCapability.Multimedia.Image.Core
3742     * @since 12
3743     */
3744    srcPixelFormat?: PixelMapFormat;
3745
3746    /**
3747     * PixelMap expected format.
3748     *
3749     * @type { ?PixelMapFormat }
3750     * @syscap SystemCapability.Multimedia.Image.Core
3751     * @since 8
3752     */
3753    /**
3754     * PixelMap expected format.
3755     *
3756     * @type { ?PixelMapFormat }
3757     * @syscap SystemCapability.Multimedia.Image.Core
3758     * @crossplatform
3759     * @since 10
3760     */
3761    /**
3762     * PixelMap expected format.
3763     *
3764     * @type { ?PixelMapFormat }
3765     * @syscap SystemCapability.Multimedia.Image.Core
3766     * @crossplatform
3767     * @atomicservice
3768     * @since 11
3769     */
3770    /**
3771     * PixelMap expected format.
3772     *
3773     * @type { ?PixelMapFormat }
3774     * @syscap SystemCapability.Multimedia.Image.Core
3775     * @crossplatform
3776     * @form
3777     * @atomicservice
3778     * @since 12
3779     */
3780    pixelFormat?: PixelMapFormat;
3781
3782    /**
3783     * Editable or not.
3784     *
3785     * @type { ?boolean }
3786     * @syscap SystemCapability.Multimedia.Image.Core
3787     * @since 8
3788     */
3789    /**
3790     * Editable or not.
3791     *
3792     * @type { ?boolean }
3793     * @syscap SystemCapability.Multimedia.Image.Core
3794     * @crossplatform
3795     * @since 10
3796     */
3797    /**
3798     * Editable or not.
3799     *
3800     * @type { ?boolean }
3801     * @syscap SystemCapability.Multimedia.Image.Core
3802     * @crossplatform
3803     * @atomicservice
3804     * @since 11
3805     */
3806    /**
3807     * Editable or not.
3808     *
3809     * @type { ?boolean }
3810     * @syscap SystemCapability.Multimedia.Image.Core
3811     * @crossplatform
3812     * @form
3813     * @atomicservice
3814     * @since 12
3815     */
3816    editable?: boolean;
3817
3818    /**
3819     * PixelMap expected alpha type.
3820     *
3821     * @type { ?AlphaType }
3822     * @syscap SystemCapability.Multimedia.Image.Core
3823     * @since 9
3824     */
3825    /**
3826     * PixelMap expected alpha type.
3827     *
3828     * @type { ?AlphaType }
3829     * @syscap SystemCapability.Multimedia.Image.Core
3830     * @crossplatform
3831     * @since 10
3832     */
3833    /**
3834     * PixelMap expected alpha type.
3835     *
3836     * @type { ?AlphaType }
3837     * @syscap SystemCapability.Multimedia.Image.Core
3838     * @crossplatform
3839     * @atomicservice
3840     * @since 11
3841     */
3842    /**
3843     * PixelMap expected alpha type.
3844     *
3845     * @type { ?AlphaType }
3846     * @syscap SystemCapability.Multimedia.Image.Core
3847     * @crossplatform
3848     * @form
3849     * @atomicservice
3850     * @since 12
3851     */
3852    alphaType?: AlphaType;
3853
3854    /**
3855     * PixelMap expected scaling effect.
3856     *
3857     * @type { ?ScaleMode }
3858     * @syscap SystemCapability.Multimedia.Image.Core
3859     * @since 9
3860     */
3861    /**
3862     * PixelMap expected scaling effect.
3863     *
3864     * @type { ?ScaleMode }
3865     * @syscap SystemCapability.Multimedia.Image.Core
3866     * @crossplatform
3867     * @since 10
3868     */
3869    /**
3870     * PixelMap expected scaling effect.
3871     *
3872     * @type { ?ScaleMode }
3873     * @syscap SystemCapability.Multimedia.Image.Core
3874     * @crossplatform
3875     * @atomicservice
3876     * @since 11
3877     */
3878    /**
3879     * PixelMap expected scaling effect.
3880     *
3881     * @type { ?ScaleMode }
3882     * @syscap SystemCapability.Multimedia.Image.Core
3883     * @crossplatform
3884     * @form
3885     * @atomicservice
3886     * @since 12
3887     */
3888    scaleMode?: ScaleMode;
3889  }
3890
3891  /**
3892   * Initialization options for ImageSource.
3893   *
3894   * @typedef SourceOptions
3895   * @syscap SystemCapability.Multimedia.Image.Core
3896   * @since 9
3897   */
3898  /**
3899   * Initialization options for ImageSource.
3900   *
3901   * @typedef SourceOptions
3902   * @syscap SystemCapability.Multimedia.Image.Core
3903   * @crossplatform
3904   * @since 10
3905   */
3906  /**
3907   * Initialization options for ImageSource.
3908   *
3909   * @typedef SourceOptions
3910   * @syscap SystemCapability.Multimedia.Image.Core
3911   * @crossplatform
3912   * @atomicservice
3913   * @since 11
3914   */
3915  /**
3916   * Initialization options for ImageSource.
3917   *
3918   * @typedef SourceOptions
3919   * @syscap SystemCapability.Multimedia.Image.Core
3920   * @crossplatform
3921   * @form
3922   * @atomicservice
3923   * @since 12
3924   */
3925  interface SourceOptions {
3926    /**
3927     * The density for ImageSource.
3928     *
3929     * @type { number }
3930     * @syscap SystemCapability.Multimedia.Image.Core
3931     * @since 9
3932     */
3933    /**
3934     * The density for ImageSource.
3935     *
3936     * @type { number }
3937     * @syscap SystemCapability.Multimedia.Image.Core
3938     * @crossplatform
3939     * @since 10
3940     */
3941    /**
3942     * The density for ImageSource.
3943     *
3944     * @type { number }
3945     * @syscap SystemCapability.Multimedia.Image.Core
3946     * @crossplatform
3947     * @atomicservice
3948     * @since 11
3949     */
3950    /**
3951     * The density for ImageSource.
3952     *
3953     * @type { number }
3954     * @syscap SystemCapability.Multimedia.Image.Core
3955     * @crossplatform
3956     * @form
3957     * @atomicservice
3958     * @since 12
3959     */
3960    sourceDensity: number;
3961
3962    /**
3963     * PixelMap expected format.
3964     *
3965     * @type { ?PixelMapFormat }
3966     * @syscap SystemCapability.Multimedia.Image.Core
3967     * @since 9
3968     */
3969    /**
3970     * PixelMap expected format.
3971     *
3972     * @type { ?PixelMapFormat }
3973     * @syscap SystemCapability.Multimedia.Image.Core
3974     * @crossplatform
3975     * @since 10
3976     */
3977    /**
3978     * PixelMap expected format.
3979     *
3980     * @type { ?PixelMapFormat }
3981     * @syscap SystemCapability.Multimedia.Image.Core
3982     * @crossplatform
3983     * @atomicservice
3984     * @since 11
3985     */
3986    /**
3987     * PixelMap expected format.
3988     *
3989     * @type { ?PixelMapFormat }
3990     * @syscap SystemCapability.Multimedia.Image.Core
3991     * @crossplatform
3992     * @form
3993     * @atomicservice
3994     * @since 12
3995     */
3996    sourcePixelFormat?: PixelMapFormat;
3997
3998    /**
3999     * PixelMap size.
4000     *
4001     * @type { ?Size }
4002     * @syscap SystemCapability.Multimedia.Image.Core
4003     * @since 9
4004     */
4005    /**
4006     * PixelMap size.
4007     *
4008     * @type { ?Size }
4009     * @syscap SystemCapability.Multimedia.Image.Core
4010     * @crossplatform
4011     * @since 10
4012     */
4013    /**
4014     * PixelMap size.
4015     *
4016     * @type { ?Size }
4017     * @syscap SystemCapability.Multimedia.Image.Core
4018     * @crossplatform
4019     * @atomicservice
4020     * @since 11
4021     */
4022    /**
4023     * PixelMap size.
4024     *
4025     * @type { ?Size }
4026     * @syscap SystemCapability.Multimedia.Image.Core
4027     * @crossplatform
4028     * @form
4029     * @atomicservice
4030     * @since 12
4031     */
4032    sourceSize?: Size;
4033  }
4034
4035  /**
4036   * Create pixelmap by data buffer.
4037   *
4038   * @param { ArrayBuffer } colors The image color buffer.
4039   * @param { InitializationOptions } options Initialization options for pixelmap.
4040   * @param { AsyncCallback<PixelMap> } callback Callback used to return the PixelMap object.
4041   * @syscap SystemCapability.Multimedia.Image.Core
4042   * @since 8
4043   */
4044  /**
4045   * Create pixelmap by data buffer.
4046   *
4047   * @param { ArrayBuffer } colors The image color buffer.
4048   * @param { InitializationOptions } options Initialization options for pixelmap.
4049   * @param { AsyncCallback<PixelMap> } callback Callback used to return the PixelMap object.
4050   * @syscap SystemCapability.Multimedia.Image.Core
4051   * @crossplatform
4052   * @since 10
4053   */
4054  function createPixelMap(colors: ArrayBuffer, options: InitializationOptions, callback: AsyncCallback<PixelMap>): void;
4055
4056  /**
4057   * Create pixelmap by data buffer.
4058   *
4059   * @param { ArrayBuffer } colors The image color buffer.
4060   * @param { InitializationOptions } options Initialization options for pixelmap.
4061   * @returns { Promise<PixelMap> } A Promise instance used to return the PixelMap object.
4062   * @syscap SystemCapability.Multimedia.Image.Core
4063   * @since 8
4064   */
4065  /**
4066   * Create pixelmap by data buffer.
4067   *
4068   * @param { ArrayBuffer } colors The image color buffer.
4069   * @param { InitializationOptions } options Initialization options for pixelmap.
4070   * @returns { Promise<PixelMap> } A Promise instance used to return the PixelMap object.
4071   * @syscap SystemCapability.Multimedia.Image.Core
4072   * @crossplatform
4073   * @since 10
4074   */
4075  function createPixelMap(colors: ArrayBuffer, options: InitializationOptions): Promise<PixelMap>;
4076
4077  /**
4078   * Create pixelmap by data buffer.
4079   *
4080   * @param { ArrayBuffer } colors The image color buffer.
4081   * @param { InitializationOptions } options Initialization options for pixelmap.
4082   * @returns { PixelMap } Returns the instance if the operation is successful;Otherwise, return undefined.
4083   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified.
4084   * 2.Incorrect parameter types. 3.Parameter verification failed.
4085   * @syscap SystemCapability.Multimedia.Image.Core
4086   * @crossplatform
4087   * @since 12
4088   */
4089  function createPixelMapSync(colors: ArrayBuffer, options: InitializationOptions): PixelMap;
4090
4091  /**
4092   * Create an empty pixelmap.
4093   *
4094   * @param { InitializationOptions } options Initialization options for pixelmap.
4095   * @returns { PixelMap } Returns the instance if the operation is successful;Otherwise, return undefined.
4096   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified.
4097   * 2.Incorrect parameter types. 3.Parameter verification failed.
4098   * @syscap SystemCapability.Multimedia.Image.Core
4099   * @crossplatform
4100   * @since 12
4101   */
4102function createPixelMapSync(options: InitializationOptions): PixelMap;
4103
4104  /**
4105   * Transforms pixelmap from unpremultiplied alpha format to premultiplied alpha format.
4106   *
4107   * @param { PixelMap } src The source pixelmap.
4108   * @param { PixelMap } dst The destination pixelmap.
4109   * @param { AsyncCallback<void> } callback Callback used to return the operation result.
4110   * If the operation fails, an error message is returned.
4111   * @throws { BusinessError } 62980103 - The image data is not supported.
4112   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified.
4113   * 2.Incorrect parameter types. 3.Parameter verification failed.
4114   * @throws { BusinessError } 62980246 - Failed to read the pixelMap.
4115   * @throws { BusinessError } 62980248 - Pixelmap not allow modify.
4116   * @syscap SystemCapability.Multimedia.Image.Core
4117   * @crossplatform
4118   * @since 12
4119   */
4120function createPremultipliedPixelMap(src: PixelMap, dst: PixelMap, callback: AsyncCallback<void>): void;
4121
4122  /**
4123   * Transforms pixelmap from premultiplied alpha format to unpremultiplied alpha format.
4124   *
4125   * @param { PixelMap } src The source pixelMap.
4126   * @param { PixelMap } dst The destination pixelmap.
4127   * @returns { Promise<void> } A Promise instance used to return the operation result.
4128   * If the operation fails, an error message is returned.
4129   * @throws { BusinessError } 62980103 - The image data is not supported.
4130   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified.
4131   * 2.Incorrect parameter types. 3.Parameter verification failed.
4132   * @throws { BusinessError } 62980246 - Failed to read the pixelMap.
4133   * @throws { BusinessError } 62980248 - Pixelmap not allow modify.
4134   * @syscap SystemCapability.Multimedia.Image.Core
4135   * @crossplatform
4136   * @since 12
4137   */
4138function createPremultipliedPixelMap(src: PixelMap, dst: PixelMap): Promise<void>;
4139
4140  /**
4141   * Transforms pixelmap from premultiplied alpha format to unpremultiplied alpha format.
4142   *
4143   * @param { PixelMap } src The source pixelmap.
4144   * @param { PixelMap } dst The destination pixelmap.
4145   * @param { AsyncCallback<void> } callback Callback used to return the operation result.
4146   * If the operation fails, an error message is returned.
4147   * @throws { BusinessError } 62980103 - The image data is not supported.
4148   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified.
4149   * 2.Incorrect parameter types. 3.Parameter verification failed.
4150   * @throws { BusinessError } 62980246 - Failed to read the pixelMap.
4151   * @throws { BusinessError } 62980248 - Pixelmap not allow modify.
4152   * @syscap SystemCapability.Multimedia.Image.Core
4153   * @crossplatform
4154   * @since 12
4155   */
4156function createUnpremultipliedPixelMap(src: PixelMap, dst: PixelMap, callback: AsyncCallback<void>): void;
4157
4158  /**
4159   * Transforms pixelmap from premultiplied alpha format to unpremultiplied alpha format.
4160   *
4161   * @param { PixelMap } src The source pixelmap.
4162   * @param { PixelMap } dst The destination pixelmap.
4163   * @returns { Promise<void> } A Promise instance used to return the operation result.
4164   * If the operation fails, an error message is returned.
4165   * @throws { BusinessError } 62980103 - The image data is not supported.
4166   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified.
4167   * 2.Incorrect parameter types. 3.Parameter verification failed.
4168   * @throws { BusinessError } 62980246 - Failed to read the pixelMap.
4169   * @throws { BusinessError } 62980248 - Pixelmap not allow modify.
4170   * @syscap SystemCapability.Multimedia.Image.Core
4171   * @crossplatform
4172   * @since 12
4173   */
4174function createUnpremultipliedPixelMap(src: PixelMap, dst: PixelMap): Promise<void>;
4175
4176  /**
4177   * Creates a PixelMap object based on MessageSequence parameter.
4178   *
4179   * @param { rpc.MessageSequence } sequence - rpc.MessageSequence parameter.
4180   * @returns { PixelMap } Returns the instance if the operation is successful;Otherwise, an exception will be thrown.
4181   * @throws { BusinessError } 62980096 - Operation failed.
4182   * @throws { BusinessError } 62980097 - IPC error.
4183   * @throws { BusinessError } 62980115 - Invalid input parameter.
4184   * @throws { BusinessError } 62980105 - Failed to get the data.
4185   * @throws { BusinessError } 62980177 - Abnormal API environment.
4186   * @throws { BusinessError } 62980178 - Failed to create the PixelMap.
4187   * @throws { BusinessError } 62980179 - Abnormal buffer size.
4188   * @throws { BusinessError } 62980180 - FD mapping failed.
4189   * @throws { BusinessError } 62980246 - Failed to read the PixelMap.
4190   * @syscap SystemCapability.Multimedia.Image.Core
4191   * @since 11
4192   */
4193  function createPixelMapFromParcel(sequence: rpc.MessageSequence): PixelMap;
4194
4195  /**
4196   * Creates a PixelMap object from surface id.
4197   *
4198   * @param { string } surfaceId - surface id.
4199   * @param { Region } region - The region to surface.
4200   * @returns { Promise<PixelMap> } Returns the instance if the operation is successful;Otherwise, an exception will be thrown.
4201   * @throws { BusinessError } 62980115 - If the image parameter invalid.
4202   * @throws { BusinessError } 62980105 - Failed to get the data.
4203   * @throws { BusinessError } 62980178 - Failed to create the PixelMap.
4204   * @syscap SystemCapability.Multimedia.Image.Core
4205   * @since 11
4206   */
4207  function createPixelMapFromSurface(surfaceId: string, region: Region): Promise<PixelMap>;
4208
4209  /**
4210   * Creates a PixelMap object from surface id.
4211   *
4212   * @param { string } surfaceId - surface id.
4213   * @param { Region } region - The region to surface.
4214   * @returns { PixelMap } Returns the instance if the operation is successful;Otherwise, an exception will be thrown.
4215   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified.
4216   *     2.Incorrect parameter types. 3.Parameter verification failed.
4217   * @throws { BusinessError } 62980105 - Failed to get the data.
4218   * @throws { BusinessError } 62980178 - Failed to create the PixelMap.
4219   * @syscap SystemCapability.Multimedia.Image.Core
4220   * @since 12
4221   */
4222  function createPixelMapFromSurfaceSync(surfaceId: string, region: Region): PixelMap;
4223
4224  /**
4225   * Creates an ImageSource instance based on the URI.
4226   *
4227   * @param { string } uri Image source URI.
4228   * @returns { ImageSource } returns the ImageSource instance if the operation is successful; returns null otherwise.
4229   * @syscap SystemCapability.Multimedia.Image.ImageSource
4230   * @since 6
4231   */
4232  /**
4233   * Creates an ImageSource instance based on the URI.
4234   *
4235   * @param { string } uri Image source URI.
4236   * @returns { ImageSource } returns the ImageSource instance if the operation is successful; returns null otherwise.
4237   * @syscap SystemCapability.Multimedia.Image.ImageSource
4238   * @crossplatform
4239   * @since 10
4240   */
4241  /**
4242   * Creates an ImageSource instance based on the URI.
4243   *
4244   * @param { string } uri Image source URI.
4245   * @returns { ImageSource } returns the ImageSource instance if the operation is successful; returns null otherwise.
4246   * @syscap SystemCapability.Multimedia.Image.ImageSource
4247   * @crossplatform
4248   * @atomicservice
4249   * @since 11
4250   */
4251  function createImageSource(uri: string): ImageSource;
4252
4253  /**
4254   * Creates an ImageSource instance based on the URI.
4255   *
4256   * @param { string } uri Image source URI.
4257   * @param { SourceOptions } options The config of Image source.
4258   * @returns { ImageSource } Returns the ImageSource instance if the operation is successful; returns null otherwise.
4259   * @syscap SystemCapability.Multimedia.Image.ImageSource
4260   * @since 9
4261   */
4262  /**
4263   * Creates an ImageSource instance based on the URI.
4264   *
4265   * @param { string } uri Image source URI.
4266   * @param { SourceOptions } options The config of Image source.
4267   * @returns { ImageSource } Returns the ImageSource instance if the operation is successful; returns null otherwise.
4268   * @syscap SystemCapability.Multimedia.Image.ImageSource
4269   * @crossplatform
4270   * @since 10
4271   */
4272  /**
4273   * Creates an ImageSource instance based on the URI.
4274   *
4275   * @param { string } uri Image source URI.
4276   * @param { SourceOptions } options The config of Image source.
4277   * @returns { ImageSource } Returns the ImageSource instance if the operation is successful; returns null otherwise.
4278   * @syscap SystemCapability.Multimedia.Image.ImageSource
4279   * @crossplatform
4280   * @atomicservice
4281   * @since 11
4282   */
4283  /**
4284   * Creates an ImageSource instance based on the URI.
4285   *
4286   * @param { string } uri Image source URI.
4287   * @param { SourceOptions } options The config of Image source.
4288   * @returns { ImageSource } Returns the ImageSource instance if the operation is successful; returns null otherwise.
4289   * @syscap SystemCapability.Multimedia.Image.ImageSource
4290   * @crossplatform
4291   * @form
4292   * @atomicservice
4293   * @since 12
4294   */
4295  function createImageSource(uri: string, options: SourceOptions): ImageSource;
4296
4297  /**
4298   * Creates an ImageSource instance based on the file descriptor.
4299   *
4300   * @param { number } fd ID of a file descriptor.
4301   * @returns { ImageSource } Returns the ImageSource instance if the operation is successful; returns null otherwise.
4302   * @syscap SystemCapability.Multimedia.Image.ImageSource
4303   * @since 7
4304   */
4305  /**
4306   * Creates an ImageSource instance based on the file descriptor.
4307   *
4308   * @param { number } fd ID of a file descriptor.
4309   * @returns { ImageSource } Returns the ImageSource instance if the operation is successful; returns null otherwise.
4310   * @syscap SystemCapability.Multimedia.Image.ImageSource
4311   * @crossplatform
4312   * @since 10
4313   */
4314  /**
4315   * Creates an ImageSource instance based on the file descriptor.
4316   *
4317   * @param { number } fd ID of a file descriptor.
4318   * @returns { ImageSource } Returns the ImageSource instance if the operation is successful; returns null otherwise.
4319   * @syscap SystemCapability.Multimedia.Image.ImageSource
4320   * @crossplatform
4321   * @atomicservice
4322   * @since 11
4323   */
4324  function createImageSource(fd: number): ImageSource;
4325
4326  /**
4327   * Creates an ImageSource instance based on the file descriptor.
4328   *
4329   * @param { number } fd ID of a file descriptor.
4330   * @param { SourceOptions } options The config of Image source.
4331   * @returns { ImageSource } Returns the ImageSource instance if the operation is successful; returns null otherwise.
4332   * @syscap SystemCapability.Multimedia.Image.ImageSource
4333   * @since 9
4334   */
4335  /**
4336   * Creates an ImageSource instance based on the file descriptor.
4337   *
4338   * @param { number } fd ID of a file descriptor.
4339   * @param { SourceOptions } options The config of Image source.
4340   * @returns { ImageSource } Returns the ImageSource instance if the operation is successful; returns null otherwise.
4341   * @syscap SystemCapability.Multimedia.Image.ImageSource
4342   * @crossplatform
4343   * @since 10
4344   */
4345  /**
4346   * Creates an ImageSource instance based on the file descriptor.
4347   *
4348   * @param { number } fd ID of a file descriptor.
4349   * @param { SourceOptions } options The config of Image source.
4350   * @returns { ImageSource } Returns the ImageSource instance if the operation is successful; returns null otherwise.
4351   * @syscap SystemCapability.Multimedia.Image.ImageSource
4352   * @crossplatform
4353   * @atomicservice
4354   * @since 11
4355   */
4356  /**
4357   * Creates an ImageSource instance based on the file descriptor.
4358   *
4359   * @param { number } fd ID of a file descriptor.
4360   * @param { SourceOptions } options The config of Image source.
4361   * @returns { ImageSource } Returns the ImageSource instance if the operation is successful; returns null otherwise.
4362   * @syscap SystemCapability.Multimedia.Image.ImageSource
4363   * @crossplatform
4364   * @form
4365   * @atomicservice
4366   * @since 12
4367   */
4368  function createImageSource(fd: number, options: SourceOptions): ImageSource;
4369
4370  /**
4371   * Creates an ImageSource instance based on the buffer.
4372   *
4373   * @param { ArrayBuffer } buf The buffer of the image.
4374   * @returns { ImageSource } Returns the ImageSource instance if the operation is successful; returns null otherwise.
4375   * @syscap SystemCapability.Multimedia.Image.ImageSource
4376   * @since 9
4377   */
4378  /**
4379   * Creates an ImageSource instance based on the buffer.
4380   *
4381   * @param { ArrayBuffer } buf The buffer of the image.
4382   * @returns { ImageSource } Returns the ImageSource instance if the operation is successful; returns null otherwise.
4383   * @syscap SystemCapability.Multimedia.Image.ImageSource
4384   * @crossplatform
4385   * @since 10
4386   */
4387  /**
4388   * Creates an ImageSource instance based on the buffer.
4389   *
4390   * @param { ArrayBuffer } buf The buffer of the image.
4391   * @returns { ImageSource } Returns the ImageSource instance if the operation is successful; returns null otherwise.
4392   * @syscap SystemCapability.Multimedia.Image.ImageSource
4393   * @crossplatform
4394   * @atomicservice
4395   * @since 11
4396   */
4397  /**
4398   * Creates an ImageSource instance based on the buffer.
4399   *
4400   * @param { ArrayBuffer } buf The buffer of the image.
4401   * @returns { ImageSource } Returns the ImageSource instance if the operation is successful; returns null otherwise.
4402   * @syscap SystemCapability.Multimedia.Image.ImageSource
4403   * @crossplatform
4404   * @form
4405   * @atomicservice
4406   * @since 12
4407   */
4408  function createImageSource(buf: ArrayBuffer): ImageSource;
4409
4410  /**
4411   * Creates an ImageSource instance based on the buffer.
4412   *
4413   * @param { ArrayBuffer } buf The buffer of the image.
4414   * @param { SourceOptions } options The config of Image source.
4415   * @returns { ImageSource } Returns the ImageSource instance if the operation is successful; returns null otherwise.
4416   * @syscap SystemCapability.Multimedia.Image.ImageSource
4417   * @since 9
4418   */
4419  /**
4420   * Creates an ImageSource instance based on the buffer.
4421   *
4422   * @param { ArrayBuffer } buf The buffer of the image.
4423   * @param { SourceOptions } options The config of Image source.
4424   * @returns { ImageSource } Returns the ImageSource instance if the operation is successful; returns null otherwise.
4425   * @syscap SystemCapability.Multimedia.Image.ImageSource
4426   * @crossplatform
4427   * @since 10
4428   */
4429  /**
4430   * Creates an ImageSource instance based on the buffer.
4431   *
4432   * @param { ArrayBuffer } buf The buffer of the image.
4433   * @param { SourceOptions } options The config of Image source.
4434   * @returns { ImageSource } Returns the ImageSource instance if the operation is successful; returns null otherwise.
4435   * @syscap SystemCapability.Multimedia.Image.ImageSource
4436   * @crossplatform
4437   * @atomicservice
4438   * @since 11
4439   */
4440  /**
4441   * Creates an ImageSource instance based on the buffer.
4442   *
4443   * @param { ArrayBuffer } buf The buffer of the image.
4444   * @param { SourceOptions } options The config of Image source.
4445   * @returns { ImageSource } Returns the ImageSource instance if the operation is successful; returns null otherwise.
4446   * @syscap SystemCapability.Multimedia.Image.ImageSource
4447   * @crossplatform
4448   * @form
4449   * @atomicservice
4450   * @since 12
4451   */
4452  function createImageSource(buf: ArrayBuffer, options: SourceOptions): ImageSource;
4453
4454  /**
4455   * Creates an ImageSource instance based on the raw file descriptor.
4456   *
4457   * @param { resourceManager.RawFileDescriptor } rawfile The raw file descriptor of the image.
4458   * @param { SourceOptions } options The config of Image source.
4459   * @returns { ImageSource } Returns the ImageSource instance if the operation is successful; returns null otherwise.
4460   * @syscap SystemCapability.Multimedia.Image.ImageSource
4461   * @crossplatform
4462   * @atomicservice
4463   * @since 11
4464   */
4465  function createImageSource(rawfile: resourceManager.RawFileDescriptor, options?: SourceOptions): ImageSource;
4466
4467  /**
4468   * Creates an ImageSource instance based on the buffer in incremental.
4469   *
4470   * @param { ArrayBuffer } buf The buffer of the image.
4471   * @returns { ImageSource } Returns the ImageSource instance if the operation is successful; returns null otherwise.
4472   * @syscap SystemCapability.Multimedia.Image.ImageSource
4473   * @since 9
4474   */
4475  /**
4476   * Creates an ImageSource instance based on the buffer in incremental.
4477   *
4478   * @param { ArrayBuffer } buf The buffer of the image.
4479   * @returns { ImageSource } Returns the ImageSource instance if the operation is successful; returns null otherwise.
4480   * @syscap SystemCapability.Multimedia.Image.ImageSource
4481   * @crossplatform
4482   * @since 10
4483   */
4484  function CreateIncrementalSource(buf: ArrayBuffer): ImageSource;
4485
4486  /**
4487   * Creates an ImageSource instance based on the buffer in incremental.
4488   *
4489   * @param { ArrayBuffer } buf The buffer of the image.
4490   * @param { SourceOptions } options The config of source.
4491   * @returns { ImageSource } Returns the ImageSource instance if the operation is successful; returns null otherwise.
4492   * @syscap SystemCapability.Multimedia.Image.ImageSource
4493   * @since 9
4494   */
4495  /**
4496   * Creates an ImageSource instance based on the buffer in incremental.
4497   *
4498   * @param { ArrayBuffer } buf The buffer of the image.
4499   * @param { SourceOptions } options The config of source.
4500   * @returns { ImageSource } Returns the ImageSource instance if the operation is successful; returns null otherwise.
4501   * @syscap SystemCapability.Multimedia.Image.ImageSource
4502   * @crossplatform
4503   * @since 10
4504   */
4505  function CreateIncrementalSource(buf: ArrayBuffer, options?: SourceOptions): ImageSource;
4506
4507  /**
4508   * Creates an ImagePacker instance.
4509   *
4510   * @returns { ImagePacker } Returns the ImagePacker instance if the operation is successful; returns null otherwise.
4511   * @syscap SystemCapability.Multimedia.Image.ImagePacker
4512   * @since 6
4513   */
4514  /**
4515   * Creates an ImagePacker instance.
4516   *
4517   * @returns { ImagePacker } Returns the ImagePacker instance if the operation is successful; returns null otherwise.
4518   * @syscap SystemCapability.Multimedia.Image.ImagePacker
4519   * @crossplatform
4520   * @since 10
4521   */
4522  /**
4523   * Creates an ImagePacker instance.
4524   *
4525   * @returns { ImagePacker } Returns the ImagePacker instance if the operation is successful; returns null otherwise.
4526   * @syscap SystemCapability.Multimedia.Image.ImagePacker
4527   * @crossplatform
4528   * @atomicservice
4529   * @since 11
4530   */
4531  function createImagePacker(): ImagePacker;
4532
4533  /**
4534   * Creates an ImageReceiver instance.
4535   *
4536   * @param { number } width The default width in pixels of the Images that this receiver will produce.
4537   * @param { number } height The default height in pixels of the Images that this receiver will produce.
4538   * @param { number } format The format of the Image that this receiver will produce. This must be one of the
4539   *            {@link ImageFormat} constants.
4540   * @param { number } capacity The maximum number of images the user will want to access simultaneously.
4541   * @returns { ImageReceiver } Returns the ImageReceiver instance if the operation is successful; returns null otherwise.
4542   * @syscap SystemCapability.Multimedia.Image.ImageReceiver
4543   * @since 9
4544   * @deprecated since 11
4545   * @useinstead image#createImageReceiver
4546   */
4547  function createImageReceiver(width: number, height: number, format: number, capacity: number): ImageReceiver;
4548
4549  /**
4550   * Creates an ImageReceiver instance.
4551   *
4552   * @param { Size } size - The default {@link Size} in pixels of the Images that this receiver will produce.
4553   * @param { ImageFormat } format - The format of the Image that this receiver will produce. This must be one of the
4554   *            {@link ImageFormat} constants.
4555   * @param { number } capacity - The maximum number of images the user will want to access simultaneously.
4556   * @returns { ImageReceiver } Returns the ImageReceiver instance if the operation is successful; returns null otherwise.
4557   * @throws { BusinessError } 401 - Parameter error.Possible causes: 1.Mandatory parameters are left unspecified; 2.Incorrect parameter types;
4558   * @syscap SystemCapability.Multimedia.Image.ImageReceiver
4559   * @since 11
4560   */
4561  function createImageReceiver(size: Size, format: ImageFormat, capacity: number): ImageReceiver;
4562
4563  /**
4564   * Creates an ImageCreator instance.
4565   *
4566   * @param { number } width The default width in pixels of the Images that this creator will produce.
4567   * @param { number } height The default height in pixels of the Images that this creator will produce.
4568   * @param { number } format The format of the Image that this creator will produce. This must be one of the
4569   *            {@link ImageFormat} constants.
4570   * @param { number } capacity The maximum number of images the user will want to access simultaneously.
4571   * @returns { ImageCreator } Returns the ImageCreator instance if the operation is successful; returns null otherwise.
4572   * @syscap SystemCapability.Multimedia.Image.ImageCreator
4573   * @since 9
4574   * @deprecated since 11
4575   * @useinstead image#createImageCreator
4576   */
4577  function createImageCreator(width: number, height: number, format: number, capacity: number): ImageCreator;
4578
4579  /**
4580   * Creates an ImageCreator instance.
4581   *
4582   * @param { Size } size - The default {@link Size} in pixels of the Images that this creator will produce.
4583   * @param { ImageFormat } format - The format of the Image that this creator will produce. This must be one of the
4584   *            {@link ImageFormat} constants.
4585   * @param { number } capacity - The maximum number of images the user will want to access simultaneously.
4586   * @returns { ImageCreator } Returns the ImageCreator instance if the operation is successful; returns null otherwise.
4587   * @throws { BusinessError } 401 - Parameter error.Possible causes: 1.Mandatory parameters are left unspecified; 2.Incorrect parameter types;
4588   * @syscap SystemCapability.Multimedia.Image.ImageCreator
4589   * @since 11
4590   */
4591  function createImageCreator(size: Size, format: ImageFormat, capacity: number): ImageCreator;
4592  /**
4593   * PixelMap instance.
4594   *
4595   * @typedef PixelMap
4596   * @syscap SystemCapability.Multimedia.Image.Core
4597   * @since 7
4598   */
4599  /**
4600   * PixelMap instance.
4601   *
4602   * @typedef PixelMap
4603   * @syscap SystemCapability.Multimedia.Image.Core
4604   * @crossplatform
4605   * @since 10
4606   */
4607  /**
4608   * PixelMap instance.
4609   *
4610   * @typedef PixelMap
4611   * @syscap SystemCapability.Multimedia.Image.Core
4612   * @crossplatform
4613   * @atomicservice
4614   * @since 11
4615   */
4616  /**
4617   * PixelMap instance.
4618   *
4619   * @typedef PixelMap
4620   * @syscap SystemCapability.Multimedia.Image.Core
4621   * @crossplatform
4622   * @form
4623   * @atomicservice
4624   * @since 12
4625   */
4626  interface PixelMap {
4627    /**
4628     * Whether the image pixel map can be edited.
4629     *
4630     * @type { boolean }
4631     * @syscap SystemCapability.Multimedia.Image.Core
4632     * @since 7
4633     */
4634    /**
4635     * Whether the image pixel map can be edited.
4636     *
4637     * @type { boolean }
4638     * @syscap SystemCapability.Multimedia.Image.Core
4639     * @crossplatform
4640     * @since 10
4641     */
4642    /**
4643     * Whether the image pixel map can be edited.
4644     *
4645     * @type { boolean }
4646     * @syscap SystemCapability.Multimedia.Image.Core
4647     * @crossplatform
4648     * @atomicservice
4649     * @since 11
4650     */
4651    /**
4652     * Whether the image pixel map can be edited.
4653     *
4654     * @type { boolean }
4655     * @syscap SystemCapability.Multimedia.Image.Core
4656     * @crossplatform
4657     * @form
4658     * @atomicservice
4659     * @since 12
4660     */
4661    readonly isEditable: boolean;
4662
4663    /**
4664     * Reads image pixel map data and writes the data to an ArrayBuffer. This method uses
4665     * a promise to return the result.
4666     *
4667     * @param { ArrayBuffer } dst A buffer to which the image pixel map data will be written.
4668     * @returns { Promise<void> } A Promise instance used to return the operation result. If the operation fails, an error message is returned.
4669     * @syscap SystemCapability.Multimedia.Image.Core
4670     * @since 7
4671     */
4672    /**
4673     * Reads image pixel map data and writes the data to an ArrayBuffer. This method uses
4674     * a promise to return the result.
4675     *
4676     * @param { ArrayBuffer } dst A buffer to which the image pixel map data will be written.
4677     * @returns { Promise<void> } A Promise instance used to return the operation result. If the operation fails, an error message is returned.
4678     * @syscap SystemCapability.Multimedia.Image.Core
4679     * @crossplatform
4680     * @since 10
4681     */
4682    /**
4683     * Reads image pixel map data and writes the data to an ArrayBuffer. This method uses
4684     * a promise to return the result.
4685     *
4686     * @param { ArrayBuffer } dst A buffer to which the image pixel map data will be written.
4687     * @returns { Promise<void> } A Promise instance used to return the operation result. If the operation fails, an error message is returned.
4688     * @syscap SystemCapability.Multimedia.Image.Core
4689     * @crossplatform
4690     * @atomicservice
4691     * @since 11
4692     */
4693    /**
4694     * Reads image pixel map data and writes the data to an ArrayBuffer. This method uses
4695     * a promise to return the result.
4696     *
4697     * @param { ArrayBuffer } dst A buffer to which the image pixel map data will be written.
4698     * @returns { Promise<void> } A Promise instance used to return the operation result. If the operation fails, an error message is returned.
4699     * @syscap SystemCapability.Multimedia.Image.Core
4700     * @crossplatform
4701     * @form
4702     * @atomicservice
4703     * @since 12
4704     */
4705    readPixelsToBuffer(dst: ArrayBuffer): Promise<void>;
4706
4707    /**
4708     * Reads image pixel map data and writes the data to an ArrayBuffer. This method uses
4709     * a callback to return the result.
4710     *
4711     * @param { ArrayBuffer } dst A buffer to which the image pixel map data will be written.
4712     * @param { AsyncCallback<void> } callback Callback used to return the operation result. If the operation fails, an error message is returned.
4713     * @syscap SystemCapability.Multimedia.Image.Core
4714     * @since 7
4715     */
4716    /**
4717     * Reads image pixel map data and writes the data to an ArrayBuffer. This method uses
4718     * a callback to return the result.
4719     *
4720     * @param { ArrayBuffer } dst A buffer to which the image pixel map data will be written.
4721     * @param { AsyncCallback<void> } callback Callback used to return the operation result. If the operation fails, an error message is returned.
4722     * @syscap SystemCapability.Multimedia.Image.Core
4723     * @crossplatform
4724     * @since 10
4725     */
4726    /**
4727     * Reads image pixel map data and writes the data to an ArrayBuffer. This method uses
4728     * a callback to return the result.
4729     *
4730     * @param { ArrayBuffer } dst A buffer to which the image pixel map data will be written.
4731     * @param { AsyncCallback<void> } callback Callback used to return the operation result. If the operation fails, an error message is returned.
4732     * @syscap SystemCapability.Multimedia.Image.Core
4733     * @crossplatform
4734     * @atomicservice
4735     * @since 11
4736     */
4737    /**
4738     * Reads image pixel map data and writes the data to an ArrayBuffer. This method uses
4739     * a callback to return the result.
4740     *
4741     * @param { ArrayBuffer } dst A buffer to which the image pixel map data will be written.
4742     * @param { AsyncCallback<void> } callback Callback used to return the operation result. If the operation fails, an error message is returned.
4743     * @syscap SystemCapability.Multimedia.Image.Core
4744     * @crossplatform
4745     * @form
4746     * @atomicservice
4747     * @since 12
4748     */
4749    readPixelsToBuffer(dst: ArrayBuffer, callback: AsyncCallback<void>): void;
4750
4751    /**
4752     * Reads image pixel map data and writes the data to an ArrayBuffer.
4753     *
4754     * @param { ArrayBuffer } dst A buffer to which the image pixel map data will be written.
4755     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified.
4756     * 2.Incorrect parameter types. 3.Parameter verification failed.
4757     * @throws { BusinessError } 501 - Resource Unavailable.
4758     * @syscap SystemCapability.Multimedia.Image.Core
4759     * @crossplatform
4760     * @form
4761     * @atomicservice
4762     * @since 12
4763     */
4764    readPixelsToBufferSync(dst: ArrayBuffer): void;
4765
4766    /**
4767     * Reads image pixel map data in an area. This method uses a promise to return the data read.
4768     *
4769     * @param { PositionArea } area Area from which the image pixel map data will be read.
4770     * @returns { Promise<void> } A Promise instance used to return the operation result. If the operation fails, an error message is returned.
4771     * @syscap SystemCapability.Multimedia.Image.Core
4772     * @since 7
4773     */
4774    /**
4775     * Reads image pixel map data in an area. This method uses a promise to return the data read.
4776     *
4777     * @param { PositionArea } area Area from which the image pixel map data will be read.
4778     * @returns { Promise<void> } A Promise instance used to return the operation result. If the operation fails, an error message is returned.
4779     * @syscap SystemCapability.Multimedia.Image.Core
4780     * @crossplatform
4781     * @since 10
4782     */
4783    /**
4784     * Reads image pixel map data in an area. This method uses a promise to return the data read.
4785     *
4786     * @param { PositionArea } area Area from which the image pixel map data will be read.
4787     * @returns { Promise<void> } A Promise instance used to return the operation result. If the operation fails, an error message is returned.
4788     * @syscap SystemCapability.Multimedia.Image.Core
4789     * @crossplatform
4790     * @atomicservice
4791     * @since 11
4792     */
4793    /**
4794     * Reads image pixel map data in an area. This method uses a promise to return the data read.
4795     *
4796     * @param { PositionArea } area Area from which the image pixel map data will be read.
4797     * @returns { Promise<void> } A Promise instance used to return the operation result. If the operation fails, an error message is returned.
4798     * @syscap SystemCapability.Multimedia.Image.Core
4799     * @crossplatform
4800     * @form
4801     * @atomicservice
4802     * @since 12
4803     */
4804    readPixels(area: PositionArea): Promise<void>;
4805
4806    /**
4807     * Reads image pixel map data in an area. This method uses a callback to return the data read.
4808     *
4809     * @param { PositionArea } area Area from which the image pixel map data will be read.
4810     * @param { AsyncCallback<void> } callback Callback used to return the operation result. If the operation fails, an error message is returned.
4811     * @syscap SystemCapability.Multimedia.Image.Core
4812     * @since 7
4813     */
4814    /**
4815     * Reads image pixel map data in an area. This method uses a callback to return the data read.
4816     *
4817     * @param { PositionArea } area Area from which the image pixel map data will be read.
4818     * @param { AsyncCallback<void> } callback Callback used to return the operation result. If the operation fails, an error message is returned.
4819     * @syscap SystemCapability.Multimedia.Image.Core
4820     * @crossplatform
4821     * @since 10
4822     */
4823    /**
4824     * Reads image pixel map data in an area. This method uses a callback to return the data read.
4825     *
4826     * @param { PositionArea } area Area from which the image pixel map data will be read.
4827     * @param { AsyncCallback<void> } callback Callback used to return the operation result. If the operation fails, an error message is returned.
4828     * @syscap SystemCapability.Multimedia.Image.Core
4829     * @crossplatform
4830     * @atomicservice
4831     * @since 11
4832     */
4833    /**
4834     * Reads image pixel map data in an area. This method uses a callback to return the data read.
4835     *
4836     * @param { PositionArea } area Area from which the image pixel map data will be read.
4837     * @param { AsyncCallback<void> } callback Callback used to return the operation result. If the operation fails, an error message is returned.
4838     * @syscap SystemCapability.Multimedia.Image.Core
4839     * @crossplatform
4840     * @form
4841     * @atomicservice
4842     * @since 12
4843     */
4844    readPixels(area: PositionArea, callback: AsyncCallback<void>): void;
4845
4846    /**
4847     * Reads image pixel map data in an area.
4848     *
4849     * @param { PositionArea } area Area from which the image pixel map data will be read.
4850     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified.
4851     * 2.Incorrect parameter types. 3.Parameter verification failed.
4852     * @throws { BusinessError } 501 - Resource Unavailable.
4853     * @syscap SystemCapability.Multimedia.Image.Core
4854     * @crossplatform
4855     * @atomicservice
4856     * @since 12
4857     */
4858    readPixelsSync(area: PositionArea): void;
4859
4860    /**
4861     * Writes image pixel map data to the specified area. This method uses a promise to return
4862     * the operation result.
4863     *
4864     * @param { PositionArea } area Area to which the image pixel map data will be written.
4865     * @returns { Promise<void> } A Promise instance used to return the operation result. If the operation fails, an error message is returned.
4866     * @syscap SystemCapability.Multimedia.Image.Core
4867     * @since 7
4868     */
4869    /**
4870     * Writes image pixel map data to the specified area. This method uses a promise to return
4871     * the operation result.
4872     *
4873     * @param { PositionArea } area Area to which the image pixel map data will be written.
4874     * @returns { Promise<void> } A Promise instance used to return the operation result. If the operation fails, an error message is returned.
4875     * @syscap SystemCapability.Multimedia.Image.Core
4876     * @crossplatform
4877     * @since 10
4878     */
4879    /**
4880     * Writes image pixel map data to the specified area. This method uses a promise to return
4881     * the operation result.
4882     *
4883     * @param { PositionArea } area Area to which the image pixel map data will be written.
4884     * @returns { Promise<void> } A Promise instance used to return the operation result. If the operation fails, an error message is returned.
4885     * @syscap SystemCapability.Multimedia.Image.Core
4886     * @crossplatform
4887     * @atomicservice
4888     * @since 11
4889     */
4890    /**
4891     * Writes image pixel map data to the specified area. This method uses a promise to return
4892     * the operation result.
4893     *
4894     * @param { PositionArea } area Area to which the image pixel map data will be written.
4895     * @returns { Promise<void> } A Promise instance used to return the operation result. If the operation fails, an error message is returned.
4896     * @syscap SystemCapability.Multimedia.Image.Core
4897     * @crossplatform
4898     * @form
4899     * @atomicservice
4900     * @since 12
4901     */
4902    writePixels(area: PositionArea): Promise<void>;
4903
4904    /**
4905     * Writes image pixel map data to the specified area. This method uses a callback to return
4906     * the operation result.
4907     *
4908     * @param { PositionArea } area Area to which the image pixel map data will be written.
4909     * @param { AsyncCallback<void> } callback Callback used to return the operation result. If the operation fails, an error message is returned.
4910     * @syscap SystemCapability.Multimedia.Image.Core
4911     * @since 7
4912     */
4913    /**
4914     * Writes image pixel map data to the specified area. This method uses a callback to return
4915     * the operation result.
4916     *
4917     * @param { PositionArea } area Area to which the image pixel map data will be written.
4918     * @param { AsyncCallback<void> } callback Callback used to return the operation result. If the operation fails, an error message is returned.
4919     * @syscap SystemCapability.Multimedia.Image.Core
4920     * @crossplatform
4921     * @since 10
4922     */
4923    /**
4924     * Writes image pixel map data to the specified area. This method uses a callback to return
4925     * the operation result.
4926     *
4927     * @param { PositionArea } area Area to which the image pixel map data will be written.
4928     * @param { AsyncCallback<void> } callback Callback used to return the operation result. If the operation fails, an error message is returned.
4929     * @syscap SystemCapability.Multimedia.Image.Core
4930     * @crossplatform
4931     * @atomicservice
4932     * @since 11
4933     */
4934    /**
4935     * Writes image pixel map data to the specified area. This method uses a callback to return
4936     * the operation result.
4937     *
4938     * @param { PositionArea } area Area to which the image pixel map data will be written.
4939     * @param { AsyncCallback<void> } callback Callback used to return the operation result. If the operation fails, an error message is returned.
4940     * @syscap SystemCapability.Multimedia.Image.Core
4941     * @crossplatform
4942     * @form
4943     * @atomicservice
4944     * @since 12
4945     */
4946    writePixels(area: PositionArea, callback: AsyncCallback<void>): void;
4947
4948    /**
4949     * Writes image pixel map data to the specified area.
4950     *
4951     * @param { PositionArea } area Area to which the image pixel map data will be written.
4952     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified.
4953     * 2.Incorrect parameter types. 3.Parameter verification failed.
4954     * @throws { BusinessError } 501 - Resource Unavailable.
4955     * @syscap SystemCapability.Multimedia.Image.Core
4956     * @crossplatform
4957     * @form
4958     * @atomicservice
4959     * @since 12
4960     */
4961    writePixelsSync(area: PositionArea): void;
4962    /**
4963     * Reads image data in an ArrayBuffer and writes the data to a PixelMap object. This method
4964     * uses a promise to return the result.
4965     *
4966     * @param { ArrayBuffer } src A buffer from which the image data will be read.
4967     * @returns { Promise<void> } A Promise instance used to return the operation result. If the operation fails, an error message is returned.
4968     * @syscap SystemCapability.Multimedia.Image.Core
4969     * @since 7
4970     */
4971    /**
4972     * Reads image data in an ArrayBuffer and writes the data to a PixelMap object. This method
4973     * uses a promise to return the result.
4974     *
4975     * @param { ArrayBuffer } src A buffer from which the image data will be read.
4976     * @returns { Promise<void> } A Promise instance used to return the operation result. If the operation fails, an error message is returned.
4977     * @syscap SystemCapability.Multimedia.Image.Core
4978     * @crossplatform
4979     * @since 10
4980     */
4981    /**
4982     * Reads image data in an ArrayBuffer and writes the data to a PixelMap object. This method
4983     * uses a promise to return the result.
4984     *
4985     * @param { ArrayBuffer } src A buffer from which the image data will be read.
4986     * @returns { Promise<void> } A Promise instance used to return the operation result. If the operation fails, an error message is returned.
4987     * @syscap SystemCapability.Multimedia.Image.Core
4988     * @crossplatform
4989     * @atomicservice
4990     * @since 11
4991     */
4992    /**
4993     * Reads image data in an ArrayBuffer and writes the data to a PixelMap object. This method
4994     * uses a promise to return the result.
4995     *
4996     * @param { ArrayBuffer } src A buffer from which the image data will be read.
4997     * @returns { Promise<void> } A Promise instance used to return the operation result. If the operation fails, an error message is returned.
4998     * @syscap SystemCapability.Multimedia.Image.Core
4999     * @crossplatform
5000     * @form
5001     * @atomicservice
5002     * @since 12
5003     */
5004    writeBufferToPixels(src: ArrayBuffer): Promise<void>;
5005
5006    /**
5007     * Reads image data in an ArrayBuffer and writes the data to a PixelMap object. This method
5008     * uses a callback to return the result.
5009     *
5010     * @param { ArrayBuffer } src A buffer from which the image data will be read.
5011     * @param { AsyncCallback<void> } callback Callback used to return the operation result. If the operation fails, an error message is returned.
5012     * @syscap SystemCapability.Multimedia.Image.Core
5013     * @since 7
5014     */
5015    /**
5016     * Reads image data in an ArrayBuffer and writes the data to a PixelMap object. This method
5017     * uses a callback to return the result.
5018     *
5019     * @param { ArrayBuffer } src A buffer from which the image data will be read.
5020     * @param { AsyncCallback<void> } callback Callback used to return the operation result. If the operation fails, an error message is returned.
5021     * @syscap SystemCapability.Multimedia.Image.Core
5022     * @crossplatform
5023     * @since 10
5024     */
5025    /**
5026     * Reads image data in an ArrayBuffer and writes the data to a PixelMap object. This method
5027     * uses a callback to return the result.
5028     *
5029     * @param { ArrayBuffer } src A buffer from which the image data will be read.
5030     * @param { AsyncCallback<void> } callback Callback used to return the operation result. If the operation fails, an error message is returned.
5031     * @syscap SystemCapability.Multimedia.Image.Core
5032     * @crossplatform
5033     * @atomicservice
5034     * @since 11
5035     */
5036    /**
5037     * Reads image data in an ArrayBuffer and writes the data to a PixelMap object. This method
5038     * uses a callback to return the result.
5039     *
5040     * @param { ArrayBuffer } src A buffer from which the image data will be read.
5041     * @param { AsyncCallback<void> } callback Callback used to return the operation result. If the operation fails, an error message is returned.
5042     * @syscap SystemCapability.Multimedia.Image.Core
5043     * @crossplatform
5044     * @form
5045     * @atomicservice
5046     * @since 12
5047     */
5048    writeBufferToPixels(src: ArrayBuffer, callback: AsyncCallback<void>): void;
5049
5050    /**
5051     * Reads image data in an ArrayBuffer and writes the data to a PixelMap object.
5052     *
5053     * @param { ArrayBuffer } src A buffer from which the image data will be read.
5054     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified.
5055     * 2.Incorrect parameter types. 3.Parameter verification failed.
5056     * @throws { BusinessError } 501 - Resource Unavailable.
5057     * @syscap SystemCapability.Multimedia.Image.Core
5058     * @crossplatform
5059     * @atomicservice
5060     * @since 12
5061     */
5062    writeBufferToPixelsSync(src: ArrayBuffer): void;
5063
5064    /**
5065     * Obtains pixel map information about this image. This method uses a promise to return the information.
5066     *
5067     * @returns { Promise<ImageInfo> } A Promise instance used to return the image pixel map information. If the operation fails, an error message is returned.
5068     * @syscap SystemCapability.Multimedia.Image.Core
5069     * @since 7
5070     */
5071    /**
5072     * Obtains pixel map information about this image. This method uses a promise to return the information.
5073     *
5074     * @returns { Promise<ImageInfo> } A Promise instance used to return the image pixel map information. If the operation fails, an error message is returned.
5075     * @syscap SystemCapability.Multimedia.Image.Core
5076     * @crossplatform
5077     * @since 10
5078     */
5079    /**
5080     * Obtains pixel map information about this image. This method uses a promise to return the information.
5081     *
5082     * @returns { Promise<ImageInfo> } A Promise instance used to return the image pixel map information. If the operation fails, an error message is returned.
5083     * @syscap SystemCapability.Multimedia.Image.Core
5084     * @crossplatform
5085     * @atomicservice
5086     * @since 11
5087     */
5088    /**
5089     * Obtains pixel map information about this image. This method uses a promise to return the information.
5090     *
5091     * @returns { Promise<ImageInfo> } A Promise instance used to return the image pixel map information. If the operation fails, an error message is returned.
5092     * @syscap SystemCapability.Multimedia.Image.Core
5093     * @crossplatform
5094     * @form
5095     * @atomicservice
5096     * @since 12
5097     */
5098    getImageInfo(): Promise<ImageInfo>;
5099
5100    /**
5101     * Obtains pixel map information about this image. This method uses a callback to return the information.
5102     *
5103     * @param { AsyncCallback<ImageInfo> } callback Callback used to return the image pixel map information.
5104     * If the operation fails, an error message is returned.
5105     * @syscap SystemCapability.Multimedia.Image.Core
5106     * @since 7
5107     */
5108    /**
5109     * Obtains pixel map information about this image. This method uses a callback to return the information.
5110     *
5111     * @param { AsyncCallback<ImageInfo> } callback Callback used to return the image pixel map information.
5112     * If the operation fails, an error message is returned.
5113     * @syscap SystemCapability.Multimedia.Image.Core
5114     * @crossplatform
5115     * @since 10
5116     */
5117    /**
5118     * Obtains pixel map information about this image. This method uses a callback to return the information.
5119     *
5120     * @param { AsyncCallback<ImageInfo> } callback Callback used to return the image pixel map information.
5121     * If the operation fails, an error message is returned.
5122     * @syscap SystemCapability.Multimedia.Image.Core
5123     * @crossplatform
5124     * @atomicservice
5125     * @since 11
5126     */
5127    /**
5128     * Obtains pixel map information about this image. This method uses a callback to return the information.
5129     *
5130     * @param { AsyncCallback<ImageInfo> } callback Callback used to return the image pixel map information.
5131     * If the operation fails, an error message is returned.
5132     * @syscap SystemCapability.Multimedia.Image.Core
5133     * @crossplatform
5134     * @form
5135     * @atomicservice
5136     * @since 12
5137     */
5138    getImageInfo(callback: AsyncCallback<ImageInfo>): void;
5139
5140    /**
5141     * Get image information from image source.
5142     *
5143     * @returns { ImageInfo } the image information.
5144     * @throws { BusinessError } 501 - Resource Unavailable.
5145     * @syscap SystemCapability.Multimedia.Image.ImageSource
5146     * @crossplatform
5147     * @form
5148     * @atomicservice
5149     * @since 12
5150     */
5151    getImageInfoSync(): ImageInfo;
5152
5153    /**
5154     * Obtains the number of bytes in each line of the image pixel map.
5155     *
5156     * @returns { number } Number of bytes in each line.
5157     * @syscap SystemCapability.Multimedia.Image.Core
5158     * @since 7
5159     */
5160    /**
5161     * Obtains the number of bytes in each line of the image pixel map.
5162     *
5163     * @returns { number } Number of bytes in each line.
5164     * @syscap SystemCapability.Multimedia.Image.Core
5165     * @crossplatform
5166     * @since 10
5167     */
5168    /**
5169     * Obtains the number of bytes in each line of the image pixel map.
5170     *
5171     * @returns { number } Number of bytes in each line.
5172     * @syscap SystemCapability.Multimedia.Image.Core
5173     * @crossplatform
5174     * @atomicservice
5175     * @since 11
5176     */
5177    /**
5178     * Obtains the number of bytes in each line of the image pixel map.
5179     *
5180     * @returns { number } Number of bytes in each line.
5181     * @syscap SystemCapability.Multimedia.Image.Core
5182     * @crossplatform
5183     * @form
5184     * @atomicservice
5185     * @since 12
5186     */
5187    getBytesNumberPerRow(): number;
5188
5189    /**
5190     * Obtains the total number of bytes of the image pixel map.
5191     *
5192     * @returns { number } Total number of bytes.
5193     * @syscap SystemCapability.Multimedia.Image.Core
5194     * @since 7
5195     */
5196    /**
5197     * Obtains the total number of bytes of the image pixel map.
5198     *
5199     * @returns { number } Total number of bytes.
5200     * @syscap SystemCapability.Multimedia.Image.Core
5201     * @crossplatform
5202     * @since 10
5203     */
5204    /**
5205     * Obtains the total number of bytes of the image pixel map.
5206     *
5207     * @returns { number } Total number of bytes.
5208     * @syscap SystemCapability.Multimedia.Image.Core
5209     * @crossplatform
5210     * @atomicservice
5211     * @since 11
5212     */
5213    /**
5214     * Obtains the total number of bytes of the image pixel map.
5215     *
5216     * @returns { number } Total number of bytes.
5217     * @syscap SystemCapability.Multimedia.Image.Core
5218     * @crossplatform
5219     * @form
5220     * @atomicservice
5221     * @since 12
5222     */
5223    getPixelBytesNumber(): number;
5224
5225    /**
5226     * Obtains the density of the image pixel map.
5227     *
5228     * @returns { number } The number of density.
5229     * @syscap SystemCapability.Multimedia.Image.Core
5230     * @since 9
5231     */
5232    /**
5233     * Obtains the density of the image pixel map.
5234     *
5235     * @returns { number } The number of density.
5236     * @syscap SystemCapability.Multimedia.Image.Core
5237     * @crossplatform
5238     * @since 10
5239     */
5240    /**
5241     * Obtains the density of the image pixel map.
5242     *
5243     * @returns { number } The number of density.
5244     * @syscap SystemCapability.Multimedia.Image.Core
5245     * @crossplatform
5246     * @atomicservice
5247     * @since 11
5248     */
5249    /**
5250     * Obtains the density of the image pixel map.
5251     *
5252     * @returns { number } The number of density.
5253     * @syscap SystemCapability.Multimedia.Image.Core
5254     * @crossplatform
5255     * @form
5256     * @atomicservice
5257     * @since 12
5258     */
5259    getDensity(): number;
5260
5261    /**
5262     * Set the transparent rate of pixel map. This method uses a callback to return the operation result.
5263     *
5264     * @param { number } rate The value of transparent rate.
5265     * @param { AsyncCallback<void> } callback Callback used to return the operation result. If the operation fails, an error message is returned.
5266     * @syscap SystemCapability.Multimedia.Image.Core
5267     * @since 9
5268     */
5269    /**
5270     * Set the transparent rate of pixel map. This method uses a callback to return the operation result.
5271     *
5272     * @param { number } rate The value of transparent rate.
5273     * @param { AsyncCallback<void> } callback Callback used to return the operation result. If the operation fails, an error message is returned.
5274     * @syscap SystemCapability.Multimedia.Image.Core
5275     * @crossplatform
5276     * @since 10
5277     */
5278    /**
5279     * Set the transparent rate of pixel map. This method uses a callback to return the operation result.
5280     *
5281     * @param { number } rate The value of transparent rate.
5282     * @param { AsyncCallback<void> } callback Callback used to return the operation result. If the operation fails, an error message is returned.
5283     * @syscap SystemCapability.Multimedia.Image.Core
5284     * @crossplatform
5285     * @atomicservice
5286     * @since 11
5287     */
5288    /**
5289     * Set the transparent rate of pixel map. This method uses a callback to return the operation result.
5290     *
5291     * @param { number } rate The value of transparent rate.
5292     * @param { AsyncCallback<void> } callback Callback used to return the operation result. If the operation fails, an error message is returned.
5293     * @syscap SystemCapability.Multimedia.Image.Core
5294     * @crossplatform
5295     * @form
5296     * @atomicservice
5297     * @since 12
5298     */
5299    opacity(rate: number, callback: AsyncCallback<void>): void;
5300
5301    /**
5302     * Set the transparent rate of pixel map. This method uses a promise to return the result.
5303     *
5304     * @param { number } rate The value of transparent rate.
5305     * @returns { Promise<void> } A Promise instance used to return the operation result. If the operation fails, an error message is returned.
5306     * @syscap SystemCapability.Multimedia.Image.Core
5307     * @since 9
5308     */
5309    /**
5310     * Set the transparent rate of pixel map. This method uses a promise to return the result.
5311     *
5312     * @param { number } rate The value of transparent rate.
5313     * @returns { Promise<void> } A Promise instance used to return the operation result. If the operation fails, an error message is returned.
5314     * @syscap SystemCapability.Multimedia.Image.Core
5315     * @crossplatform
5316     * @since 10
5317     */
5318    /**
5319     * Set the transparent rate of pixel map. This method uses a promise to return the result.
5320     *
5321     * @param { number } rate The value of transparent rate.
5322     * @returns { Promise<void> } A Promise instance used to return the operation result. If the operation fails, an error message is returned.
5323     * @syscap SystemCapability.Multimedia.Image.Core
5324     * @crossplatform
5325     * @atomicservice
5326     * @since 11
5327     */
5328    /**
5329     * Set the transparent rate of pixel map. This method uses a promise to return the result.
5330     *
5331     * @param { number } rate The value of transparent rate.
5332     * @returns { Promise<void> } A Promise instance used to return the operation result. If the operation fails, an error message is returned.
5333     * @syscap SystemCapability.Multimedia.Image.Core
5334     * @crossplatform
5335     * @form
5336     * @atomicservice
5337     * @since 12
5338     */
5339    opacity(rate: number): Promise<void>;
5340
5341    /**
5342     * Set the transparent rate of pixel map.
5343     *
5344     * @param { number } rate The value of transparent rate.
5345     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified.
5346     * 2.Incorrect parameter types. 3.Parameter verification failed.
5347     * @throws { BusinessError } 501 - Resource Unavailable.
5348     * @syscap SystemCapability.Multimedia.Image.Core
5349     * @crossplatform
5350     * @atomicservice
5351     * @since 12
5352     */
5353    opacitySync(rate: number): void;
5354    /**
5355     * Obtains new pixel map with alpha information. This method uses a promise to return the information.
5356     *
5357     * @returns { Promise<PixelMap> } A Promise instance used to return the new image pixel map. If the operation fails, an error message is returned.
5358     * @syscap SystemCapability.Multimedia.Image.Core
5359     * @since 9
5360     */
5361    /**
5362     * Obtains new pixel map with alpha information. This method uses a promise to return the information.
5363     *
5364     * @returns { Promise<PixelMap> } A Promise instance used to return the new image pixel map. If the operation fails, an error message is returned.
5365     * @syscap SystemCapability.Multimedia.Image.Core
5366     * @crossplatform
5367     * @since 10
5368     */
5369    /**
5370     * Obtains new pixel map with alpha information. This method uses a promise to return the information.
5371     *
5372     * @returns { Promise<PixelMap> } A Promise instance used to return the new image pixel map. If the operation fails, an error message is returned.
5373     * @syscap SystemCapability.Multimedia.Image.Core
5374     * @crossplatform
5375     * @atomicservice
5376     * @since 11
5377     */
5378    /**
5379     * Obtains new pixel map with alpha information. This method uses a promise to return the information.
5380     *
5381     * @returns { Promise<PixelMap> } A Promise instance used to return the new image pixel map. If the operation fails, an error message is returned.
5382     * @syscap SystemCapability.Multimedia.Image.Core
5383     * @crossplatform
5384     * @form
5385     * @atomicservice
5386     * @since 12
5387     */
5388    createAlphaPixelmap(): Promise<PixelMap>;
5389
5390    /**
5391     * Obtains new pixel map with alpha information. This method uses a callback to return the information.
5392     *
5393     * @param { AsyncCallback<PixelMap> } callback Callback used to return the new image pixel map. If the operation fails, an error message is returned.
5394     * @syscap SystemCapability.Multimedia.Image.Core
5395     * @since 9
5396     */
5397    /**
5398     * Obtains new pixel map with alpha information. This method uses a callback to return the information.
5399     *
5400     * @param { AsyncCallback<PixelMap> } callback Callback used to return the new image pixel map. If the operation fails, an error message is returned.
5401     * @syscap SystemCapability.Multimedia.Image.Core
5402     * @crossplatform
5403     * @since 10
5404     */
5405    /**
5406     * Obtains new pixel map with alpha information. This method uses a callback to return the information.
5407     *
5408     * @param { AsyncCallback<PixelMap> } callback Callback used to return the new image pixel map. If the operation fails, an error message is returned.
5409     * @syscap SystemCapability.Multimedia.Image.Core
5410     * @crossplatform
5411     * @atomicservice
5412     * @since 11
5413     */
5414    /**
5415     * Obtains new pixel map with alpha information. This method uses a callback to return the information.
5416     *
5417     * @param { AsyncCallback<PixelMap> } callback Callback used to return the new image pixel map. If the operation fails, an error message is returned.
5418     * @syscap SystemCapability.Multimedia.Image.Core
5419     * @crossplatform
5420     * @form
5421     * @atomicservice
5422     * @since 12
5423     */
5424    createAlphaPixelmap(callback: AsyncCallback<PixelMap>): void;
5425
5426    /**
5427     * Obtains new pixel map with alpha information.
5428     *
5429     * @returns { PixelMap } return the new image pixel map. If the operation fails, an error message is returned.
5430     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Parameter verification failed.
5431     * @throws { BusinessError } 501 - Resource Unavailable.
5432     * @syscap SystemCapability.Multimedia.Image.Core
5433     * @crossplatform
5434     * @atomicservice
5435     * @since 12
5436     */
5437    createAlphaPixelmapSync(): PixelMap;
5438    /**
5439     * Image zoom in width and height. This method uses a callback to return the operation result.
5440     *
5441     * @param { number } x The zoom value of width.
5442     * @param { number } y The zoom value of height.
5443     * @param { AsyncCallback<void> } callback Callback used to return the operation result. If the operation fails, an error message is returned.
5444     * @syscap SystemCapability.Multimedia.Image.Core
5445     * @since 9
5446     */
5447    /**
5448     * Image zoom in width and height. This method uses a callback to return the operation result.
5449     *
5450     * @param { number } x The zoom value of width.
5451     * @param { number } y The zoom value of height.
5452     * @param { AsyncCallback<void> } callback Callback used to return the operation result. If the operation fails, an error message is returned.
5453     * @syscap SystemCapability.Multimedia.Image.Core
5454     * @crossplatform
5455     * @since 10
5456     */
5457    /**
5458     * Image zoom in width and height. This method uses a callback to return the operation result.
5459     *
5460     * @param { number } x The zoom value of width.
5461     * @param { number } y The zoom value of height.
5462     * @param { AsyncCallback<void> } callback Callback used to return the operation result. If the operation fails, an error message is returned.
5463     * @syscap SystemCapability.Multimedia.Image.Core
5464     * @crossplatform
5465     * @atomicservice
5466     * @since 11
5467     */
5468    /**
5469     * Image zoom in width and height. This method uses a callback to return the operation result.
5470     *
5471     * @param { number } x The zoom value of width.
5472     * @param { number } y The zoom value of height.
5473     * @param { AsyncCallback<void> } callback Callback used to return the operation result. If the operation fails, an error message is returned.
5474     * @syscap SystemCapability.Multimedia.Image.Core
5475     * @crossplatform
5476     * @form
5477     * @atomicservice
5478     * @since 12
5479     */
5480    scale(x: number, y: number, callback: AsyncCallback<void>): void;
5481
5482    /**
5483     * Image zoom in width and height. This method uses a promise to return the result.
5484     *
5485     * @param { number } x The zoom value of width.
5486     * @param { number } y The zoom value of height.
5487     * @returns { Promise<void> } A Promise instance used to return the operation result. If the operation fails, an error message is returned.
5488     * @syscap SystemCapability.Multimedia.Image.Core
5489     * @since 9
5490     */
5491    /**
5492     * Image zoom in width and height. This method uses a promise to return the result.
5493     *
5494     * @param { number } x The zoom value of width.
5495     * @param { number } y The zoom value of height.
5496     * @returns { Promise<void> } A Promise instance used to return the operation result. If the operation fails, an error message is returned.
5497     * @syscap SystemCapability.Multimedia.Image.Core
5498     * @crossplatform
5499     * @since 10
5500     */
5501    /**
5502     * Image zoom in width and height. This method uses a promise to return the result.
5503     *
5504     * @param { number } x The zoom value of width.
5505     * @param { number } y The zoom value of height.
5506     * @returns { Promise<void> } A Promise instance used to return the operation result. If the operation fails, an error message is returned.
5507     * @syscap SystemCapability.Multimedia.Image.Core
5508     * @crossplatform
5509     * @atomicservice
5510     * @since 11
5511     */
5512    /**
5513     * Image zoom in width and height. This method uses a promise to return the result.
5514     *
5515     * @param { number } x The zoom value of width.
5516     * @param { number } y The zoom value of height.
5517     * @returns { Promise<void> } A Promise instance used to return the operation result. If the operation fails, an error message is returned.
5518     * @syscap SystemCapability.Multimedia.Image.Core
5519     * @crossplatform
5520     * @form
5521     * @atomicservice
5522     * @since 12
5523     */
5524    scale(x: number, y: number): Promise<void>;
5525
5526    /**
5527     * Image zoom in width and height.
5528     *
5529     * @param { number } x The zoom value of width.
5530     * @param { number } y The zoom value of height.
5531     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified.
5532     * 2.Incorrect parameter types. 3.Parameter verification failed.
5533     * @throws { BusinessError } 501 - Resource Unavailable.
5534     * @syscap SystemCapability.Multimedia.Image.Core
5535     * @crossplatform
5536     * @atomicservice
5537     * @since 12
5538     */
5539    scaleSync(x: number, y: number): void;
5540
5541    /**
5542     * Image position transformation. This method uses a callback to return the operation result.
5543     *
5544     * @param { number } x The position value of width.
5545     * @param { number } y The position value of height.
5546     * @param { AsyncCallback<void> } callback Callback used to return the operation result. If the operation fails, an error message is returned.
5547     * @syscap SystemCapability.Multimedia.Image.Core
5548     * @since 9
5549     */
5550    /**
5551     * Image position transformation. This method uses a callback to return the operation result.
5552     *
5553     * @param { number } x The position value of width.
5554     * @param { number } y The position value of height.
5555     * @param { AsyncCallback<void> } callback Callback used to return the operation result. If the operation fails, an error message is returned.
5556     * @syscap SystemCapability.Multimedia.Image.Core
5557     * @crossplatform
5558     * @since 10
5559     */
5560    /**
5561     * Image position transformation. This method uses a callback to return the operation result.
5562     *
5563     * @param { number } x The position value of width.
5564     * @param { number } y The position value of height.
5565     * @param { AsyncCallback<void> } callback Callback used to return the operation result. If the operation fails, an error message is returned.
5566     * @syscap SystemCapability.Multimedia.Image.Core
5567     * @crossplatform
5568     * @atomicservice
5569     * @since 11
5570     */
5571    /**
5572     * Image position transformation. This method uses a callback to return the operation result.
5573     *
5574     * @param { number } x The position value of width.
5575     * @param { number } y The position value of height.
5576     * @param { AsyncCallback<void> } callback Callback used to return the operation result. If the operation fails, an error message is returned.
5577     * @syscap SystemCapability.Multimedia.Image.Core
5578     * @crossplatform
5579     * @form
5580     * @atomicservice
5581     * @since 12
5582     */
5583    translate(x: number, y: number, callback: AsyncCallback<void>): void;
5584
5585    /**
5586     * Image position transformation. This method uses a promise to return the result.
5587     *
5588     * @param { number } x The position value of width.
5589     * @param { number } y The position value of height.
5590     * @returns { Promise<void> } A Promise instance used to return the operation result. If the operation fails, an error message is returned.
5591     * @syscap SystemCapability.Multimedia.Image.Core
5592     * @since 9
5593     */
5594    /**
5595     * Image position transformation. This method uses a promise to return the result.
5596     *
5597     * @param { number } x The position value of width.
5598     * @param { number } y The position value of height.
5599     * @returns { Promise<void> } A Promise instance used to return the operation result. If the operation fails, an error message is returned.
5600     * @syscap SystemCapability.Multimedia.Image.Core
5601     * @crossplatform
5602     * @since 10
5603     */
5604    /**
5605     * Image position transformation. This method uses a promise to return the result.
5606     *
5607     * @param { number } x The position value of width.
5608     * @param { number } y The position value of height.
5609     * @returns { Promise<void> } A Promise instance used to return the operation result. If the operation fails, an error message is returned.
5610     * @syscap SystemCapability.Multimedia.Image.Core
5611     * @crossplatform
5612     * @atomicservice
5613     * @since 11
5614     */
5615    /**
5616     * Image position transformation. This method uses a promise to return the result.
5617     *
5618     * @param { number } x The position value of width.
5619     * @param { number } y The position value of height.
5620     * @returns { Promise<void> } A Promise instance used to return the operation result. If the operation fails, an error message is returned.
5621     * @syscap SystemCapability.Multimedia.Image.Core
5622     * @crossplatform
5623     * @form
5624     * @atomicservice
5625     * @since 12
5626     */
5627    translate(x: number, y: number): Promise<void>;
5628
5629    /**
5630     * Image position transformation.
5631     *
5632     * @param { number } x The position value of width.
5633     * @param { number } y The position value of height.
5634     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified.
5635     * 2.Incorrect parameter types. 3.Parameter verification failed.
5636     * @throws { BusinessError } 501 - Resource Unavailable.
5637     * @syscap SystemCapability.Multimedia.Image.Core
5638     * @crossplatform
5639     * @atomicservice
5640     * @since 12
5641     */
5642    translateSync(x: number, y: number): void;
5643
5644    /**
5645     * Image rotation. This method uses a callback to return the operation result.
5646     *
5647     * @param { number } angle The rotation angle.
5648     * @param { AsyncCallback<void> } callback Callback used to return the operation result. If the operation fails, an error message is returned.
5649     * @syscap SystemCapability.Multimedia.Image.Core
5650     * @since 9
5651     */
5652    /**
5653     * Image rotation. This method uses a callback to return the operation result.
5654     *
5655     * @param { number } angle The rotation angle.
5656     * @param { AsyncCallback<void> } callback Callback used to return the operation result. If the operation fails, an error message is returned.
5657     * @syscap SystemCapability.Multimedia.Image.Core
5658     * @crossplatform
5659     * @since 10
5660     */
5661    /**
5662     * Image rotation. This method uses a callback to return the operation result.
5663     *
5664     * @param { number } angle The rotation angle.
5665     * @param { AsyncCallback<void> } callback Callback used to return the operation result. If the operation fails, an error message is returned.
5666     * @syscap SystemCapability.Multimedia.Image.Core
5667     * @crossplatform
5668     * @atomicservice
5669     * @since 11
5670     */
5671    /**
5672     * Image rotation. This method uses a callback to return the operation result.
5673     *
5674     * @param { number } angle The rotation angle.
5675     * @param { AsyncCallback<void> } callback Callback used to return the operation result. If the operation fails, an error message is returned.
5676     * @syscap SystemCapability.Multimedia.Image.Core
5677     * @crossplatform
5678     * @form
5679     * @atomicservice
5680     * @since 12
5681     */
5682    rotate(angle: number, callback: AsyncCallback<void>): void;
5683
5684    /**
5685     * Image rotation. This method uses a promise to return the result.
5686     *
5687     * @param { number } angle The rotation angle.
5688     * @returns { Promise<void> } A Promise instance used to return the operation result. If the operation fails, an error message is returned.
5689     * @syscap SystemCapability.Multimedia.Image.Core
5690     * @since 9
5691     */
5692    /**
5693     * Image rotation. This method uses a promise to return the result.
5694     *
5695     * @param { number } angle The rotation angle.
5696     * @returns { Promise<void> } A Promise instance used to return the operation result. If the operation fails, an error message is returned.
5697     * @syscap SystemCapability.Multimedia.Image.Core
5698     * @crossplatform
5699     * @since 10
5700     */
5701    /**
5702     * Image rotation. This method uses a promise to return the result.
5703     *
5704     * @param { number } angle The rotation angle.
5705     * @returns { Promise<void> } A Promise instance used to return the operation result. If the operation fails, an error message is returned.
5706     * @syscap SystemCapability.Multimedia.Image.Core
5707     * @crossplatform
5708     * @atomicservice
5709     * @since 11
5710     */
5711    /**
5712     * Image rotation. This method uses a promise to return the result.
5713     *
5714     * @param { number } angle The rotation angle.
5715     * @returns { Promise<void> } A Promise instance used to return the operation result. If the operation fails, an error message is returned.
5716     * @syscap SystemCapability.Multimedia.Image.Core
5717     * @crossplatform
5718     * @form
5719     * @atomicservice
5720     * @since 12
5721     */
5722    rotate(angle: number): Promise<void>;
5723
5724    /**
5725     * Image rotation.
5726     *
5727     * @param { number } angle The rotation angle.
5728     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified.
5729     * 2.Incorrect parameter types. 3.Parameter verification failed.
5730     * @throws { BusinessError } 501 - Resource Unavailable.
5731     * @syscap SystemCapability.Multimedia.Image.Core
5732     * @crossplatform
5733     * @atomicservice
5734     * @since 12
5735     */
5736    rotateSync(angle: number): void;
5737
5738    /**
5739     * Image flipping. This method uses a callback to return the operation result.
5740     *
5741     * @param { boolean } horizontal Is flip in horizontal.
5742     * @param { boolean } vertical Is flip in vertical.
5743     * @param { AsyncCallback<void> } callback Callback used to return the operation result. If the operation fails, an error message is returned.
5744     * @syscap SystemCapability.Multimedia.Image.Core
5745     * @since 9
5746     */
5747    /**
5748     * Image flipping. This method uses a callback to return the operation result.
5749     *
5750     * @param { boolean } horizontal Is flip in horizontal.
5751     * @param { boolean } vertical Is flip in vertical.
5752     * @param { AsyncCallback<void> } callback Callback used to return the operation result. If the operation fails, an error message is returned.
5753     * @syscap SystemCapability.Multimedia.Image.Core
5754     * @crossplatform
5755     * @since 10
5756     */
5757    /**
5758     * Image flipping. This method uses a callback to return the operation result.
5759     *
5760     * @param { boolean } horizontal Is flip in horizontal.
5761     * @param { boolean } vertical Is flip in vertical.
5762     * @param { AsyncCallback<void> } callback Callback used to return the operation result. If the operation fails, an error message is returned.
5763     * @syscap SystemCapability.Multimedia.Image.Core
5764     * @crossplatform
5765     * @atomicservice
5766     * @since 11
5767     */
5768    /**
5769     * Image flipping. This method uses a callback to return the operation result.
5770     *
5771     * @param { boolean } horizontal Is flip in horizontal.
5772     * @param { boolean } vertical Is flip in vertical.
5773     * @param { AsyncCallback<void> } callback Callback used to return the operation result. If the operation fails, an error message is returned.
5774     * @syscap SystemCapability.Multimedia.Image.Core
5775     * @crossplatform
5776     * @form
5777     * @atomicservice
5778     * @since 12
5779     */
5780    flip(horizontal: boolean, vertical: boolean, callback: AsyncCallback<void>): void;
5781
5782    /**
5783     * Image flipping. This method uses a promise to return the result.
5784     *
5785     * @param { boolean } horizontal Is flip in horizontal.
5786     * @param { boolean } vertical Is flip in vertical.
5787     * @returns { Promise<void> } A Promise instance used to return the operation result. If the operation fails, an error message is returned.
5788     * @syscap SystemCapability.Multimedia.Image.Core
5789     * @since 9
5790     */
5791    /**
5792     * Image flipping. This method uses a promise to return the result.
5793     *
5794     * @param { boolean } horizontal Is flip in horizontal.
5795     * @param { boolean } vertical Is flip in vertical.
5796     * @returns { Promise<void> } A Promise instance used to return the operation result. If the operation fails, an error message is returned.
5797     * @syscap SystemCapability.Multimedia.Image.Core
5798     * @crossplatform
5799     * @since 10
5800     */
5801    /**
5802     * Image flipping. This method uses a promise to return the result.
5803     *
5804     * @param { boolean } horizontal Is flip in horizontal.
5805     * @param { boolean } vertical Is flip in vertical.
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     * @atomicservice
5810     * @since 11
5811     */
5812    /**
5813     * Image flipping. This method uses a promise to return the result.
5814     *
5815     * @param { boolean } horizontal Is flip in horizontal.
5816     * @param { boolean } vertical Is flip in vertical.
5817     * @returns { Promise<void> } A Promise instance used to return the operation result. If the operation fails, an error message is returned.
5818     * @syscap SystemCapability.Multimedia.Image.Core
5819     * @crossplatform
5820     * @form
5821     * @atomicservice
5822     * @since 12
5823     */
5824    flip(horizontal: boolean, vertical: boolean): Promise<void>;
5825
5826    /**
5827     * Image flipping.
5828     *
5829     * @param { boolean } horizontal Is flip in horizontal.
5830     * @param { boolean } vertical Is flip in vertical.
5831     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified.
5832     * 2.Incorrect parameter types. 3.Parameter verification failed.
5833     * @throws { BusinessError } 501 - Resource Unavailable.
5834     * @syscap SystemCapability.Multimedia.Image.Core
5835     * @crossplatform
5836     * @atomicservice
5837     * @since 12
5838     */
5839    flipSync(horizontal: boolean, vertical: boolean): void;
5840
5841    /**
5842     * Crop the image. This method uses a callback to return the operation result.
5843     *
5844     * @param { Region } region The region to crop.
5845     * @param { AsyncCallback<void> } callback Callback used to return the operation result. If the operation fails, an error message is returned.
5846     * @syscap SystemCapability.Multimedia.Image.Core
5847     * @since 9
5848     */
5849    /**
5850     * Crop the image. This method uses a callback to return the operation result.
5851     *
5852     * @param { Region } region The region to crop.
5853     * @param { AsyncCallback<void> } callback Callback used to return the operation result. If the operation fails, an error message is returned.
5854     * @syscap SystemCapability.Multimedia.Image.Core
5855     * @crossplatform
5856     * @since 10
5857     */
5858    /**
5859     * Crop the image. This method uses a callback to return the operation result.
5860     *
5861     * @param { Region } region The region to crop.
5862     * @param { AsyncCallback<void> } callback Callback used to return the operation result. If the operation fails, an error message is returned.
5863     * @syscap SystemCapability.Multimedia.Image.Core
5864     * @crossplatform
5865     * @atomicservice
5866     * @since 11
5867     */
5868    /**
5869     * Crop the image. This method uses a callback to return the operation result.
5870     *
5871     * @param { Region } region The region to crop.
5872     * @param { AsyncCallback<void> } callback Callback used to return the operation result. If the operation fails, an error message is returned.
5873     * @syscap SystemCapability.Multimedia.Image.Core
5874     * @crossplatform
5875     * @form
5876     * @atomicservice
5877     * @since 12
5878     */
5879    crop(region: Region, callback: AsyncCallback<void>): void;
5880
5881    /**
5882     * Crop the image. This method uses a promise to return the result.
5883     *
5884     * @param { Region } region The region to crop.
5885     * @returns { Promise<void> } A Promise instance used to return the operation result. If the operation fails, an error message is returned.
5886     * @syscap SystemCapability.Multimedia.Image.Core
5887     * @since 9
5888     */
5889    /**
5890     * Crop the image. This method uses a promise to return the result.
5891     *
5892     * @param { Region } region The region to crop.
5893     * @returns { Promise<void> } A Promise instance used to return the operation result. If the operation fails, an error message is returned.
5894     * @syscap SystemCapability.Multimedia.Image.Core
5895     * @crossplatform
5896     * @since 10
5897     */
5898    /**
5899     * Crop the image. This method uses a promise to return the result.
5900     *
5901     * @param { Region } region The region to crop.
5902     * @returns { Promise<void> } A Promise instance used to return the operation result. If the operation fails, an error message is returned.
5903     * @syscap SystemCapability.Multimedia.Image.Core
5904     * @crossplatform
5905     * @atomicservice
5906     * @since 11
5907     */
5908    /**
5909     * Crop the image. This method uses a promise to return the result.
5910     *
5911     * @param { Region } region The region to crop.
5912     * @returns { Promise<void> } A Promise instance used to return the operation result. If the operation fails, an error message is returned.
5913     * @syscap SystemCapability.Multimedia.Image.Core
5914     * @crossplatform
5915     * @form
5916     * @atomicservice
5917     * @since 12
5918     */
5919    crop(region: Region): Promise<void>;
5920
5921    /**
5922     * Crop the image.
5923     *
5924     * @param { Region } region The region to crop.
5925     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified.
5926     * 2.Incorrect parameter types. 3.Parameter verification failed.
5927     * @throws { BusinessError } 501 - Resource Unavailable.
5928     * @syscap SystemCapability.Multimedia.Image.Core
5929     * @crossplatform
5930     * @atomicservice
5931     * @since 12
5932     */
5933    cropSync(region: Region): void;
5934
5935    /**
5936     * Get color space of pixel map.
5937     *
5938     * @returns { colorSpaceManager.ColorSpaceManager } If the operation fails, an error message is returned.
5939     * @throws { BusinessError } 62980101 - The image data is abnormal.
5940     * @throws { BusinessError } 62980103 - The image data is not supported.
5941     * @throws { BusinessError } 62980115 - Invalid image parameter.
5942     * @syscap SystemCapability.Multimedia.Image.Core
5943     * @since 10
5944     */
5945    /**
5946     * Get color space of pixel map.
5947     *
5948     * @returns { colorSpaceManager.ColorSpaceManager } If the operation fails, an error message is returned.
5949     * @throws { BusinessError } 62980101 - If the image data abnormal.
5950     * @throws { BusinessError } 62980103 - If the image data unsupport.
5951     * @throws { BusinessError } 62980115 - If the image parameter invalid.
5952     * @syscap SystemCapability.Multimedia.Image.Core
5953     * @crossplatform
5954     * @since 11
5955     */
5956    getColorSpace(): colorSpaceManager.ColorSpaceManager;
5957
5958    /**
5959     * Marshalling pixelmap and write into MessageSequence.
5960     *
5961     * @param { rpc.MessageSequence } sequence rpc.MessageSequence parameter.
5962     * @throws { BusinessError } 62980115 - Invalid image parameter.
5963     * @throws { BusinessError } 62980097 - IPC error.
5964     * @syscap SystemCapability.Multimedia.Image.Core
5965     * @since 10
5966     */
5967    marshalling(sequence: rpc.MessageSequence): void;
5968
5969    /**
5970     * Creates a PixelMap object based on MessageSequence parameter.
5971     *
5972     * @param { rpc.MessageSequence } sequence rpc.MessageSequence parameter.
5973     * @returns { Promise<PixelMap> } A Promise instance used to return the PixelMap object.
5974     * @throws { BusinessError } 62980115 - Invalid image parameter.
5975     * @throws { BusinessError } 62980097 - IPC error.
5976     * @throws { BusinessError } 62980096 - The operation failed.
5977     * @syscap SystemCapability.Multimedia.Image.Core
5978     * @since 10
5979     */
5980    unmarshalling(sequence: rpc.MessageSequence): Promise<PixelMap>;
5981
5982    /**
5983     * Set color space of pixel map.
5984     *
5985     * This method is only used to set the colorspace property of pixelmap, while all pixel data remains the same after calling this method.
5986     * If you want to change colorspace for all pixels, use method {@Link #applyColorSpace(colorSpaceManager.ColorSpaceManager)} or
5987     * {@Link #applyColorSpace(colorSpaceManager.ColorSpaceManager, AsyncCallback<void>)}.
5988     *
5989     * @param { colorSpaceManager.ColorSpaceManager } colorSpace The color space for pixel map.
5990     * @throws { BusinessError } 62980111 - The image source data is incomplete.
5991     * @throws { BusinessError } 62980115 - Invalid image parameter.
5992     * @syscap SystemCapability.Multimedia.Image.Core
5993     * @since 10
5994     */
5995    /**
5996     * Set color space of pixel map.
5997     *
5998     * This method is only used to set the colorspace property of pixelmap, while all pixel data remains the same after calling this method.
5999     * If you want to change colorspace for all pixels, use method {@Link #applyColorSpace(colorSpaceManager.ColorSpaceManager)} or
6000     * {@Link #applyColorSpace(colorSpaceManager.ColorSpaceManager, AsyncCallback<void>)}.
6001     *
6002     * @param { colorSpaceManager.ColorSpaceManager } colorSpace The color space for pixel map.
6003     * @throws { BusinessError } 62980111 - If the operation invalid.
6004     * @throws { BusinessError } 62980115 - If the image parameter invalid.
6005     * @syscap SystemCapability.Multimedia.Image.Core
6006     * @crossplatform
6007     * @since 11
6008     */
6009    setColorSpace(colorSpace: colorSpaceManager.ColorSpaceManager): void;
6010
6011    /**
6012     * Is it stride Alignment
6013     *
6014     * @type { boolean }
6015     * @readonly
6016     * @syscap SystemCapability.Multimedia.Image.Core
6017     * @since 11
6018     */
6019    readonly isStrideAlignment: boolean;
6020
6021     /**
6022     * 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.
6023     *
6024     * This method is used to change color space of pixelmap. Pixel data will be changed by calling this method.
6025     * If you want to set the colorspace property of pixelmap only, use method {@Link #setColorSpace(colorSpaceManager.ColorSpaceManager)}.
6026     *
6027     * @param { colorSpaceManager.ColorSpaceManager } targetColorSpace - The color space for pixel map.
6028     * @param { AsyncCallback<void> } callback - Callback used to return the operation result. If the operation fails, an error message is returned.
6029     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified.
6030     * 2.Incorrect parameter types. 3.Parameter verification failed.
6031     * @throws { BusinessError } 62980104 - Failed to initialize the internal object.
6032     * @throws { BusinessError } 62980108 - Failed to convert the color space.
6033     * @throws { BusinessError } 62980115 - Invalid image parameter.
6034     * @syscap SystemCapability.Multimedia.Image.Core
6035     * @crossplatform
6036     * @since 11
6037     */
6038    applyColorSpace(targetColorSpace: colorSpaceManager.ColorSpaceManager, callback: AsyncCallback<void>): void;
6039
6040    /**
6041     * Apply color space of pixel map, the pixels will be changed by input color space. This method uses a promise to return the result.
6042     *
6043     * This method is used to change color space of pixelmap. Pixel data will be changed by calling this method.
6044     * If you want to set the colorspace property of pixelmap only, use method {@Link #setColorSpace(colorSpaceManager.ColorSpaceManager)}.
6045     *
6046     * @param { colorSpaceManager.ColorSpaceManager } targetColorSpace - The color space for pixel map.
6047     * @returns { Promise<void> } A Promise instance used to return the operation result. If the operation fails, an error message is returned.
6048     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified.
6049     * 2.Incorrect parameter types. 3.Parameter verification failed.
6050     * @throws { BusinessError } 62980104 - Failed to initialize the internal object.
6051     * @throws { BusinessError } 62980108 - Failed to convert the color space.
6052     * @throws { BusinessError } 62980115 - Invalid image parameter.
6053     * @syscap SystemCapability.Multimedia.Image.Core
6054     * @crossplatform
6055     * @since 11
6056     */
6057    applyColorSpace(targetColorSpace: colorSpaceManager.ColorSpaceManager): Promise<void>;
6058
6059     /**
6060     * Releases this PixelMap object. This method uses a callback to return the result.
6061     *
6062     * @param { AsyncCallback<void> } callback Callback invoked for instance release. If the operation fails, an error message is returned.
6063     * @syscap SystemCapability.Multimedia.Image.Core
6064     * @since 7
6065     */
6066    /**
6067     * Releases this PixelMap object. This method uses a callback to return the result.
6068     *
6069     * @param { AsyncCallback<void> } callback Callback invoked for instance release. If the operation fails, an error message is returned.
6070     * @syscap SystemCapability.Multimedia.Image.Core
6071     * @crossplatform
6072     * @since 10
6073     */
6074    /**
6075     * Releases this PixelMap object. This method uses a callback to return the result.
6076     *
6077     * @param { AsyncCallback<void> } callback Callback invoked for instance release. If the operation fails, an error message is returned.
6078     * @syscap SystemCapability.Multimedia.Image.Core
6079     * @crossplatform
6080     * @atomicservice
6081     * @since 11
6082     */
6083    /**
6084     * Releases this PixelMap object. This method uses a callback to return the result.
6085     *
6086     * @param { AsyncCallback<void> } callback Callback invoked for instance release. If the operation fails, an error message is returned.
6087     * @syscap SystemCapability.Multimedia.Image.Core
6088     * @crossplatform
6089     * @form
6090     * @atomicservice
6091     * @since 12
6092     */
6093    release(callback: AsyncCallback<void>): void;
6094
6095    /**
6096     * Releases this PixelMap object. This method uses a promise to return the result.
6097     *
6098     * @returns { Promise<void> } A Promise instance used to return the instance release result. If the operation fails, an error message is returned.
6099     * @syscap SystemCapability.Multimedia.Image.Core
6100     * @since 7
6101     */
6102    /**
6103     * Releases this PixelMap object. This method uses a promise to return the result.
6104     *
6105     * @returns { Promise<void> } A Promise instance used to return the instance release result. If the operation fails, an error message is returned.
6106     * @syscap SystemCapability.Multimedia.Image.Core
6107     * @crossplatform
6108     * @since 10
6109     */
6110    /**
6111     * Releases this PixelMap object. This method uses a promise to return the result.
6112     *
6113     * @returns { Promise<void> } A Promise instance used to return the instance release result. If the operation fails, an error message is returned.
6114     * @syscap SystemCapability.Multimedia.Image.Core
6115     * @crossplatform
6116     * @atomicservice
6117     * @since 11
6118     */
6119    /**
6120     * Releases this PixelMap object. This method uses a promise to return the result.
6121     *
6122     * @returns { Promise<void> } A Promise instance used to return the instance release result. If the operation fails, an error message is returned.
6123     * @syscap SystemCapability.Multimedia.Image.Core
6124     * @crossplatform
6125     * @form
6126     * @atomicservice
6127     * @since 12
6128     */
6129    release(): Promise<void>;
6130  }
6131
6132  /**
6133   * ImageSource instance.
6134   *
6135   * @typedef ImageSource
6136   * @syscap SystemCapability.Multimedia.Image.ImageSource
6137   * @since 6
6138   */
6139  /**
6140   * ImageSource instance.
6141   *
6142   * @typedef ImageSource
6143   * @syscap SystemCapability.Multimedia.Image.ImageSource
6144   * @crossplatform
6145   * @since 10
6146   */
6147  /**
6148   * ImageSource instance.
6149   *
6150   * @typedef ImageSource
6151   * @syscap SystemCapability.Multimedia.Image.ImageSource
6152   * @crossplatform
6153   * @atomicservice
6154   * @since 11
6155   */
6156  /**
6157   * ImageSource instance.
6158   *
6159   * @typedef ImageSource
6160   * @syscap SystemCapability.Multimedia.Image.ImageSource
6161   * @crossplatform
6162   * @form
6163   * @atomicservice
6164   * @since 12
6165   */
6166  interface ImageSource {
6167    /**
6168     * Obtains information about an image with the specified sequence number and uses a callback
6169     * to return the result.
6170     *
6171     * @param { number } index Sequence number of an image.
6172     * @param { AsyncCallback<ImageInfo> } callback Callback used to return the image information.
6173     * @syscap SystemCapability.Multimedia.Image.ImageSource
6174     * @since 6
6175     */
6176    /**
6177     * Obtains information about an image with the specified sequence number and uses a callback
6178     * to return the result.
6179     *
6180     * @param { number } index Sequence number of an image.
6181     * @param { AsyncCallback<ImageInfo> } callback Callback used to return the image information.
6182     * @syscap SystemCapability.Multimedia.Image.ImageSource
6183     * @crossplatform
6184     * @since 10
6185     */
6186    /**
6187     * Obtains information about an image with the specified sequence number and uses a callback
6188     * to return the result.
6189     *
6190     * @param { number } index Sequence number of an image.
6191     * @param { AsyncCallback<ImageInfo> } callback Callback used to return the image information.
6192     * @syscap SystemCapability.Multimedia.Image.ImageSource
6193     * @crossplatform
6194     * @atomicservice
6195     * @since 11
6196     */
6197    /**
6198     * Obtains information about an image with the specified sequence number and uses a callback
6199     * to return the result.
6200     *
6201     * @param { number } index Sequence number of an image.
6202     * @param { AsyncCallback<ImageInfo> } callback Callback used to return the image information.
6203     * @syscap SystemCapability.Multimedia.Image.ImageSource
6204     * @crossplatform
6205     * @form
6206     * @atomicservice
6207     * @since 12
6208     */
6209    getImageInfo(index: number, callback: AsyncCallback<ImageInfo>): void;
6210
6211    /**
6212     * Obtains information about this image and uses a callback to return the result.
6213     *
6214     * @param { AsyncCallback<ImageInfo> } callback Callback used to return the image information.
6215     * @syscap SystemCapability.Multimedia.Image.ImageSource
6216     * @since 6
6217     */
6218    /**
6219     * Obtains information about this image and uses a callback to return the result.
6220     *
6221     * @param { AsyncCallback<ImageInfo> } callback Callback used to return the image information.
6222     * @syscap SystemCapability.Multimedia.Image.ImageSource
6223     * @crossplatform
6224     * @since 10
6225     */
6226    /**
6227     * Obtains information about this image and uses a callback to return the result.
6228     *
6229     * @param { AsyncCallback<ImageInfo> } callback Callback used to return the image information.
6230     * @syscap SystemCapability.Multimedia.Image.ImageSource
6231     * @crossplatform
6232     * @atomicservice
6233     * @since 11
6234     */
6235    /**
6236     * Obtains information about this image and uses a callback to return the result.
6237     *
6238     * @param { AsyncCallback<ImageInfo> } callback Callback used to return the image information.
6239     * @syscap SystemCapability.Multimedia.Image.ImageSource
6240     * @crossplatform
6241     * @form
6242     * @atomicservice
6243     * @since 12
6244     */
6245    getImageInfo(callback: AsyncCallback<ImageInfo>): void;
6246
6247    /**
6248     * Get image information from image source.
6249     *
6250     * @param { number } index Sequence number of an image. If this parameter is not specified, the default value 0 is used.
6251     * @returns { Promise<ImageInfo> } A Promise instance used to return the image information.
6252     * @syscap SystemCapability.Multimedia.Image.ImageSource
6253     * @since 6
6254     */
6255    /**
6256     * Get image information from image source.
6257     *
6258     * @param { number } index Sequence number of an image. If this parameter is not specified, the default value 0 is used.
6259     * @returns { Promise<ImageInfo> } A Promise instance used to return the image information.
6260     * @syscap SystemCapability.Multimedia.Image.ImageSource
6261     * @crossplatform
6262     * @since 10
6263     */
6264    /**
6265     * Get image information from image source.
6266     *
6267     * @param { number } index Sequence number of an image. If this parameter is not specified, the default value 0 is used.
6268     * @returns { Promise<ImageInfo> } A Promise instance used to return the image information.
6269     * @syscap SystemCapability.Multimedia.Image.ImageSource
6270     * @crossplatform
6271     * @atomicservice
6272     * @since 11
6273     */
6274    /**
6275     * Get image information from image source.
6276     *
6277     * @param { number } index Sequence number of an image. If this parameter is not specified, the default value 0 is used.
6278     * @returns { Promise<ImageInfo> } A Promise instance used to return the image information.
6279     * @syscap SystemCapability.Multimedia.Image.ImageSource
6280     * @crossplatform
6281     * @form
6282     * @atomicservice
6283     * @since 12
6284     */
6285    getImageInfo(index?: number): Promise<ImageInfo>;
6286
6287    /**
6288     * Get image information from image source synchronously.
6289     *
6290     * @param { number } index - Index of sequence images. If this parameter is not specified, default value is 0.
6291     * @returns { ImageInfo } The image information.
6292     * @syscap SystemCapability.Multimedia.Image.ImageSource
6293     * @crossplatform
6294     * @since 12
6295     */
6296    getImageInfoSync(index?: number): ImageInfo;
6297
6298    /**
6299     * Creates a PixelMap object based on image decoding parameters. This method uses a promise to
6300     * return the object.
6301     *
6302     * @param { DecodingOptions } options Image decoding parameters.
6303     * @returns { Promise<PixelMap> } A Promise instance used to return the PixelMap object.
6304     * @syscap SystemCapability.Multimedia.Image.ImageSource
6305     * @since 7
6306     */
6307    /**
6308     * Creates a PixelMap object based on image decoding parameters. This method uses a promise to
6309     * return the object.
6310     *
6311     * @param { DecodingOptions } options Image decoding parameters.
6312     * @returns { Promise<PixelMap> } A Promise instance used to return the PixelMap object.
6313     * @syscap SystemCapability.Multimedia.Image.ImageSource
6314     * @crossplatform
6315     * @since 10
6316     */
6317    /**
6318     * Creates a PixelMap object based on image decoding parameters. This method uses a promise to
6319     * return the object.
6320     *
6321     * @param { DecodingOptions } options Image decoding parameters.
6322     * @returns { Promise<PixelMap> } A Promise instance used to return the PixelMap object.
6323     * @syscap SystemCapability.Multimedia.Image.ImageSource
6324     * @crossplatform
6325     * @atomicservice
6326     * @since 11
6327     */
6328    /**
6329     * Creates a PixelMap object based on image decoding parameters. This method uses a promise to
6330     * return the object.
6331     *
6332     * @param { DecodingOptions } options Image decoding parameters.
6333     * @returns { Promise<PixelMap> } A Promise instance used to return the PixelMap object.
6334     * @syscap SystemCapability.Multimedia.Image.ImageSource
6335     * @crossplatform
6336     * @form
6337     * @atomicservice
6338     * @since 12
6339     */
6340    createPixelMap(options?: DecodingOptions): Promise<PixelMap>;
6341
6342    /**
6343     * Creates a PixelMap object. This method uses a callback to return the object.
6344     *
6345     * @param { AsyncCallback<PixelMap> } callback Callback used to return the PixelMap object.
6346     * @syscap SystemCapability.Multimedia.Image.ImageSource
6347     * @since 7
6348     */
6349    /**
6350     * Creates a PixelMap object. This method uses a callback to return the object.
6351     *
6352     * @param { AsyncCallback<PixelMap> } callback Callback used to return the PixelMap object.
6353     * @syscap SystemCapability.Multimedia.Image.ImageSource
6354     * @crossplatform
6355     * @since 10
6356     */
6357    /**
6358     * Creates a PixelMap object. This method uses a callback to return the object.
6359     *
6360     * @param { AsyncCallback<PixelMap> } callback Callback used to return the PixelMap object.
6361     * @syscap SystemCapability.Multimedia.Image.ImageSource
6362     * @crossplatform
6363     * @atomicservice
6364     * @since 11
6365     */
6366    /**
6367     * Creates a PixelMap object. This method uses a callback to return the object.
6368     *
6369     * @param { AsyncCallback<PixelMap> } callback Callback used to return the PixelMap object.
6370     * @syscap SystemCapability.Multimedia.Image.ImageSource
6371     * @crossplatform
6372     * @form
6373     * @atomicservice
6374     * @since 12
6375     */
6376    createPixelMap(callback: AsyncCallback<PixelMap>): void;
6377
6378    /**
6379     * Creates a PixelMap object based on image decoding parameters. This method uses a callback to
6380     * return the object.
6381     *
6382     * @param { DecodingOptions } options Image decoding parameters.
6383     * @param { AsyncCallback<PixelMap> } callback Callback used to return the PixelMap object.
6384     * @syscap SystemCapability.Multimedia.Image.ImageSource
6385     * @since 7
6386     */
6387    /**
6388     * Creates a PixelMap object based on image decoding parameters. This method uses a callback to
6389     * return the object.
6390     *
6391     * @param { DecodingOptions } options Image decoding parameters.
6392     * @param { AsyncCallback<PixelMap> } callback Callback used to return the PixelMap object.
6393     * @syscap SystemCapability.Multimedia.Image.ImageSource
6394     * @crossplatform
6395     * @since 10
6396     */
6397    /**
6398     * Creates a PixelMap object based on image decoding parameters. This method uses a callback to
6399     * return the object.
6400     *
6401     * @param { DecodingOptions } options Image decoding parameters.
6402     * @param { AsyncCallback<PixelMap> } callback Callback used to return the PixelMap object.
6403     * @syscap SystemCapability.Multimedia.Image.ImageSource
6404     * @crossplatform
6405     * @atomicservice
6406     * @since 11
6407     */
6408    /**
6409     * Creates a PixelMap object based on image decoding parameters. This method uses a callback to
6410     * return the object.
6411     *
6412     * @param { DecodingOptions } options Image decoding parameters.
6413     * @param { AsyncCallback<PixelMap> } callback Callback used to return the PixelMap object.
6414     * @syscap SystemCapability.Multimedia.Image.ImageSource
6415     * @crossplatform
6416     * @form
6417     * @atomicservice
6418     * @since 12
6419     */
6420    createPixelMap(options: DecodingOptions, callback: AsyncCallback<PixelMap>): void;
6421
6422    /**
6423     * Create a PixelMap object based on image decoding parameters synchronously.
6424     *
6425     * @param { DecodingOptions } options - Image decoding parameters.
6426     * @returns { PixelMap } Return the PixelMap. If decoding fails, return undefined.
6427     * @syscap SystemCapability.Multimedia.Image.ImageSource
6428     * @crossplatform
6429     * @since 12
6430     */
6431    createPixelMapSync(options?: DecodingOptions): PixelMap;
6432
6433    /**
6434     * Creates a PixelMap array based on image decoding parameters. This method uses a promise to
6435     * return the array.
6436     *
6437     * @param { DecodingOptions } options Image decoding parameters.
6438     * @returns { Promise<Array<PixelMap>> } A Promise instance used to return the PixelMap array.
6439     * @throws { BusinessError } 62980096 - The operation failed.
6440     * @throws { BusinessError } 62980099 - The shared memory data is abnormal.
6441     * @throws { BusinessError } 62980101 - The image data is abnormal.
6442     * @throws { BusinessError } 62980103 - The image data is not supported.
6443     * @throws { BusinessError } 62980106 - The image is too large.
6444     * @throws { BusinessError } 62980109 - Failed to crop the image.
6445     * @throws { BusinessError } 62980110 - The image source data is incorrect.
6446     * @throws { BusinessError } 62980111 - The image source data is incomplete.
6447     * @throws { BusinessError } 62980112 - The image format does not match.
6448     * @throws { BusinessError } 62980113 - Unknown image format.
6449     * @throws { BusinessError } 62980115 - Invalid image parameter.
6450     * @throws { BusinessError } 62980116 - Failed to decode the image.
6451     * @throws { BusinessError } 62980118 - Failed to create the image plugin.
6452     * @throws { BusinessError } 62980122 - The image decoding header is abnormal.
6453     * @throws { BusinessError } 62980137 - Invalid media operation.
6454     * @throws { BusinessError } 62980173 - The DMA memory does not exist.
6455     * @throws { BusinessError } 62980174 - The DMA memory data is abnormal.
6456     * @syscap SystemCapability.Multimedia.Image.ImageSource
6457     * @crossplatform
6458     * @since 10
6459     */
6460    createPixelMapList(options?: DecodingOptions): Promise<Array<PixelMap>>;
6461
6462    /**
6463     * Creates a PixelMap array. This method uses a callback to return the array.
6464     *
6465     * @param { AsyncCallback<Array<PixelMap>> } callback Callback used to return the PixelMap array.
6466     * @throws { BusinessError } 62980096 - The operation failed.
6467     * @throws { BusinessError } 62980099 - The shared memory data is abnormal.
6468     * @throws { BusinessError } 62980101 - The image data is abnormal.
6469     * @throws { BusinessError } 62980103 - The image data is not supported.
6470     * @throws { BusinessError } 62980106 - The image is too large.
6471     * @throws { BusinessError } 62980109 - Failed to crop the image.
6472     * @throws { BusinessError } 62980110 - The image source data is incorrect.
6473     * @throws { BusinessError } 62980111 - The image source data is incomplete.
6474     * @throws { BusinessError } 62980112 - The image format does not match.
6475     * @throws { BusinessError } 62980113 - Unknown image format.
6476     * @throws { BusinessError } 62980115 - Invalid image parameter.
6477     * @throws { BusinessError } 62980116 - Failed to decode the image.
6478     * @throws { BusinessError } 62980118 - Failed to create the image plugin.
6479     * @throws { BusinessError } 62980122 - The image decoding header is abnormal.
6480     * @throws { BusinessError } 62980137 - Invalid media operation.
6481     * @throws { BusinessError } 62980173 - The DMA memory does not exist.
6482     * @throws { BusinessError } 62980174 - The DMA memory data is abnormal.
6483     * @syscap SystemCapability.Multimedia.Image.ImageSource
6484     * @crossplatform
6485     * @since 10
6486     */
6487    createPixelMapList(callback: AsyncCallback<Array<PixelMap>>): void;
6488
6489    /**
6490     * Creates a PixelMap array based on image decoding parameters. This method uses a callback to
6491     * return the array.
6492     *
6493     * @param { DecodingOptions } options Image decoding parameters.
6494     * @param { AsyncCallback<Array<PixelMap>> } callback Callback used to return the PixelMap array.
6495     * @throws { BusinessError } 62980096 - The operation failed.
6496     * @throws { BusinessError } 62980099 - The shared memory data is abnormal.
6497     * @throws { BusinessError } 62980101 - The image data is abnormal.
6498     * @throws { BusinessError } 62980103 - The image data is not supported.
6499     * @throws { BusinessError } 62980106 - The image is too large.
6500     * @throws { BusinessError } 62980109 - Failed to crop the image.
6501     * @throws { BusinessError } 62980110 - The image source data is incorrect.
6502     * @throws { BusinessError } 62980111 - The image source data is incomplete.
6503     * @throws { BusinessError } 62980112 - The image format does not match.
6504     * @throws { BusinessError } 62980113 - Unknown image format.
6505     * @throws { BusinessError } 62980115 - Invalid image parameter.
6506     * @throws { BusinessError } 62980116 - Failed to decode the image.
6507     * @throws { BusinessError } 62980118 - Failed to create the image plugin.
6508     * @throws { BusinessError } 62980122 - The image decoding header is abnormal.
6509     * @throws { BusinessError } 62980137 - Invalid media operation.
6510     * @throws { BusinessError } 62980173 - The DMA memory does not exist.
6511     * @throws { BusinessError } 62980174 - The DMA memory data is abnormal.
6512     * @syscap SystemCapability.Multimedia.Image.ImageSource
6513     * @crossplatform
6514     * @since 10
6515     */
6516    createPixelMapList(options: DecodingOptions, callback: AsyncCallback<Array<PixelMap>>): void;
6517
6518    /**
6519     * Obtains the array of delay time in an image. This method uses a promise to return the array.
6520     *
6521     * @returns { Promise<Array<number>> } A Promise instance used to return the array.
6522     * @throws { BusinessError } 62980096 - The operation failed.
6523     * @throws { BusinessError } 62980110 - The image source data is incorrect.
6524     * @throws { BusinessError } 62980111 - The image source data is incomplete.
6525     * @throws { BusinessError } 62980112 - The image format does not match.
6526     * @throws { BusinessError } 62980113 - Unknown image format.
6527     * @throws { BusinessError } 62980115 - Invalid image parameter.
6528     * @throws { BusinessError } 62980116 - Failed to decode the image.
6529     * @throws { BusinessError } 62980118 - Failed to create the image plugin.
6530     * @throws { BusinessError } 62980122 - The image decoding header is abnormal.
6531     * @throws { BusinessError } 62980137 - Invalid media operation.
6532     * @throws { BusinessError } 62980149 - Invalid media parameter.
6533     * @syscap SystemCapability.Multimedia.Image.ImageSource
6534     * @crossplatform
6535     * @since 10
6536     */
6537    getDelayTimeList(): Promise<Array<number>>;
6538
6539    /**
6540     * Obtains the array of delay time in an image. This method uses a callback to return the array.
6541     *
6542     * @param { AsyncCallback<Array<number>> } callback Callback used to return the array.
6543     * @throws { BusinessError } 62980096 - The operation failed.
6544     * @throws { BusinessError } 62980110 - The image source data is incorrect.
6545     * @throws { BusinessError } 62980111 - The image source data is incomplete.
6546     * @throws { BusinessError } 62980112 - The image format does not match.
6547     * @throws { BusinessError } 62980113 - Unknown image format.
6548     * @throws { BusinessError } 62980115 - Invalid image parameter.
6549     * @throws { BusinessError } 62980116 - Failed to decode the image.
6550     * @throws { BusinessError } 62980118 - Failed to create the image plugin.
6551     * @throws { BusinessError } 62980122 - The image decoding header is abnormal.
6552     * @throws { BusinessError } 62980137 - Invalid media operation.
6553     * @throws { BusinessError } 62980149 - Invalid media parameter.
6554     * @syscap SystemCapability.Multimedia.Image.ImageSource
6555     * @crossplatform
6556     * @since 10
6557     */
6558    getDelayTimeList(callback: AsyncCallback<Array<number>>): void;
6559
6560    /**
6561     * Obtains the array of disposal type in a gif image. This method uses a promise to return the array.
6562     *
6563     * @returns { Promise<Array<number>> } A Promise instance used to return the array.
6564     * @throws { BusinessError } 62980096 - The operation failed.
6565     * @throws { BusinessError } 62980101 - The image data is abnormal.
6566     * @throws { BusinessError } 62980137 - Invalid media operation.
6567     * @throws { BusinessError } 62980149 - Invalid image source mime type.
6568     * @syscap SystemCapability.Multimedia.Image.ImageSource
6569     * @crossplatform
6570     * @since 12
6571     */
6572    getDisposalTypeList(): Promise<Array<number>>;
6573
6574    /**
6575     * Obtains the count of frame in an image. This method uses a promise to return the number.
6576     *
6577     * @returns { Promise<number> } A Promise instance used to return the number.
6578     * @throws { BusinessError } 62980096 - The operation failed.
6579     * @throws { BusinessError } 62980110 - The image source data is incorrect.
6580     * @throws { BusinessError } 62980111 - The image source data is incomplete.
6581     * @throws { BusinessError } 62980112 - The image format does not match.
6582     * @throws { BusinessError } 62980113 - Unknown image format.
6583     * @throws { BusinessError } 62980115 - Invalid image parameter.
6584     * @throws { BusinessError } 62980116 - Failed to decode the image.
6585     * @throws { BusinessError } 62980118 - Failed to create the image plugin.
6586     * @throws { BusinessError } 62980122 - The image decoding header is abnormal.
6587     * @throws { BusinessError } 62980137 - Invalid media operation.
6588     * @syscap SystemCapability.Multimedia.Image.ImageSource
6589     * @crossplatform
6590     * @since 10
6591     */
6592    getFrameCount(): Promise<number>;
6593
6594    /**
6595     * Obtains the count of frame in an image. This method uses a callback to return the number.
6596     *
6597     * @param { AsyncCallback<number> } callback Callback used to return the number.
6598     * @throws { BusinessError } 62980096 - The operation failed.
6599     * @throws { BusinessError } 62980110 - The image source data is incorrect.
6600     * @throws { BusinessError } 62980111 - The image source data is incomplete.
6601     * @throws { BusinessError } 62980112 - The image format does not match.
6602     * @throws { BusinessError } 62980113 - Unknown image format.
6603     * @throws { BusinessError } 62980115 - Invalid image parameter.
6604     * @throws { BusinessError } 62980116 - Failed to decode the image.
6605     * @throws { BusinessError } 62980118 - Failed to create the image plugin.
6606     * @throws { BusinessError } 62980122 - The image decoding header is abnormal.
6607     * @throws { BusinessError } 62980137 - Invalid media operation.
6608     * @syscap SystemCapability.Multimedia.Image.ImageSource
6609     * @crossplatform
6610     * @since 10
6611     */
6612    getFrameCount(callback: AsyncCallback<number>): void;
6613
6614    /**
6615     * Obtains the value of a property in an image with the specified index. This method uses a
6616     * promise to return the property value in a string.
6617     *
6618     * @param { PropertyKey } key - Name of the property whose value is to be obtained.
6619     * @param { ImagePropertyOptions } options - Index of the image.
6620     * @returns { Promise<string> } A Promise instance used to return the property value. If the operation fails, the default value is returned.
6621     * @throws { BusinessError } 401 - Parameter error.Possible causes: 1.Mandatory parameters are left unspecified; 2.Incorrect parameter types;3.Parameter verification failed;
6622     * @throws { BusinessError } 62980096 - The operation failed.
6623     * @throws { BusinessError } 62980103 - The image data is not supported.
6624     * @throws { BusinessError } 62980110 - The image source data is incorrect.
6625     * @throws { BusinessError } 62980111 - The image source data is incomplete.
6626     * @throws { BusinessError } 62980112 - The image format does not match.
6627     * @throws { BusinessError } 62980113 - Unknown image format.
6628     * @throws { BusinessError } 62980115 - Invalid image parameter.
6629     * @throws { BusinessError } 62980116 - Failed to decode the image.
6630     * @throws { BusinessError } 62980118 - Failed to create the image plugin.
6631     * @throws { BusinessError } 62980122 - The image decoding header is abnormal.
6632     * @throws { BusinessError } 62980123 - Images in EXIF format are not supported.
6633     * @throws { BusinessError } 62980135 - The EXIF value is invalid.
6634     * @syscap SystemCapability.Multimedia.Image.ImageSource
6635     * @crossplatform
6636     * @since 11
6637     */
6638    getImageProperty(key: PropertyKey, options?: ImagePropertyOptions): Promise<string>;
6639
6640    /**
6641     * Obtains the value of a property in an image with the specified index. This method uses a
6642     * promise to return the property value in a string.
6643     *
6644     * @param { string } key Name of the property whose value is to be obtained.
6645     * @param { GetImagePropertyOptions } options Index of the image.
6646     * @returns { Promise<string> } A Promise instance used to return the property value. If the operation fails, the default value is returned.
6647     * @syscap SystemCapability.Multimedia.Image.ImageSource
6648     * @since 7
6649     * @deprecated since 11
6650     * @useinstead image.ImageSource#getImageProperty
6651     */
6652    /**
6653     * Obtains the value of a property in an image with the specified index. This method uses a
6654     * promise to return the property value in a string.
6655     *
6656     * @param { string } key Name of the property whose value is to be obtained.
6657     * @param { GetImagePropertyOptions } options Index of the image.
6658     * @returns { Promise<string> } A Promise instance used to return the property value. If the operation fails, the default value is returned.
6659     * @syscap SystemCapability.Multimedia.Image.ImageSource
6660     * @crossplatform
6661     * @since 10
6662     * @deprecated since 11
6663     * @useinstead image.ImageSource#getImageProperty
6664     */
6665    getImageProperty(key: string, options?: GetImagePropertyOptions): Promise<string>;
6666
6667    /**
6668     * Obtains the value of a property in this image. This method uses a callback to return the
6669     * property value in a string.
6670     *
6671     * @param { string } key Name of the property whose value is to be obtained.
6672     * @param { AsyncCallback<string> } callback Callback used to return the property value. If the operation fails, an error message is returned.
6673     * @syscap SystemCapability.Multimedia.Image.ImageSource
6674     * @since 7
6675     * @deprecated since 11
6676     * @useinstead image.ImageSource#getImageProperty
6677     */
6678    /**
6679     * Obtains the value of a property in this image. This method uses a callback to return the
6680     * property value in a string.
6681     *
6682     * @param { string } key Name of the property whose value is to be obtained.
6683     * @param { AsyncCallback<string> } callback Callback used to return the property value. If the operation fails, an error message is returned.
6684     * @syscap SystemCapability.Multimedia.Image.ImageSource
6685     * @crossplatform
6686     * @since 10
6687     * @deprecated since 11
6688     * @useinstead image.ImageSource#getImageProperty
6689     */
6690    getImageProperty(key: string, callback: AsyncCallback<string>): void;
6691
6692    /**
6693     * Obtains the value of a property in an image with the specified index. This method uses
6694     * a callback to return the property value in a string.
6695     *
6696     * @param { string } key Name of the property whose value is to be obtained.
6697     * @param { GetImagePropertyOptions } options Index of the image.
6698     * @param { AsyncCallback<string> } callback Callback used to return the property value. If the operation fails, the default value is returned.
6699     * @syscap SystemCapability.Multimedia.Image.ImageSource
6700     * @since 7
6701     * @deprecated since 11
6702     * @useinstead image.ImageSource#getImageProperty
6703     */
6704    /**
6705     * Obtains the value of a property in an image with the specified index. This method uses
6706     * a callback to return the property value in a string.
6707     *
6708     * @param { string } key Name of the property whose value is to be obtained.
6709     * @param { GetImagePropertyOptions } options Index of the image.
6710     * @param { AsyncCallback<string> } callback Callback used to return the property value. If the operation fails, the default value is returned.
6711     * @syscap SystemCapability.Multimedia.Image.ImageSource
6712     * @crossplatform
6713     * @since 10
6714     * @deprecated since 11
6715     * @useinstead image.ImageSource#getImageProperty
6716     */
6717    getImageProperty(key: string, options: GetImagePropertyOptions, callback: AsyncCallback<string>): void;
6718
6719    /**
6720     * Obtains the value of properties in an image. This method uses a promise to return the property values in array
6721     * of records.
6722     *
6723     * @param { Array<PropertyKey> } key - Name of the properties whose value is to be obtained.
6724     * @returns { Promise<Record<PropertyKey, string|null>> } Array of Records instance used to return the
6725     * property values. If the operation fails, the null is returned.
6726     * @throws { BusinessError } 401 - Parameter error.Possible causes: 1.Mandatory parameters are left unspecified; 2.Incorrect parameter types; 3.Parameter verification failed;
6727     * @throws { BusinessError } 62980096 - The operation failed.
6728     * @throws { BusinessError } 62980110 - The image source data is incorrect.
6729     * @throws { BusinessError } 62980113 - Unknown image format.
6730     * @throws { BusinessError } 62980116 - Failed to decode the image.
6731     * @syscap SystemCapability.Multimedia.Image.ImageSource
6732     * @crossplatform
6733     * @since 12
6734     */
6735    getImageProperties(key: Array<PropertyKey>): Promise<Record<PropertyKey, string|null>>;
6736
6737    /**
6738     * Modify the value of a property in an image with the specified key. This method uses a
6739     * promise to return the property value in a string.
6740     *
6741     * @param { PropertyKey } key - Name of the property whose value is to be modified.
6742     * @param { string } value - The value to be set to property.
6743     * @returns { Promise<void> } A Promise instance used to return the property value.
6744     * @throws { BusinessError } 401 - Parameter error.Possible causes: 1.Mandatory parameters are left unspecified; 2.Incorrect parameter types;
6745     * @throws { BusinessError } 62980123 - Images in EXIF format are not supported.
6746     * @throws { BusinessError } 62980133 - The EXIF data is out of range.
6747     * @throws { BusinessError } 62980135 - The EXIF value is invalid.
6748     * @throws { BusinessError } 62980146 - The EXIF data failed to be written to the file.
6749     * @syscap SystemCapability.Multimedia.Image.ImageSource
6750     * @crossplatform
6751     * @since 11
6752     */
6753    modifyImageProperty(key: PropertyKey, value: string): Promise<void>;
6754
6755    /**
6756     * Modify the value of a property in an image with the specified key. This method uses a
6757     * promise to return the property value in a string.
6758     *
6759     * @param { string } key Name of the property whose value is to be modified.
6760     * @param { string } value The value to be set to property.
6761     * @returns { Promise<void> } A Promise instance used to return the property value.
6762     * @syscap SystemCapability.Multimedia.Image.ImageSource
6763     * @since 9
6764     * @deprecated since 11
6765     * @useinstead image.ImageSource#modifyImageProperty
6766     */
6767    /**
6768     * Modify the value of a property in an image with the specified key. This method uses a
6769     * promise to return the property value in a string.
6770     *
6771     * @param { string } key Name of the property whose value is to be modified.
6772     * @param { string } value The value to be set to property.
6773     * @returns { Promise<void> } A Promise instance used to return the property value.
6774     * @syscap SystemCapability.Multimedia.Image.ImageSource
6775     * @crossplatform
6776     * @since 10
6777     * @deprecated since 11
6778     * @useinstead image.ImageSource#modifyImageProperty
6779     */
6780    modifyImageProperty(key: string, value: string): Promise<void>;
6781
6782    /**
6783     * Modify the value of a property in an image with the specified key. This method uses a callback to return the
6784     * property value in a string.
6785     *
6786     * @param { string } key Name of the property whose value is to be obtained.
6787     * @param { string } value The value to be set to property.
6788     * @param { AsyncCallback<void> } callback Callback to return the operation result.
6789     * @syscap SystemCapability.Multimedia.Image.ImageSource
6790     * @since 9
6791     * @deprecated since 11
6792     * @useinstead image.ImageSource#modifyImageProperty
6793     */
6794    /**
6795     * Modify the value of a property in an image with the specified key. This method uses a callback to return the
6796     * property value in a string.
6797     *
6798     * @param { string } key Name of the property whose value is to be obtained.
6799     * @param { string } value The value to be set to property.
6800     * @param { AsyncCallback<void> } callback Callback to return the operation result.
6801     * @syscap SystemCapability.Multimedia.Image.ImageSource
6802     * @crossplatform
6803     * @since 10
6804     * @deprecated since 11
6805     * @useinstead image.ImageSource#modifyImageProperty
6806     */
6807    modifyImageProperty(key: string, value: string, callback: AsyncCallback<void>): void;
6808
6809    /**
6810     * Modify the value of properties in an image with the specified keys.
6811     *
6812     * @param { Record<PropertyKey, string|null> } records - Array of the property Records whose values are to
6813     * be modified.
6814     * @returns { Promise<void> } A Promise instance used to return the operation result. If the operation fails, an
6815     * error message is returned.
6816     * @throws { BusinessError } 401 - Parameter error.Possible causes: 1.Mandatory parameters are left unspecified; 2.Incorrect parameter types; 3.Parameter verification failed;
6817     * @throws { BusinessError } 62980123 - Images in EXIF format are not supported.
6818     * @throws { BusinessError } 62980133 - The EXIF data is out of range.
6819     * @throws { BusinessError } 62980135 - The EXIF value is invalid.
6820     * @throws { BusinessError } 62980146 - The EXIF data failed to be written to the file.
6821     * @syscap SystemCapability.Multimedia.Image.ImageSource
6822     * @crossplatform
6823     * @since 12
6824     */
6825    modifyImageProperties(records: Record<PropertyKey, string|null>): Promise<void>;
6826
6827    /**
6828     * Update the data in the incremental ImageSource.
6829     *
6830     * @param { ArrayBuffer } buf The data to be updated.
6831     * @param { boolean } isFinished If is it finished.
6832     * @param { number } value The offset of data.
6833     * @param { number } length The length fo buf.
6834     * @returns { Promise<void> } A Promise instance used to return the property value.
6835     * @syscap SystemCapability.Multimedia.Image.ImageSource
6836     * @since 9
6837     */
6838    /**
6839     * Update the data in the incremental ImageSource.
6840     *
6841     * @param { ArrayBuffer } buf The data to be updated.
6842     * @param { boolean } isFinished If is it finished.
6843     * @param { number } value The offset of data.
6844     * @param { number } length The length fo buf.
6845     * @returns { Promise<void> } A Promise instance used to return the property value.
6846     * @syscap SystemCapability.Multimedia.Image.ImageSource
6847     * @crossplatform
6848     * @since 10
6849     */
6850    /**
6851     * Update the data in the incremental ImageSource.
6852     *
6853     * @param { ArrayBuffer } buf The data to be updated.
6854     * @param { boolean } isFinished If is it finished.
6855     * @param { number } offset The offset of data.
6856     * @param { number } length The length fo buf.
6857     * @returns { Promise<void> } A Promise instance used to return the property value.
6858     * @syscap SystemCapability.Multimedia.Image.ImageSource
6859     * @crossplatform
6860     * @since 11
6861     */
6862    updateData(buf: ArrayBuffer, isFinished: boolean, offset: number, length: number): Promise<void>;
6863
6864    /**
6865     * Update the data in the incremental ImageSource.
6866     *
6867     * @param { ArrayBuffer } buf The data to be updated.
6868     * @param { boolean } isFinished If is it finished.
6869     * @param { number } value The offset of data.
6870     * @param { number } length The length fo buf.
6871     * @param { AsyncCallback<void> } callback Callback to return the operation result.
6872     * @syscap SystemCapability.Multimedia.Image.ImageSource
6873     * @since 9
6874     */
6875    /**
6876     * Update the data in the incremental ImageSource.
6877     *
6878     * @param { ArrayBuffer } buf The data to be updated.
6879     * @param { boolean } isFinished If is it finished.
6880     * @param { number } value The offset of data.
6881     * @param { number } length The length fo buf.
6882     * @param { AsyncCallback<void> } callback Callback to return the operation result.
6883     * @syscap SystemCapability.Multimedia.Image.ImageSource
6884     * @crossplatform
6885     * @since 10
6886     */
6887    /**
6888     * Update the data in the incremental ImageSource.
6889     *
6890     * @param { ArrayBuffer } buf The data to be updated.
6891     * @param { boolean } isFinished If is it finished.
6892     * @param { number } offset The offset of data.
6893     * @param { number } length The length fo buf.
6894     * @param { AsyncCallback<void> } callback Callback to return the operation result.
6895     * @syscap SystemCapability.Multimedia.Image.ImageSource
6896     * @crossplatform
6897     * @since 11
6898     */
6899    updateData(
6900      buf: ArrayBuffer,
6901      isFinished: boolean,
6902      offset: number,
6903      length: number,
6904      callback: AsyncCallback<void>
6905    ): void;
6906
6907    /**
6908     * Releases an ImageSource instance and uses a callback to return the result.
6909     *
6910     * @param { AsyncCallback<void> } callback Callback to return the operation result.
6911     * @syscap SystemCapability.Multimedia.Image.ImageSource
6912     * @since 6
6913     */
6914    /**
6915     * Releases an ImageSource instance and uses a callback to return the result.
6916     *
6917     * @param { AsyncCallback<void> } callback Callback to return the operation result.
6918     * @syscap SystemCapability.Multimedia.Image.ImageSource
6919     * @crossplatform
6920     * @since 10
6921     */
6922    release(callback: AsyncCallback<void>): void;
6923
6924    /**
6925     * Releases an ImageSource instance and uses a promise to return the result.
6926     *
6927     * @returns { Promise<void> } A Promise instance used to return the operation result.
6928     * @syscap SystemCapability.Multimedia.Image.ImageSource
6929     * @since 6
6930     */
6931    /**
6932     * Releases an ImageSource instance and uses a promise to return the result.
6933     *
6934     * @returns { Promise<void> } A Promise instance used to return the operation result.
6935     * @syscap SystemCapability.Multimedia.Image.ImageSource
6936     * @crossplatform
6937     * @since 10
6938     */
6939    release(): Promise<void>;
6940
6941    /**
6942     * Supported image formats.
6943     *
6944     * @type { Array<string> }
6945     * @syscap SystemCapability.Multimedia.Image.ImageSource
6946     * @since 6
6947     */
6948    /**
6949     * Supported image formats.
6950     *
6951     * @type { Array<string> }
6952     * @syscap SystemCapability.Multimedia.Image.ImageSource
6953     * @crossplatform
6954     * @since 10
6955     */
6956    readonly supportedFormats: Array<string>;
6957  }
6958
6959  /**
6960   * ImagePacker instance.
6961   *
6962   * @typedef ImagePacker
6963   * @syscap SystemCapability.Multimedia.Image.ImagePacker
6964   * @since 6
6965   */
6966  /**
6967   * ImagePacker instance.
6968   *
6969   * @typedef ImagePacker
6970   * @syscap SystemCapability.Multimedia.Image.ImagePacker
6971   * @crossplatform
6972   * @since 10
6973   */
6974  /**
6975   * ImagePacker instance.
6976   *
6977   * @typedef ImagePacker
6978   * @syscap SystemCapability.Multimedia.Image.ImagePacker
6979   * @crossplatform
6980   * @atomicservice
6981   * @since 11
6982   */
6983  interface ImagePacker {
6984    /**
6985     * Compresses or packs an image and uses a callback to return the result.
6986     *
6987     * @param { ImageSource } source Image to be processed.
6988     * @param { PackingOption } option Option for image packing.
6989     * @param { AsyncCallback<ArrayBuffer> } callback Callback used to return the packed data.
6990     * @syscap SystemCapability.Multimedia.Image.ImagePacker
6991     * @since 6
6992     */
6993    /**
6994     * Compresses or packs an image and uses a callback to return the result.
6995     *
6996     * @param { ImageSource } source Image to be processed.
6997     * @param { PackingOption } option Option for image packing.
6998     * @param { AsyncCallback<ArrayBuffer> } callback Callback used to return the packed data.
6999     * @syscap SystemCapability.Multimedia.Image.ImagePacker
7000     * @crossplatform
7001     * @since 10
7002     */
7003    /**
7004     * Compresses or packs an image and uses a callback to return the result.
7005     *
7006     * @param { ImageSource } source Image to be processed.
7007     * @param { PackingOption } option Option for image packing.
7008     * @param { AsyncCallback<ArrayBuffer> } callback Callback used to return the packed data.
7009     * @syscap SystemCapability.Multimedia.Image.ImagePacker
7010     * @crossplatform
7011     * @atomicservice
7012     * @since 11
7013     */
7014    packing(source: ImageSource, option: PackingOption, callback: AsyncCallback<ArrayBuffer>): void;
7015
7016    /**
7017     * Compresses or packs an image and uses a promise to return the result.
7018     *
7019     * @param { ImageSource } source Image to be processed.
7020     * @param { PackingOption } option Option for image packing.
7021     * @returns { Promise<ArrayBuffer> } A Promise instance used to return the compressed or packed data.
7022     * @syscap SystemCapability.Multimedia.Image.ImagePacker
7023     * @since 6
7024     */
7025    /**
7026     * Compresses or packs an image and uses a promise to return the result.
7027     *
7028     * @param { ImageSource } source Image to be processed.
7029     * @param { PackingOption } option Option for image packing.
7030     * @returns { Promise<ArrayBuffer> } A Promise instance used to return the compressed or packed data.
7031     * @syscap SystemCapability.Multimedia.Image.ImagePacker
7032     * @crossplatform
7033     * @since 10
7034     */
7035    /**
7036     * Compresses or packs an image and uses a promise to return the result.
7037     *
7038     * @param { ImageSource } source Image to be processed.
7039     * @param { PackingOption } option Option for image packing.
7040     * @returns { Promise<ArrayBuffer> } A Promise instance used to return the compressed or packed data.
7041     * @syscap SystemCapability.Multimedia.Image.ImagePacker
7042     * @crossplatform
7043     * @atomicservice
7044     * @since 11
7045     */
7046    packing(source: ImageSource, option: PackingOption): Promise<ArrayBuffer>;
7047
7048    /**
7049     * Compresses or packs an image and uses a callback to return the result.
7050     *
7051     * @param { PixelMap } source PixelMap to be processed.
7052     * @param { PackingOption } option Option for image packing.
7053     * @param { AsyncCallback<ArrayBuffer> } callback Callback used to return the packed data.
7054     * @syscap SystemCapability.Multimedia.Image.ImagePacker
7055     * @since 8
7056     */
7057    /**
7058     * Compresses or packs an image and uses a callback to return the result.
7059     *
7060     * @param { PixelMap } source PixelMap to be processed.
7061     * @param { PackingOption } option Option for image packing.
7062     * @param { AsyncCallback<ArrayBuffer> } callback Callback used to return the packed data.
7063     * @syscap SystemCapability.Multimedia.Image.ImagePacker
7064     * @crossplatform
7065     * @since 10
7066     */
7067    /**
7068     * Compresses or packs an image and uses a callback to return the result.
7069     *
7070     * @param { PixelMap } source PixelMap to be processed.
7071     * @param { PackingOption } option Option for image packing.
7072     * @param { AsyncCallback<ArrayBuffer> } callback Callback used to return the packed data.
7073     * @syscap SystemCapability.Multimedia.Image.ImagePacker
7074     * @crossplatform
7075     * @atomicservice
7076     * @since 11
7077     */
7078    packing(source: PixelMap, option: PackingOption, callback: AsyncCallback<ArrayBuffer>): void;
7079
7080    /**
7081     * Compresses or packs an image and uses a promise to return the result.
7082     *
7083     * @param { PixelMap } source PixelMap to be processed.
7084     * @param { PackingOption } option Option for image packing.
7085     * @returns { Promise<ArrayBuffer> } A Promise instance used to return the compressed or packed data.
7086     * @syscap SystemCapability.Multimedia.Image.ImagePacker
7087     * @since 8
7088     */
7089    /**
7090     * Compresses or packs an image and uses a promise to return the result.
7091     *
7092     * @param { PixelMap } source PixelMap to be processed.
7093     * @param { PackingOption } option Option for image packing.
7094     * @returns { Promise<ArrayBuffer> } A Promise instance used to return the compressed or packed data.
7095     * @syscap SystemCapability.Multimedia.Image.ImagePacker
7096     * @crossplatform
7097     * @since 10
7098     */
7099    /**
7100     * Compresses or packs an image and uses a promise to return the result.
7101     *
7102     * @param { PixelMap } source PixelMap to be processed.
7103     * @param { PackingOption } option Option for image packing.
7104     * @returns { Promise<ArrayBuffer> } A Promise instance used to return the compressed or packed data.
7105     * @syscap SystemCapability.Multimedia.Image.ImagePacker
7106     * @crossplatform
7107     * @atomicservice
7108     * @since 11
7109     */
7110    packing(source: PixelMap, option: PackingOption): Promise<ArrayBuffer>;
7111
7112    /**
7113     * Compresses or packs an image into a file and uses a callback to return the result.
7114     *
7115     * @param { ImageSource } source Image to be processed.
7116     * @param { number } fd ID of a file descriptor.
7117     * @param { PackingOption } options Options for image packing.
7118     * @param { AsyncCallback<void> } callback Callback used to return the operation result.
7119     * @syscap SystemCapability.Multimedia.Image.ImagePacker
7120     * @crossplatform
7121     * @since 11
7122     */
7123    packToFile(source: ImageSource, fd: number, options: PackingOption, callback: AsyncCallback<void>): void;
7124
7125    /**
7126     * Compresses or packs an image into a file and uses a promise to return the result.
7127     *
7128     * @param { ImageSource } source Image to be processed.
7129     * @param { number } fd ID of a file descriptor.
7130     * @param { PackingOption } options Options for image packing.
7131     * @returns { Promise<void> } A Promise instance used to return the operation result.
7132     * @syscap SystemCapability.Multimedia.Image.ImagePacker
7133     * @crossplatform
7134     * @since 11
7135     */
7136    packToFile(source: ImageSource, fd: number, options: PackingOption): Promise<void>;
7137
7138    /**
7139     * Compresses or packs an image into a file and uses a callback to return the result.
7140     *
7141     * @param { PixelMap } source PixelMap to be processed.
7142     * @param { number } fd ID of a file descriptor.
7143     * @param { PackingOption } options Options for image packing.
7144     * @param { AsyncCallback<void> } callback Callback used to return the operation result.
7145     * @syscap SystemCapability.Multimedia.Image.ImagePacker
7146     * @crossplatform
7147     * @since 11
7148     */
7149    packToFile(source: PixelMap, fd: number, options: PackingOption, callback: AsyncCallback<void>): void;
7150
7151    /**
7152     * Compresses or packs an image into a file and uses a promise to return the result.
7153     *
7154     * @param { PixelMap } source PixelMap to be processed.
7155     * @param { number } fd ID of a file descriptor.
7156     * @param { PackingOption } options Options for image packing.
7157     * @returns { Promise<void> } A Promise instance used to return the operation result.
7158     * @syscap SystemCapability.Multimedia.Image.ImagePacker
7159     * @crossplatform
7160     * @since 11
7161     */
7162    packToFile(source: PixelMap, fd: number, options: PackingOption): Promise<void>;
7163
7164     /**
7165     * Releases an ImagePacker instance and uses a callback to return the result.
7166     *
7167     * @param { AsyncCallback<void> } callback Callback to return the operation result.
7168     * @syscap SystemCapability.Multimedia.Image.ImagePacker
7169     * @since 6
7170     */
7171    /**
7172     * Releases an ImagePacker instance and uses a callback to return the result.
7173     *
7174     * @param { AsyncCallback<void> } callback Callback to return the operation result.
7175     * @syscap SystemCapability.Multimedia.Image.ImagePacker
7176     * @crossplatform
7177     * @since 10
7178     */
7179    release(callback: AsyncCallback<void>): void;
7180
7181    /**
7182     * Releases an ImagePacker instance and uses a promise to return the result.
7183     *
7184     * @returns { Promise<void> } A Promise instance used to return the operation result.
7185     * @syscap SystemCapability.Multimedia.Image.ImagePacker
7186     * @since 6
7187     */
7188    /**
7189     * Releases an ImagePacker instance and uses a promise to return the result.
7190     *
7191     * @returns { Promise<void> } A Promise instance used to return the operation result.
7192     * @syscap SystemCapability.Multimedia.Image.ImagePacker
7193     * @crossplatform
7194     * @since 10
7195     */
7196    release(): Promise<void>;
7197
7198    /**
7199     * Supported image formats.
7200     *
7201     * @type { Array<string> }
7202     * @syscap SystemCapability.Multimedia.Image.ImagePacker
7203     * @since 6
7204     */
7205    /**
7206     * Supported image formats.
7207     *
7208     * @type { Array<string> }
7209     * @syscap SystemCapability.Multimedia.Image.ImagePacker
7210     * @crossplatform
7211     * @since 10
7212     */
7213    readonly supportedFormats: Array<string>;
7214  }
7215
7216  /**
7217   * Provides basic image operations, including obtaining image information, and reading and writing image data.
7218   *
7219   * @typedef Image
7220   * @syscap SystemCapability.Multimedia.Image.Core
7221   * @since 9
7222   */
7223  interface Image {
7224    /**
7225     * Sets or gets the image area to crop, default is size.
7226     *
7227     * @type { Region }
7228     * @syscap SystemCapability.Multimedia.Image.Core
7229     * @since 9
7230     */
7231    clipRect: Region;
7232
7233    /**
7234     * Image size.
7235     *
7236     * @type { Size }
7237     * @syscap SystemCapability.Multimedia.Image.Core
7238     * @since 9
7239     */
7240    readonly size: Size;
7241
7242    /**
7243     * Image format.
7244     *
7245     * @type { number }
7246     * @syscap SystemCapability.Multimedia.Image.Core
7247     * @since 9
7248     */
7249    readonly format: number;
7250
7251    /**
7252     * Image timestamp.
7253     *
7254     * @type { number }
7255     * @syscap SystemCapability.Multimedia.Image.Core
7256     * @since 12
7257     */
7258    readonly timestamp: number;
7259
7260    /**
7261     * Get component buffer from image and uses a callback to return the result.
7262     *
7263     * @param { ComponentType } componentType The component type of image.
7264     * @param { AsyncCallback<Component> } callback Callback used to return the component buffer.
7265     * @syscap SystemCapability.Multimedia.Image.Core
7266     * @since 9
7267     */
7268    getComponent(componentType: ComponentType, callback: AsyncCallback<Component>): void;
7269
7270    /**
7271     * Get component buffer from image and uses a promise to return the result.
7272     *
7273     * @param { ComponentType } componentType The component type of image.
7274     * @returns { Promise<Component> } A Promise instance used to return the component buffer.
7275     * @syscap SystemCapability.Multimedia.Image.Core
7276     * @since 9
7277     */
7278    getComponent(componentType: ComponentType): Promise<Component>;
7279
7280    /**
7281     * Release current image to receive another and uses a callback to return the result.
7282     *
7283     * @param { AsyncCallback<void> } callback Callback to return the operation result.
7284     * @syscap SystemCapability.Multimedia.Image.Core
7285     * @since 9
7286     */
7287    release(callback: AsyncCallback<void>): void;
7288
7289    /**
7290     * Release current image to receive another and uses a promise to return the result.
7291     *
7292     * @returns { Promise<void> } A Promise instance used to return the operation result.
7293     * @syscap SystemCapability.Multimedia.Image.Core
7294     * @since 9
7295     */
7296    release(): Promise<void>;
7297  }
7298
7299  /**
7300   * Image receiver object.
7301   *
7302   * @typedef ImageReceiver
7303   * @syscap SystemCapability.Multimedia.Image.ImageReceiver
7304   * @since 9
7305   */
7306  interface ImageReceiver {
7307    /**
7308     * Image size.
7309     *
7310     * @type { Size }
7311     * @syscap SystemCapability.Multimedia.Image.ImageReceiver
7312     * @since 9
7313     */
7314    readonly size: Size;
7315
7316    /**
7317     * Image capacity.
7318     *
7319     * @type { number }
7320     * @syscap SystemCapability.Multimedia.Image.ImageReceiver
7321     * @since 9
7322     */
7323    readonly capacity: number;
7324
7325    /**
7326     * Image format.
7327     *
7328     * @type { ImageFormat }
7329     * @syscap SystemCapability.Multimedia.Image.ImageReceiver
7330     * @since 9
7331     */
7332    readonly format: ImageFormat;
7333
7334    /**
7335     * Get an id which indicates a surface and can be used to set to Camera or other component can receive a surface
7336     * and uses a callback to return the result.
7337     *
7338     * @param { AsyncCallback<string> } callback Callback used to return the surface id.
7339     * @syscap SystemCapability.Multimedia.Image.ImageReceiver
7340     * @since 9
7341     */
7342    getReceivingSurfaceId(callback: AsyncCallback<string>): void;
7343
7344    /**
7345     * Get an id which indicates a surface and can be used to set to Camera or other component can receive a surface
7346     * and uses a promise to return the result.
7347     *
7348     * @returns { Promise<string> } A Promise instance used to return the surface id.
7349     * @syscap SystemCapability.Multimedia.Image.ImageReceiver
7350     * @since 9
7351     */
7352    getReceivingSurfaceId(): Promise<string>;
7353
7354    /**
7355     * Get lasted image from receiver and uses a callback to return the result.
7356     *
7357     * @param { AsyncCallback<Image> } callback Callback used to return the latest image.
7358     * @syscap SystemCapability.Multimedia.Image.ImageReceiver
7359     * @since 9
7360     */
7361    readLatestImage(callback: AsyncCallback<Image>): void;
7362
7363    /**
7364     * Get lasted image from receiver and uses a promise to return the result.
7365     *
7366     * @returns { Promise<Image> } A Promise instance used to return the latest image.
7367     * @syscap SystemCapability.Multimedia.Image.ImageReceiver
7368     * @since 9
7369     */
7370    readLatestImage(): Promise<Image>;
7371
7372    /**
7373     * Get next image from receiver and uses a callback to return the result.
7374     *
7375     * @param { AsyncCallback<Image> } callback Callback used to return the next image.
7376     * @syscap SystemCapability.Multimedia.Image.ImageReceiver
7377     * @since 9
7378     */
7379    readNextImage(callback: AsyncCallback<Image>): void;
7380
7381    /**
7382     * Get next image from receiver and uses a promise to return the result.
7383     *
7384     * @returns { Promise<Image> } A Promise instance used to return the next image.
7385     * @syscap SystemCapability.Multimedia.Image.ImageReceiver
7386     * @since 9
7387     */
7388    readNextImage(): Promise<Image>;
7389
7390    /**
7391     * Subscribe callback when receiving an image
7392     *
7393     * @param { 'imageArrival' } type Callback used to return the next image.
7394     * @param { AsyncCallback<void> } callback Callback used to return image.
7395     * @syscap SystemCapability.Multimedia.Image.ImageReceiver
7396     * @since 9
7397     */
7398    on(type: 'imageArrival', callback: AsyncCallback<void>): void;
7399
7400    /**
7401     * Release image receiver instance and uses a callback to return the result.
7402     *
7403     * @param { AsyncCallback<void> } callback Callback to return the operation result.
7404     * @syscap SystemCapability.Multimedia.Image.ImageReceiver
7405     * @since 9
7406     */
7407    release(callback: AsyncCallback<void>): void;
7408
7409    /**
7410     * Release image receiver instance and uses a promise to return the result.
7411     *
7412     * @returns { Promise<void> } A Promise instance used to return the operation result.
7413     * @syscap SystemCapability.Multimedia.Image.ImageReceiver
7414     * @since 9
7415     */
7416    release(): Promise<void>;
7417  }
7418
7419  /**
7420   * Image creator object.
7421   *
7422   * @typedef ImageCreator
7423   * @syscap SystemCapability.Multimedia.Image.ImageCreator
7424   * @since 9
7425   */
7426  interface ImageCreator {
7427    /**
7428     * Image capacity.
7429     *
7430     * @type { number }
7431     * @syscap SystemCapability.Multimedia.Image.ImageCreator
7432     * @since 9
7433     */
7434    readonly capacity: number;
7435
7436    /**
7437     * Image format.
7438     *
7439     * @type { ImageFormat }
7440     * @syscap SystemCapability.Multimedia.Image.ImageCreator
7441     * @since 9
7442     */
7443    readonly format: ImageFormat;
7444
7445    /**
7446     * Apply for new graphic buffer from free queue and use a callback to return the result.
7447     *
7448     * @param { AsyncCallback<Image> } callback Callback to return the operation result.
7449     * @syscap SystemCapability.Multimedia.Image.ImageCreator
7450     * @since 9
7451     */
7452    dequeueImage(callback: AsyncCallback<Image>): void;
7453
7454    /**
7455     * Apply for new graphic buffer from free queue and uses a promise to return the result.
7456     *
7457     * @returns { Promise<Image> } A Promise instance used to return the operation result.
7458     * @syscap SystemCapability.Multimedia.Image.ImageCreator
7459     * @since 9
7460     */
7461    dequeueImage(): Promise<Image>;
7462
7463    /**
7464     * Queue buffer to dirty queue and uses a callback to return the result.
7465     *
7466     * @param { Image } interface
7467     * @param { AsyncCallback<void> } callback Callback to return the operation result.
7468     * @syscap SystemCapability.Multimedia.Image.ImageCreator
7469     * @since 9
7470     */
7471    queueImage(interface: Image, callback: AsyncCallback<void>): void;
7472
7473    /**
7474     * Queue buffer to dirty queue and uses a promise to return the result.
7475     *
7476     * @param { Image } interface
7477     * @returns { Promise<void> } A Promise instance used to return the operation result.
7478     * @syscap SystemCapability.Multimedia.Image.ImageCreator
7479     * @since 9
7480     */
7481    queueImage(interface: Image): Promise<void>;
7482
7483    /**
7484     * Subscribe callback when releasing buffer
7485     *
7486     * @param { 'imageRelease' } type Callback used to return the operation result.
7487     * @param { AsyncCallback<void> } callback Callback used to return the operation result.
7488     * @syscap SystemCapability.Multimedia.Image.ImageCreator
7489     * @since 9
7490     */
7491    on(type: 'imageRelease', callback: AsyncCallback<void>): void;
7492
7493    /**
7494     * Releases buffer in bufferqueue instance and uses a callback to return the result.
7495     *
7496     * @param { AsyncCallback<void> } callback Callback to return the operation result.
7497     * @syscap SystemCapability.Multimedia.Image.ImageCreator
7498     * @since 9
7499     */
7500    release(callback: AsyncCallback<void>): void;
7501
7502    /**
7503     * Releases buffer in bufferqueue instance and uses a promise to return the result.
7504     *
7505     * @returns { Promise<void> } A Promise instance used to return the operation result.
7506     * @syscap SystemCapability.Multimedia.Image.ImageCreator
7507     * @since 9
7508     */
7509    release(): Promise<void>;
7510  }
7511}
7512
7513export default image;
7514