【发布时间】:2018-09-23 21:46:34
【问题描述】:
我将图像转换为 base64 字符串。我通过代码将base64-string转换为Uint8Array:
const BASE64_MARKER = ';base64,';
function convertDataURIToBinary(dataURI) {
const base64Index = dataURI.indexOf(BASE64_MARKER) + BASE64_MARKER.length;
const base64 = dataURI.substring(base64Index);
const raw = window.atob(base64);
const rawLength = raw.length;
const array = new Uint8Array(new ArrayBuffer(rawLength));
for (let i = 0; i < rawLength; i++) {
array[i] = raw.charCodeAt(i);
}
return array;
}
我不知道如何裁剪它。你能帮我实现算法吗?
【问题讨论】:
-
使用画布裁剪该图像,您已经有一个数据uri,在画布元素上打印该图像然后裁剪它,无需经历所有这些箍,特别是因为它看起来不像你甚至知道图片的尺寸。
-
总的来说我同意mpm的评论,但如果你必须在数学上这样做,你需要知道图像的宽度和高度。这些你提前知道吗?如果不是,你将不得不为它们解析 base64 字符串,事情变得有点复杂。
-
是的,我知道图片的宽度和高度。谢谢cmets,我试试看。
标签: javascript image crop