2010-06-26 71 views
3

當Firefox的畫布上繪畫,如果你試圖在繪製或移動到超越,將錯誤拋出的畫布的邊界點(這是複製/直接從螢火粘貼):如何在HTML5畫布上進行適當的邊界檢查?

An invalid or illegal string was specified" code: "12 

其他瀏覽器不會拋出錯誤。這適用於繪圖方法(lineTo,arc等)以及圖像繪製。在繪製之前使用畫布的寬度和高度進行快速邊界檢查很容易,但繪製部分事物又如何?

例如,假設您有一個由中心點和半徑定義並用弧()繪製的圓。如果您進行邊界檢查,則中心可能不在畫布上,而圓的一部分在技術上應該仍然可見。因此,該圓將被完全繪製或完全不繪製:如果中心點離開畫布,則無法僅繪製圓的一部分。

有沒有人有這方面的工作?

我想到的一個問題是使用一個大的「世界緩衝區」畫布,然後從畫布中複製。另一個可能是將每個對象繪製在緩衝區畫布的中心,然後將新繪製的像素複製到顯示畫布的正確位置。

人們爲解決這個問題做了些什麼?

回答

1

畫布將圖像剪裁到其視圖的邊界矩形。你應該沒有問題在這個邊界框之外繪圖。它不會顯示在您的圖紙上。發佈一個特定的例子,看看我們是否可以重現錯誤。

+0

在此期間,這個問題似乎已消失。我可能實際上有一個無效的字符串作爲參數。現在,這個問題是沒有意義的。謝謝您的幫助! – Andrew 2010-06-27 17:49:38