Re: [問題] android繪圖板擦子如何寫?

看板java作者 (Simple Life)時間15年前 (2010/12/31 17:14), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串3/3 (看更多)
※ 引述《afz096 (我被淡水的路寵壞了)》之銘言: : ※ 引述《mkia1142 (maki)》之銘言: : : 我們的期未報告會做類似繪圖板的功能 : : 想要讓他增加可以有辦法擦掉之前畫的東西 : : 不知道該怎麼,麻煩大家指點一下了,謝謝 : 我想到下面兩種方式: : 如果想要的功能是反悔(undo), : 那需要把所畫的每個物件存起來, : 利用座標、半徑、透明度等等參數,存下每一次畫的物件。 : 這樣要 undo 或是 redo 都很方便。 : 這個方式印象中是遙遠以前看 java SDK 所附的 sample code。 : /demo/applets/GrahpicsTest/ : 如果想要的功能是橡皮擦(eraser), : 應該就是等於畫筆的功能,只不過顏色是背景顏色。 : 希望有幫得上你:) Eraser可以有四種功能: (1) 清空畫面 (2) 橡皮擦 (3) un-do (4) re-do 你可以把每一筆的資料利用List存下來,可能會存的資訊可以有: (1) Paint 顏色(ARGB) (2) Paint 粗細(StrokeWidth) (3) Paint 效果 (3) 初始點(x_1, y_1) (4) 結束點(x_n, y_n) 通常來說,像是矩形、三角形、圓形、橢圓等都只需要上面這幾個特性。 若是直線另外還要用一條List存每一個點(x_2,y_2)~(x_n-1, y_n-1) un-do和re-do就只是List上的pop和push而已,演算法就自己想,很簡單的。 這邊的所有事情都可以用到OOP的特性封裝、繼承、多型。 可以參考一下Android SDK裡的samples裡面的APIdemo, 做這個繪圖板可以看: finger和Path Effect。 橡皮擦可以用setXformode還是直接設定顏色為背景色的作法就可以更簡單達成。 -- -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.38.241.180
文章代碼(AID): #1D7Pxmp7 (java)
文章代碼(AID): #1D7Pxmp7 (java)