PixelMap类型怎么转换成Base64字符串

需要将PixelMap类型转换为Base64字符串上送。

HarmonyOS
2024-09-10 10:56:46
浏览
收藏 0
回答 1
回答 1
按赞同
/
按时间
FengTianYa

PixelMap转换成base64必须先使用imagePacker将pixelMap压缩后再进行base64,若要实现无损压缩,将PixelMap压缩成PNG,即调用imagePacker时,let packOpts: image.PackingOption = { format: ‘image/png’, quality: 100 };

实现PixelMap转base64可以参考如下代码:

let resourceManager = getContext(this).resourceManager 
let imageArray = await resourceManager.getMediaContent($r('app.media.beer')); 
let pixelBuffer = new Uint8Array(imageArray).buffer as Object as ArrayBuffer 
let imageResource = image.createImageSource(pixelBuffer); 
let opts: image.DecodingOptions = { editable: true } 
let pixelMap = await imageResource.createPixelMap(opts); 
 
// 转换成base64 
const imagePackerApi: image.ImagePacker = image.createImagePacker(); 
let packOpts: image.PackingOption = { format: 'image/jpeg', quality: 100 }; 
imagePackerApi.packing(pixelMap, packOpts).then((data: ArrayBuffer) => { 
  let buf: buffer.Buffer = buffer.from(data); 
  this.base64 = 'data:image/jpeg;base64,' + buf.toString('base64', 0, buf.length); 
  console.info('base64: ' + this.base64); 
})
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
分享
微博
QQ
微信
回复
2024-09-10 17:55:10
相关问题
如何将PixelMap转图片base64字符
1544浏览 • 1回复 待解决
如何将图片base64字符PixelMap
1601浏览 • 1回复 待解决
HarmonyOS 图片转为base64字符
850浏览 • 1回复 待解决
base64字符如何转为图片并保存
3650浏览 • 1回复 待解决
base64字符保存为图片的方法
2051浏览 • 1回复 待解决
HarmonyOS SM2加签返回Base64字符
949浏览 • 1回复 待解决
如何base64转换成图片?
11506浏览 • 2回复 待解决
如何将文件转换成字符串
1108浏览 • 1回复 待解决
HarmonyOS将对象转换成字符串的方法
1572浏览 • 1回复 待解决
HarmonyOS pixelMap怎么base64
607浏览 • 1回复 待解决