鸿蒙Next 图片高斯模糊处理

鸿蒙next中对图片的高斯模糊处理,主要是使用effectKit实现
针对的pixelMap,代码处理如下所示

import effectKit from '@ohos.effectKit'
import { image } from '@kit.ImageKit';

  try {
     let fd = fs.openSync(result, fs.OpenMode.READ_ONLY).fd;
     const stat = fs.statSync(fd)
     const buffer = new ArrayBuffer(stat.size)
     fs.readSync(fd, buffer)
     fs.closeSync(fd)
     let img = image.createImageSource(buffer)
     img.createPixelMap((e, data) => {
       let hh = effectKit.createEffect(data)
         hh.blur(37.0).getEffectPixelMap().then((result)=>{
              this.bgImage = result;
          })
        })
    } catch (e) {
    }

这段示例是打开文件图片文件,读取arraybuffer通过imageKit的createImageSource和createPixelMap实现pixelMap的异步生成,然后通过effectkit的createEffect实现效果渲染,达到如下图的高斯模糊背景
鸿蒙Next 图片高斯模糊处理_第1张图片

你可能感兴趣的:(harmonyos,华为)