我正在使用HTML5画布来加载一个图像实例,然后将其多次贴到单个画布上。为了定制它,这张图片需要进行一些轻微的像素操作。我的初始解决方案是加载图像,将其贴到备份画布上,在其上绘制我的修改,然后获取图像数据并缓存以备将来使用。
以下是我编写的一些代码:
以下是我编写的一些代码:
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将其放置在我的前置画布上时,它会呈现为黑色背景。如何保持透明度?
欢迎任何建议!
newContext.drawImage(oldCanvas, 0, 0);
我认为这样会更快,并且可能会使用更少的内存。 - andrewmu