※ 引述《Ferich (純粹的透明)》之銘言:
: 在看過line相機的強大功能後
: 目前正在嘗試看能否把line相機的圖案添加 弄出來
: 前一篇文 使用了版眾們提供的startActivityForResult
: 方法後 成功解決了相機用surface變形的問題
: 使用了原生相機 拍完照後 把照片拿回來使用的部分
: 目前想用canvas的方式來實作
: 可以把圖片 使用button 就指定他放到座標位置上去
: 但是有大大實作過 在canvas上 拖拉圖片 改變位置
: 甚至改變透明度與角度 放大縮小嗎?
: 還是其實line相機 不是用canvas做的
: 有參考許多文章 都說canvas很複雜... 但是看起來 似乎只有canvas可以解決問題
: 總之功能大概想像是line相機 這樣的功能
LineCamera用什麼實作我是不清楚啦,沒去解開看。
如果在Java層實作我只能提供我目前的方向,或許你會有更好的作法 :p
我是用和Photoshop的圖層概念去實作,
圖層本身有自己的位置、旋轉角度、縮放比例,當然甚至透明度你要有也可以。
然後等到SurfaceView要畫的時候,SurfaceHolder的lockCanvas會把Canvas傳進來
這時就用Canvas的drawBitmap畫上去,圖片旋轉縮放翻轉等等全部都可以用Matrix算。
讓他一層一層根據圖層本身的狀態畫上去。
我是沒有像LineCamera是用小圖去放大,而是用原吋圖即時讀檔去decode。
因此在效能上比較慢,要一直讀檔,或許之後會加上LruCache加快一點效能。
總之整個概念大致上是這樣。
再說下去大概就會被發現哪個App是我做的了(遮臉)
--
抱最大的希望,為最大的努力,做最壞的打算。 嚴長壽
領最大的薪水,擁最大的權勢,做最壞的榜樣。 立法院
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 118.99.182.229
※ 編輯: lovelycateye 來自: 118.99.182.229 (11/02 14:31)
※ 編輯: lovelycateye 來自: 219.85.82.103 (11/02 23:24)