1e41f4b71Sopenharmony_ci# Graphics Subsystem Changelog 2e41f4b71Sopenharmony_ci 3e41f4b71Sopenharmony_ci## cl.graphic.1 **getPixelMap** Replaced by **getEffectPixelMap** 4e41f4b71Sopenharmony_ci 5e41f4b71Sopenharmony_ci**Access Level** 6e41f4b71Sopenharmony_ci 7e41f4b71Sopenharmony_ciPublic 8e41f4b71Sopenharmony_ci 9e41f4b71Sopenharmony_ci**Reason for Change** 10e41f4b71Sopenharmony_ci 11e41f4b71Sopenharmony_ci**getPixelMap** is a synchronous API. Its running takes a long time and may block the main thread. Therefore, it is deprecated and replaced by an asynchronous API. 12e41f4b71Sopenharmony_ci 13e41f4b71Sopenharmony_ci**Change Impact** 14e41f4b71Sopenharmony_ci 15e41f4b71Sopenharmony_ciThe change is not compatible with earlier versions. Use the new API in your code. 16e41f4b71Sopenharmony_ci 17e41f4b71Sopenharmony_ci**API Level** 18e41f4b71Sopenharmony_ci9 19e41f4b71Sopenharmony_ci 20e41f4b71Sopenharmony_ci**Deprecated Since** 21e41f4b71Sopenharmony_ci 22e41f4b71Sopenharmony_ciOpenHarmony SDK 4.1.5.5 23e41f4b71Sopenharmony_ci 24e41f4b71Sopenharmony_ci**Deprecated APIs** 25e41f4b71Sopenharmony_ci 26e41f4b71Sopenharmony_ci| API | Description | Substitute API | 27e41f4b71Sopenharmony_ci| ------------------------------------------------------------- | ------------------------------------------------------------ | ------------------------------------------------------------ | 28e41f4b71Sopenharmony_ci| getPixelMap():image.PixelMap; | This API takes a long time and is replaced by an asynchronous API. | getEffectPixelMap():Promise<image.PixelMap>; | 29e41f4b71Sopenharmony_ci 30e41f4b71Sopenharmony_ci**Adaptation Guide** 31e41f4b71Sopenharmony_ci 32e41f4b71Sopenharmony_ciIn the sample code below: 33e41f4b71Sopenharmony_ci 34e41f4b71Sopenharmony_ci```ts 35e41f4b71Sopenharmony_ciimport image from "@ohos.multimedia.image"; 36e41f4b71Sopenharmony_ciimport effectKit from "@ohos.effectKit"; 37e41f4b71Sopenharmony_ci 38e41f4b71Sopenharmony_ciconst color = new ArrayBuffer(96); 39e41f4b71Sopenharmony_cilet opts : image.InitializationOptions = { 40e41f4b71Sopenharmony_ci editable: true, 41e41f4b71Sopenharmony_ci pixelFormat: 3, 42e41f4b71Sopenharmony_ci size: { 43e41f4b71Sopenharmony_ci height: 4, 44e41f4b71Sopenharmony_ci width: 6 45e41f4b71Sopenharmony_ci } 46e41f4b71Sopenharmony_ci}; 47e41f4b71Sopenharmony_ciimage.createPixelMap(color, opts).then((pixelMap) => { 48e41f4b71Sopenharmony_ci let pixel = effectKit.createEffect(pixelMap).grayscale().getPixelMap(); 49e41f4b71Sopenharmony_ci console.log('getPixelBytesNumber = ', pixel.getPixelBytesNumber()); 50e41f4b71Sopenharmony_ci}) 51e41f4b71Sopenharmony_ci``` 52e41f4b71Sopenharmony_ciBefore change: 53e41f4b71Sopenharmony_ci```ts 54e41f4b71Sopenharmony_cilet pixel = effectKit.createEffect(pixelMap).grayscale().getPixelMap(); 55e41f4b71Sopenharmony_ci``` 56e41f4b71Sopenharmony_ciAfter change: 57e41f4b71Sopenharmony_ci```ts 58e41f4b71Sopenharmony_cieffectKit.createEffect(pixelMap).grayscale().getEffectPixelMap().then(data => { 59e41f4b71Sopenharmony_ci let pixel = data; 60e41f4b71Sopenharmony_ci}).catch(ex => console.log("getEffectPixelMap error: " + ex.toString())); 61e41f4b71Sopenharmony_ci``` 62e41f4b71Sopenharmony_ciIn summary, replace **getPixelMap** with **getEffectPixelMap**, and use a promise to receive the **pixelMap** object. 63e41f4b71Sopenharmony_ci 64