//下面的图片
static async doCropPicDown(base64: string): Promise<image.PixelMap> {
return new Promise(async (resolve, reject) => {
try {
// 转码base64去除前缀
let base64Str = base64.replaceAll('data:image/png;base64,', '')
// base64Str = base64.replaceAll('data:image/jpeg;base64,', '')
let helper = new util.Base64Helper();
let buffer: ArrayBuffer = helper.decodeSync(base64, util.Type.MIME).buffer as ArrayBuffer;
let imageSource = image.createImageSource(buffer);
let opts: image.DecodingOptions = { editable: true };
let pixelMap = await imageSource.createPixelMap(opts);
// let pixelMap = await image.createPixelMap(opts);
// let opts:image.InitializationOptions = { editable: true, pixelFormat: 3, size: { height: 4, width: 6 } }
// image.createPixelMap('', opts, (error, pixelmap) => {
// if(error) {
// console.log('Failed to create pixelmap.');
// } else {
// console.log('Succeeded in creating pixelmap.');
// }
// })
let value = await pixelMap.getImageInfo()
let hValue = Math.round(value.size.height);
let wValue = Math.round(value.size.width);
// x:裁剪起始点横坐标0
// y:裁剪起始点纵坐标0
pixelMap.crop({ x: 0, y: hValue / 2, size: { height: hValue/2, width: wValue } });
resolve(pixelMap);
} catch (e) {
reject(e)
}
})
}
ps:crop改成 rotate