2013-12-13 82 views
0

我寫在HTML5畫布繪畫應用程序畫繪製矩形。 我已經完成了我的鉛筆繪畫與觸摸和繪圖。 現在我正在嘗試製作一個矩形。對於我讀過的所有主題,我將不得不將所有完成的形狀存儲在一個數組中,但是如果我這樣做了,我還必須將所有點用普通繪圖存儲,以便我可以繪製一個像窗口一樣的矩形繪畫。 請給我另一個解決方案來繪製矩形像窗口,哪個舊的矩形將消失,新的將替換之前,我做了一個「鼠標」。 在此先感謝:)與HTML5畫布像在Windows

+0

我」我試圖將所有的數據存儲到一個數組中,但是我很擔心如果我的程序將不得不存儲這麼多的數據。 –

回答

0

您將需要保存以前的圖紙或使用2個畫布。

如果要保存先前的圖...

在鼠標按下:

  • 保存鼠標位置(運行startx/startY)。
  • 設置一個標誌,表明一拖已經開始(isDown =真)

在鼠標移動:

  • 如果isDown ==假的,沒有做任何事情(返程)
  • 否則,清除畫布
  • 重繪您以前的所有繪圖(從您保存的點陣列等)
  • 繪製當前矩形從開始到鼠標位置 - context.strokeRect(startX,st附庸風雅,mouseX-運行startx,mouseY的-startY)

在鼠標鬆開:

  • 明確拖動標識(isDown = FALSE)

如果你想使用2個畫布.. 。

至於存儲每個先前圖形替代,你可以使用2幅油畫。一個畫布用於繪製當前矩形和一個第二畫布,以保持所有以前繪製的項目這是一個使用2個畫布,所以你不必儲存以前的圖紙做了一個例子:jsfiddle.net/m1erickson/V9J5J/

+0

謝謝^ _ ^這對於像我這樣的新手來說非常有用^ _ ^ –