javascript - 画布下载为空白图像
问题描述
我正在尝试使用画布将表格中的背景颜色保存为图像。
该列表包含 625 种背景颜色 (RGBA)。
用于保存图像的代码部分。'#blank' 指向 25 x 25 像素的空白图像
window.addEventListener('load', function(ev) {
var sourceimage = document.getElementById('blank');
//sourceimage.style.display = 'none';
var canvas = document.getElementById('out');
// canvas.style.display = 'none';
var context = canvas.getContext('2d');
function transfer() {
let pixels = context.getImageData(0, 0, canvas.width, canvas.height);
let imgData = pixels.data;
let saveData = getSaveDataImage();
for (let i = 0; i < pixels.data.length; i++) {
imgData[i] = saveData[i];
}
console.log(pixels.data);
context.putImageData(pixels, 0, 0);
}
function canvasToImage(ev) {
let T = ev.target;
if (T.tagName === 'IMG') {
canvas.height = T.offsetHeight;
canvas.width = T.offsetWidth;
context.drawImage(T, 0, 0, T.offsetWidth, T.offsetHeight);
transfer();
url = canvas.toDataURL('image/png');
let a = document.createElement('a');
a.href = url;
a.download = "pixelPaint.png";
document.body.appendChild(a);
a.click();
document.body.removeChild(a);
}
}
save_.addEventListener('click', function () {
sourceimage.click();
})
document.body.addEventListener('click', canvasToImage, false);
} ,false);
如果我进行上述传输,然后使用 .toDataURL() 保存画布,我会下载一个空白图像
为什么会这样?
解决方案
推荐阅读
- django - Django:数据库需要一些东西来填充现有的行
- python - 在 python matplotlib 上使用主要 xticks 的问题
- c - 无限while循环会导致系统崩溃吗?
- mongodb - 尝试使用 AWS EC2 node.js 应用程序通过 AWS ELB 与 AWS Mongo Linux 实例通信
- python - 为什么 pdftotext 有时会将单词挤在一起?
- php - 在mysql中用变音符号搜索阿拉伯语
- sql-server - 如何在 ssis 的 foreach 循环中动态取消透视列
- android - Gradle 3.5.0 的 Android 导航组件 (nav-graph) 问题
- javascript - 我们如何从父级访问子 iframe
- arrays - React Native 从 1 个数组中删除项目并设置在另一个数组中