作者AZHI (songs)
看板AndroidDev
標題[問題] ondraw 重繪問題
時間Wed Oct 30 22:32:19 2013
在onDraw(canvas)內 及時繪圖
先在裡面用drawcircle(x,y,r,pen)
觸控才畫下第一個圓
而觸控畫下第二個圓的時候
第一個圓就會消失
請問有辦法解決這個問題嗎?
我是想實作小畫家的功能..
另外也想請問,有沒有一種方法
是可以把之前所繪的畫面,存起來
每一次,除了將存起來的畫面重繪以外,
還會把使用者觸控畫的(也就是最後畫的)圖形,也存進去裡面
然後再不斷重新繪製.
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 123.205.97.25
1F:→ erttyy8821:實現重繪可以記錄坐標再繪畫一次 10/30 23:10
2F:→ AZHI:請問有更好的辦法嗎? 這個方法到最後如果使用者真的畫很多圖 10/31 11:07
3F:→ AZHI:的畫,速度會越來越慢... 10/31 11:07
4F:推 fasthall:用List<Path>記錄每一筆 超過一定筆數畫成一張Bitmap 10/31 14:07
5F:→ fasthall:然後清空List 這樣可以確保重繪不會超過一定次數 10/31 14:08
6F:推 sjyu0543:利用drawPath去畫圖 再呼叫path.addCircle去畫圓 10/31 14:42
7F:推 sjyu0543:用ArrayList<Path>去紀錄新增的path 10/31 14:46
8F:→ AZHI:請問f大是指將onDraw內的圖片存成bitmap嗎? 10/31 22:46
9F:→ AZHI:這要如何實作呢? 10/31 22:46
10F:→ AZHI:感謝s大~方法可行 11/01 00:37
11F:→ AZHI:但如果要DrawLine()的話 path好像沒有提供這種函式 11/01 00:37
12F:推 sjyu0543:利用moveTo跟 lineTo 可以寫字跟畫線,看你怎麼運用。我是 11/01 02:54
13F:→ sjyu0543:利用motionEvent一起搭配使用。 11/01 02:54
14F:→ AZHI:了解 感謝您 11/01 22:01
15F:→ AZHI:可以另外請教 ArrayList<Path> 是為了path的顏色 11/01 22:52
16F:→ AZHI:而記錄的嗎? 11/01 22:53
17F:推 sjyu0543:為畫圖的路徑而存 11/02 00:06
19F:→ sjyu0543:anvas-redo-and-undo-operation 11/02 00:09
21F:→ sjyu0543:html 11/02 00:09
22F:→ sjyu0543:這兩篇裡頭有範例、寫得很不錯。可以參考一下。 11/02 00:11
23F:→ AZHI:好的 謝謝s大 11/02 10:09