图片旋转问题?网络图片是转过90度的,能否自动校正

//下面的图片

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值