我正在使用 HTML5 画布来加载图像的单个实例,然后将其多次 blit 到单个画布上。图像需要一些轻微的基于像素的操作才能对其进行自定义。我最初的攻击计划是加载图像,将其粘贴到支持画布上,在其上绘制我的修改,然后获取图像数据并将其缓存以供将来使用。
这是我为此编写的一些代码:
context.drawImage(img, 0, 0);
context.fillStyle = '#ffffff';
context.fillRect(0, 0, 2, 2); // Draw a 2x2 rectangle of white pixels on the top left of the image
imageData = context.getImageData(0, 0, img.width, img.height);
cusomImage = imageData;
虽然这可行,但我注意到我的图像(这是一个透明的 PNG)不能保持透明度。相反,当使用 putImageData 将其放置到我的正面画布上时,它会以黑色背景呈现。如何保持透明度?
欢迎任何建议!