2017-01-16 79 views
0

我使用HTML5画布和JavaScript来在屏幕上绘制一些东西。然而,因为我画的有时会很大,所以我有一个平移功能。画布保存像素绘制出视图制造

问题是,当绘图在屏幕的顶部或左侧部分出现时,我会得到一个奇怪的神器。 artifact

我使用的toDataURL()功能,节省得出的数据,并重绘作为使用drawImage()图像。

该应用程序可以找到here

回答

0

发生这种情况是因为您将它拖动到“低于”渲染边界。

===================== 
emtpy with artifacts 
empty with artifacts 
_____________________________ 
start of your canvas drawing 

由于空白空间没有用纯色填充,因此它保持原样,因为它在缓冲区中。

只需检测绘图窗格的边缘,并在拖动后绘制低于视图端口时填充可见视口的其余部分以填充。

+0

有没有办法改变渲染边界?我希望画布更大,但屏幕仍然居中。 – R4VANG3R

+0

您需要移动绘图的中心点。不是画布... – Tschallacka

+0

然后,绘图将偏离右下角.. – R4VANG3R