我正在通过画布动态绘制平面图,您可以向上/向下向左/向右滚动,但我想保存平面图的整个图像以供其他用途。我知道我可以缩小平面图并捕捉图像,但我需要它的分辨率高于我捕捉它的实际屏幕。
我目前正在使用FileSaver.js将画布保存为位图,因为它非常简单。
这可能吗?
我正在通过画布动态绘制平面图,您可以向上/向下向左/向右滚动,但我想保存平面图的整个图像以供其他用途。我知道我可以缩小平面图并捕捉图像,但我需要它的分辨率高于我捕捉它的实际屏幕。
我目前正在使用FileSaver.js将画布保存为位图,因为它非常简单。
这可能吗?
没有更多信息很难判断,但您可以创建一个更大的画布(您需要的大小)并将其隐藏。然后,当您想要捕获时,您将所有内容重新绘制到该画布中并从中保存图片而不是显示的图片。
所以你不需要保存画布,而是图像。
我不知道你的 FileSaver.js,但如果它不能直接保存图像,将图像放在新画布中很容易:
function getCanvasFromImage(img) {
var cv = document.createElement('canvas');
cv.width = img.width; cv.height = img.height;
cv.getContext('2d').putImage(img, 0, 0);
return cv;
}