绘制图片并保存而不显示它

Drawing a picture and save it without displaying it

本文关键字:显示 保存 绘制      更新时间:2023-09-26

帽子 我想做的是用 png 在另一张图片上画一张图片,我已经通过画布成功完成了,然后我可以将其另存为新的 png 文件。

            var drawImage = function(canvas, base, overlay){
                var context = canvas.getContext('2d');
                context.clearRect(0, 0, canvas.width, canvas.height);
                var baseImage = new Image();
                var overlayImage = new Image();
                var readyFlag = 0;
                var drawFunc = function () {
                    context.drawImage(baseImage, 0, 0, canvas.width, canvas.height);
                    context.drawImage(overlayImage, 0, 0);
                }
                baseImage.onload = function () {
                    readyFlag += 1;
                    if (readyFlag < 2) {
                        return;
                    }
                    drawFunc();
                }
                overlayImage.onload = function () {
                    readyFlag += 1;
                    if (readyFlag < 2) {
                        return;
                    }
                    drawFunc();
                }
                baseImage.src = base;
                overlayImage.src = overlay;
            }

我想将图片保存到路径中,但我不想显示它,我如何实现这一点或任何插件都可以做到这一点。

我已经

自己解决了,我发现如果我非常快速地逐个绘制画布并保存您不会注意到画布发生了变化,因此图像似乎保存而没有显示,但实际上在很短的时间内显示。