Android-使用OpengGL實(shí)現(xiàn)的Canvas進(jìn)行繪制(簡(jiǎn)單介紹)

Android-使用OpengGL實(shí)現(xiàn)的Canvas進(jìn)行繪制(簡(jiǎn)單介紹)

首發(fā)地址:
http://blog.csdn.net/fzl562410663/article/details/53074511

本文簡(jiǎn)單介紹一個(gè)Github開(kāi)源庫(kù):
android-openGL-canvas

這個(gè)開(kāi)源庫(kù)的特點(diǎn)是提供一個(gè)類似 Android 的 canvas 那樣的類髓废。我們可以繼承它的 GLTextureView 來(lái)實(shí)現(xiàn)自定義View, 接著就可以使用它的canvas來(lái)畫(huà)自己想畫(huà)的東西了。例如:

public class MyGLView extends GLTextureView {

    public MyGLView(Context context) {
        super(context);
    }

    public MyGLView(Context context, AttributeSet attrs) {
        super(context, attrs);
    }


    @Override
    protected void onGLDraw(ICanvasGL canvas) {
        // draw things with canvas here
    }
}

和傳統(tǒng)的自定義View不同该抒,這個(gè)View是在自己的線程畫(huà)的慌洪,而不是主線程。

  • Canvas的用例
        canvas.drawBitmap(textBitmap, left, top);
        
        // transform
        canvas.save();
        canvas.rotate(rotateDegree, x, y);
        canvas.drawBitmap(bitmap, left, top);
        canvas.restore();
        // or
        CanvasGL.BitmapMatrix matrix = new CanvasGL.BitmapMatrix();
        matrix.postScale(2.1f, 2.1f);
        matrix.postRotate(90);
        canvas.drawBitmap(bitmap, matrix);
        
        // apply filter to the bitmap
        textureFilter = new ContrastFilter(2.8f);
        canvas.drawBitmap(bitmap, left, top, textureFilter);

是不是跟普通的canvas很像凑保?

  • 因?yàn)槭褂肙penGL冈爹,所以繪制效率高,親測(cè)比硬件加速的View效率高一點(diǎn)欧引,比沒(méi)有硬件加速的View效率高很多频伤。
  • 如果需要自定義連續(xù)不斷的動(dòng)畫(huà),可以考慮使用它的GLContinuousTextureView芝此,可以作為對(duì)SurfaceView和GLSurfaceView的替代品憋肖,比SurfaceView效率高很多。用法跟上邊的例子一樣婚苹,只是它的onGLDraw會(huì)無(wú)限循環(huán)地調(diào)用岸更,達(dá)到不斷繪制地效果。不過(guò)記得調(diào)用onResume和onPause租副。
  • 它的 Canvas 可以使用 OpenGL 進(jìn)行高效的圖像處理坐慰,上方textureFilter就是例子较性。例如調(diào)節(jié)對(duì)比度用僧,打馬賽克之類的。它的處理方式跟一著名的圖像處理庫(kù)
    GPUImage差不多赞咙。

效果:


filters

還能與 Camera 結(jié)合


camera

詳細(xì)的請(qǐng)進(jìn)入github地址進(jìn)行查閱责循。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市攀操,隨后出現(xiàn)的幾起案子院仿,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,386評(píng)論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件歹垫,死亡現(xiàn)場(chǎng)離奇詭異剥汤,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)排惨,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,142評(píng)論 3 394
  • 文/潘曉璐 我一進(jìn)店門吭敢,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人暮芭,你說(shuō)我怎么就攤上這事鹿驼。” “怎么了辕宏?”我有些...
    開(kāi)封第一講書(shū)人閱讀 164,704評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵畜晰,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我瑞筐,道長(zhǎng)凄鼻,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,702評(píng)論 1 294
  • 正文 為了忘掉前任面哼,我火速辦了婚禮野宜,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘魔策。我一直安慰自己匈子,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,716評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布闯袒。 她就那樣靜靜地躺著虎敦,像睡著了一般。 火紅的嫁衣襯著肌膚如雪政敢。 梳的紋絲不亂的頭發(fā)上其徙,一...
    開(kāi)封第一講書(shū)人閱讀 51,573評(píng)論 1 305
  • 那天,我揣著相機(jī)與錄音喷户,去河邊找鬼唾那。 笑死,一個(gè)胖子當(dāng)著我的面吹牛褪尝,可吹牛的內(nèi)容都是我干的闹获。 我是一名探鬼主播,決...
    沈念sama閱讀 40,314評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼河哑,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼避诽!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起璃谨,我...
    開(kāi)封第一講書(shū)人閱讀 39,230評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤沙庐,失蹤者是張志新(化名)和其女友劉穎鲤妥,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體拱雏,經(jīng)...
    沈念sama閱讀 45,680評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡棉安,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,873評(píng)論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了铸抑。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片垂券。...
    茶點(diǎn)故事閱讀 39,991評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖羡滑,靈堂內(nèi)的尸體忽然破棺而出菇爪,到底是詐尸還是另有隱情,我是刑警寧澤柒昏,帶...
    沈念sama閱讀 35,706評(píng)論 5 346
  • 正文 年R本政府宣布凳宙,位于F島的核電站,受9級(jí)特大地震影響职祷,放射性物質(zhì)發(fā)生泄漏氏涩。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,329評(píng)論 3 330
  • 文/蒙蒙 一有梆、第九天 我趴在偏房一處隱蔽的房頂上張望是尖。 院中可真熱鬧,春花似錦泥耀、人聲如沸饺汹。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,910評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)兜辞。三九已至,卻和暖如春夸溶,著一層夾襖步出監(jiān)牢的瞬間逸吵,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,038評(píng)論 1 270
  • 我被黑心中介騙來(lái)泰國(guó)打工缝裁, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留扫皱,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,158評(píng)論 3 370
  • 正文 我出身青樓捷绑,卻偏偏與公主長(zhǎng)得像韩脑,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子胎食,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,941評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容