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