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``` 50将 51```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