收藏
回答

微信鸿蒙的sdk分享的图片有黑色的背景?

private async  snapShotImage() {

  this.getUIContext().getComponentSnapshot().get("shareImage", (error: Error, pixmap: image.PixelMap) => {
    if (error) {
      console.log("error: " + JSON.stringify(error))
      return
    }
    this.pixmap = pixmap
    LogUtils.log('截图完成')
    this.sendImageToWechat()

  })

}

async sendImageToWechat() {

  const imagePackerApi: image.ImagePacker = image.createImagePacker();
  let packOpts: image.PackingOption = { format: 'image/jpeg', quality: this.imageQuality };
  imagePackerApi.packing(this.pixmap, packOpts).then((data: ArrayBuffer) => {
    let imageObject = new wxopensdk.WXImageObject

    let buf: buffer.Buffer = buffer.from(data);
    imageObject.imageData = buf.toString('base64', 0, buf.length);

    let mediaMessage = new wxopensdk.WXMediaMessage()
    mediaMessage.mediaObject = imageObject

    let req = new wxopensdk.SendMessageToWXReq()
    req.scene = this.currentScene
    req.message = mediaMessage

    this.wxApi.sendReq(getContext(this) as common.UIAbilityContext, req)


  }).catch((err:Error) => {
    LogUtils.error(TAG + ' err =' + JSON.stringify(err))

  })


}


回答关注问题邀请回答
收藏
登录 后发表内容