1# 图形子系统变更说明
2
3## cl.graphic.1  effectkit getPixelMap 同步接口替换为 getEffectPixelMap 异步接口
4
5**访问级别**
6
7公开接口
8
9**废弃原因**
10
11getPixelMap 耗时较长,在主线程调用会阻塞其余代码执行,故废弃,用异步接口替代
12
13**废弃影响**
14
15该变更为非兼容性变更,需要开发者适配。
16
17**API Level**
189
19
20**废弃发生版本**
21
22从OpenHarmony SDK 4.1.5.5开始。
23
24**废弃的接口**
25
26| 接口声明                                                     | 废弃说明                                                     | 替代接口                                                     |
27| ------------------------------------------------------------- | ------------------------------------------------------------ | ------------------------------------------------------------ |
28| getPixelMap():image.PixelMap; | 该接口耗时长,废弃后统一替换成异步接口   | getEffectPixelMap():Promise<image.PixelMap>; |
29
30**适配指导**
31类似以下调用方式
32```ts
33import image from "@ohos.multimedia.image";
34import effectKit from "@ohos.effectKit";
35
36const color = new ArrayBuffer(96);
37let opts : image.InitializationOptions = {
38  editable: true,
39  pixelFormat: 3,
40  size: {
41    height: 4,
42    width: 6
43  }
44};
45image.createPixelMap(color, opts).then((pixelMap) => {
46  let pixel = effectKit.createEffect(pixelMap).grayscale().getPixelMap();
47  console.log('getPixelBytesNumber = ', pixel.getPixelBytesNumber());
48})
49```
5051```ts
52let pixel = effectKit.createEffect(pixelMap).grayscale().getPixelMap();
53```
54替换为
55```ts
56effectKit.createEffect(pixelMap).grayscale().getEffectPixelMap().then(data => {
57    let pixel = data;
58}).catch(ex => console.log("getEffectPixelMap error: " + ex.toString()));
59```
60即将 getPixelMap 替换为 getEffectPixelMap ,用 promise 的方式接收回调回来的 pixelMap 对象
61