javascript - Canvas getImageData 但按比例缩小

标签 javascript html html5-canvas

我在大小为 280、280 的 Canvas 上画了一些东西。我想从此 Canvas 获取 ImageData,但大小为 28、28。

我不能只这样做:

const imgData = this.ctx.getImageData(0, 0, 28, 28);

因为 28 之后的其余部分,28 将被切断。所以我尝试了这样的事情:

this.ctx.width = 28;
this.ctx.height = 28;
const imgData = this.ctx.getImageData(0, 0, 28, 28);
console.log(imgData);

还有这个

this.ctx.scale(0.1, 0.1);
const imgData = this.ctx.getImageData(0, 0, 28, 28);
console.log(imgData);

但两者都不起作用。

最佳答案

您在第一个 Canvas 上绘制图像。

接下来您使用第一个 Canvas 作为图像在第二个 28/28 Canvas 上绘制。

var img = document.querySelector("#canvas1");
ctx2.drawImage(img,0,0,28,28);

最后您从第二个 Canvas 中获取图像数据:

ctx2.getImageData(0,0,28,28)

关于javascript - Canvas getImageData 但按比例缩小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52591087/

相关文章:

jquery - jquery中的多级菜单

javascript - 如何让 HTML5 Canvas 全屏显示?

javascript - 如何选择并拖动与在 Fabricjs 中单击的对象不同的对象?

javascript - 有哪些好的纯 JavaScript 教程和引用资料?

javascript - 褪色图像简单幻灯片 javascript/html

javascript - 为什么这个仅输入数字的函数实际上不适用于输入类型 :number?

java - JSP - 如何在 HTML JSP 页面中使用从 servlet 发送的图像?

javascript - 是否可以进行六边形拖放?

javascript - 从普通文本中提取标题标签

javascript - AngularJS $routeParams 未定义