【发布时间】:2019-02-02 22:49:14
【问题描述】:
我正在尝试在画布内的图像上徒手绘制,以及放大/缩小。
要在图像上添加绘图更改,我正在使用 getImageData() 和 putImageData() 然后保存图像使用 canvas.nativeElement.toDataURL();
没有缩放也可以正常工作,但是当我使用 context.scale(x,x); 放大时 canvas.nativeElement.toDataURL(); 只保存画布区域可见的图像,缩放后超出画布大小的图像部分丢失。
我想获得带有绘图更改的完整图像,当缩小时,toDataURL() 有什么替代方法可以给我完整的图像数据。
【问题讨论】:
-
我以前没有做过类似的事情,但是当你保存它时重置缩放,保存,然后将缩放恢复到保存之前的状态?
-
您可以在屏幕画布上绘制图像,也可以在缓冲区画布(不附加到 DOM)上绘制图像,缓冲区画布可能与缩放后的图像一样大,您可以使用 `toDataURL() ` 在缓冲区画布上。
-
@enxaneta 我试过你的方法,它奏效了。您可以添加您的评论作为答案,我可以接受。谢谢。
标签: javascript angular html canvas html5-canvas