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); 
})
分享
微博
QQ
微信
回复
2024-09-10 17:55:10
相关问题
如何将PixelMap转图片base64字符
441浏览 • 1回复 待解决
如何将图片base64字符PixelMap
530浏览 • 1回复 待解决
HarmonyOS 图片转为base64字符
115浏览 • 1回复 待解决
base64字符如何转为图片并保存
2559浏览 • 1回复 待解决
如何base64转换成图片?
10237浏览 • 2回复 待解决
base64字符保存为图片的方法
767浏览 • 1回复 待解决
如何将文件转换成字符串
372浏览 • 1回复 待解决
HarmonyOS将对象转换成字符串的方法
466浏览 • 1回复 待解决
PixelMap怎么Base64?(非Java)
3203浏览 • 2回复 待解决
怎么PixelMap图片转BASE64
9313浏览 • 1回复 待解决
如何实现PixelMapbase64的相互转换
1712浏览 • 1回复 待解决
Map类型怎么转换成Json string
2117浏览 • 1回复 待解决