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))
})
}