【解决方案】HarmonyOS图片添加水印

 实现思路:从相册中算选择图片,将图片展示到UI界面,利用核心方法drawImage将要添加的水印画到图片上,然后将图片保存。

1、从相册中选取图片,添加水印,并返回添加水印后的图片保存路径

async pickerAcvtor(waterStr: string[]) {
    // 实例化选择参数对象
    const options = new picker.PhotoSelectOptions()
    options.MIMEType = picker.PhotoViewMIMETypes.IMAGE_TYPE
    options.maxSelectNumber = 1

    // 实例化选择器对象
    const pickerView = new picker.PhotoViewPicker()
    let res = await pickerView.select(options)


    // 判断用户取消了选择图片,则组织下面代码的继续运行
    if (res.photoUris.length === 0) {
      promptAction.showToast({ message: "用户取消图片选择" })
      return
    }
    //  准备好图片的完整路径
    let ext = 'jpg'
    let fileName = Date.now().toString()
    let cacheDir = getContext().cacheDir
    let fullPath = cacheDir + '/' + fileName + '.' + ext
    //  利用fileIo拷贝图片
    let file = fileIo.openSync(res.photoUris[0], fileIo.OpenMode.READ_ONLY)
    fileIo.copyFileSync(file.fd, fullPath)
    this.imgPath = fullPath

    addWaterMarkManager.addWaterImage(this.imgPath, waterStr, this.fillColor)
      .then((pixelMap?: image.PixelMap) =>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值