将画布输出图像调整为特定尺寸(宽度/高度)

2024-05-07

我有一个大画布(5000x5000),我想拍一张照片并在客户端创建一个缩略图。我可以使用捕获图像canvas.toDataURL但我该如何调整它的大小?我必须创建一个新的吗$("<canvas></canvas>")元素,然后将该图像放入其中并运行canvas2.toDataURL();谁能帮我这个?我不知道该怎么做。

var canvas = document.getElementById("main");
var ctx = canvas.getContext("2d");
var tumbnail64 = null;
var image = new Image();
image.src = canvas.toDataURL();
image.onload = function() {

    $c2 = $("<canvas></canvas>");
    $c2[0].width=100;
    $c2[0].height=100;
    $c2[0].getContext("2d");
    $c2[0].drawImage(image, 0, 0,100,100);
    tumbnail64 = $c2[0].toDataURL();
};

鉴于您对原始画布元素没有安全限制,这样的事情应该可以工作:

var resizedCanvas = document.createElement("canvas");
var resizedContext = resizedCanvas.getContext("2d");

resizedCanvas.height = "100";
resizedCanvas.width = "200";

var canvas = document.getElementById("original-canvas");

resizedContext.drawImage(canvas, 0, 0, 200, 100);
var myResizedData = resizedCanvas.toDataURL();
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将画布输出图像调整为特定尺寸(宽度/高度) 的相关文章

随机推荐