国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

Android 圖形圖像處理技術(shù)研究

2014-05-30 21:28宋國柱
電腦知識與技術(shù) 2014年8期
關(guān)鍵詞:動畫

宋國柱

摘要:介紹了Android圖形圖像處理的相關(guān)技術(shù),包括2D圖像、圖形特效以及動畫等技術(shù)。在闡述2D圖像的繪制時,主要介紹了如何繪制幾何圖形、文本、路徑和圖片等技術(shù)。在分析動畫技術(shù)時,重點分析了補間動畫。

關(guān)鍵詞:Android;二維圖像;圖形特效;動畫

中圖分類號:TP301 文獻標(biāo)識碼:A 文章編號:1009-3044(2014)08-1800-02

1 概述

隨著移動設(shè)備的不斷普及與發(fā)展,相關(guān)的軟件開發(fā)技術(shù)也越來越受到人們所重視。2007年Google正式發(fā)布Android平臺以來,短短幾年內(nèi)Android成為全球最受歡迎的移動智能終端平臺。圖形圖像處理技術(shù)在Andriod中非常重要,特別是在開發(fā)益智類游戲或者2D游戲時,都離不開圖形圖像處理技術(shù)的支持。

2 常用繪圖類

在Android中,繪制圖像時最常用的是paint、Canvas、Bitmap和BitmapFactory類。

1)paint類表示畫筆。用來描述圖形的顏色和風(fēng)格,如線寬、顏色、透明度和填充效果等信息。使用paint類時,首先需要創(chuàng)建該類的對象。然后通過該對象調(diào)用相關(guān)常用方法改變畫筆的設(shè)置。例如可以改變畫筆的顏色、筆觸寬度等。

2)Canvas類表示畫布。通過該類提供的方法可以繪制各種圖形(如矩形、圓形和線條等通常情況下,要在Android中繪圖,需要先創(chuàng)建一個繼承View類的視圖,并且在該類中重寫onDraw(Canvas canvas)方法,然后在顯示繪圖的Activity中添加該視圖。

3)Bitmap類表示位圖。使用該類不僅可以獲取獲取圖像文件信息,對圖像進行剪裁、旋轉(zhuǎn)、縮放等操作,而且還可以指定格式保存圖形文件。

4)BitmapFactory類是一個工具類。用于從不同的數(shù)據(jù)源來解析、創(chuàng)建Bitmap對象。

3 二維圖像繪制

Android提供了非常強大的二位圖形庫,用于繪制2D圖像。比較常用的是繪制幾何圖形、文本、路徑和圖片。

1)繪制幾何圖形。常見的幾何圖形包括點、線、弧、圓形、矩形等。在Android中,Canvas類提供了豐富的繪制幾何圖形的方法,通過這些方法,可以繪制出各種集合圖形。

2)繪制文本。在Android中可以通過TextView或圖片顯示文本。但是在開發(fā)RPG類游戲時,會包含很多文字,Canvas類提供了繪制文本的方法,主要由drawText()和drawPosText()方法。

3)繪制路徑。繪制一條路徑可以分為創(chuàng)建路徑和將定義好的路徑繪制在畫筆上兩部分。要創(chuàng)建路徑可以使用android.graphics.Path類來實現(xiàn)。Path類包含一組矢量繪圖方法。如畫圓、矩形、弧、線條等。而要將定義好的路徑繪制在畫布上,可以使用Canvas類提供的drawPath( )方法。

4)繪制圖片。繪制圖片可以使用Canvas類提供的方法drawBitmap( )將Bitmap對象中保存的圖片繪制到畫布上即可。

4 圖形特效

在Android中,不僅可以繪制圖形,還可以為圖形添加特效。如對圖形進行旋轉(zhuǎn)、縮放、傾斜、平移和渲染等。

4.1 圖像旋轉(zhuǎn)、縮放、傾斜和平移

Android提供的Android.graphics.Matrix類的setRotate()、postRotate()、preRotate()方法可以實現(xiàn)對圖像進行旋轉(zhuǎn)。這三個方法除了方法名不同外,語法格式等均相同。創(chuàng)建Matrix的對象并對其進行旋轉(zhuǎn)后,還需要應(yīng)用該Matrix對圖像或組件進行控制。在Canvas列中提供了一個drawBitmap()方法,可以在繪制圖形的同時應(yīng)用Matrix上的變化。對圖像的縮放、傾斜和平移技術(shù)和旋轉(zhuǎn)類似,只是使用的方法不同。如表1所示。

4.2 圖像渲染

在Android中,提供的BitmapShader類主要用來渲染圖像。比如可以將一張圖片裁剪成橢圓形或圓形等形狀并顯示到屏幕上。使用BitmapShader來渲染圖像的基本步驟如下:

1)創(chuàng)建BitmapShader類對象。

2)通過Paint的setShader()方法來設(shè)置渲染對象。

3)在繪制圖像時,使用已經(jīng)設(shè)置了setShader渲染圖像。

5 動畫

Android中動畫通??梢苑譃橹饚瑒赢?、補間動畫和屬性動畫三種。下面分別介紹這三種動畫的技術(shù)。

5.1 逐幀動畫(Drawable Animation)

逐幀動畫就是順序播放事先準(zhǔn)備好的靜態(tài)圖像,利用人眼的“視覺暫留”原理,給用戶造成動畫錯覺。實現(xiàn)逐幀動畫主要步驟:(1)在Android XML資源文件中定義一組用于生成動畫的圖片資源,必須以為根元素,以表示要輪換顯示的圖片,duration屬性表示各項顯示的時間。XML文件要放在/res/drawable/目錄下。(2)使用定義的動畫資源,通常情況下,可以將其作為組件的背景使用。

5.2 補間動畫(View Animation)

補間動畫主要是通過對場景里的對象不斷進行圖像變化來產(chǎn)生動畫效果。在實現(xiàn)補間動畫時,只需要定義動畫開始和結(jié)束的關(guān)鍵幀,其它過渡幀由系統(tǒng)自動計算并補齊。View animation只能應(yīng)用與View對象,而且只支持其一部分屬性。在Android中,提供了4種補間動畫:1)透明度漸變動畫(Alpha Animation):通過View組件透明度的變化來實現(xiàn)View的漸隱漸顯效果。它主要通過為動畫指定開始時的透明度、結(jié)束時的透明度以及持續(xù)時間來創(chuàng)建動畫。2)旋轉(zhuǎn)動畫(RotateAnimation):通過為動畫指定開始時、結(jié)束時的旋轉(zhuǎn)角度以及持續(xù)時間來創(chuàng)建動畫。在旋轉(zhuǎn)時,還可以通過指定抽心點來改變旋轉(zhuǎn)的中心。3)縮放動畫(ScaleAnimation):通過為動畫指定開始時的縮放系數(shù)、結(jié)束時的縮放系數(shù)以及持續(xù)時間來創(chuàng)建動畫。在縮放時,還可以通過指定軸心點坐標(biāo)來改變縮放的中心。4) 平移動畫(Translate Animation):通過為動畫指定開始時的位置、結(jié)束是的位置以及持續(xù)時間來創(chuàng)建動畫。

5.3 屬性動畫(Property Animation)

在View Animation中,改變的是View的繪制效果。真正的View的屬性保持不變,而在Property Animation中,改變的是對象的實際屬性。Property Animation不止可以應(yīng)用于View,還可以應(yīng)用與任何對象。Property Animation只是表示一個值在一段時間的改變,當(dāng)值改變時產(chǎn)生的行為由個人決定。

6 結(jié)束語

Android圖形圖像處理技術(shù)是從移動媒體圖形圖像技術(shù)發(fā)展出來的技術(shù)之一。隨著Android平臺越來越普及。梳理和綜述Android平臺的圖形圖像處理技術(shù),有利于我們對Android平臺的深入了解。

參考文獻:

[1] 明日科技.Android從入門到精通[M].北京:清華大學(xué)出版社,2012.

[2] 淺談計算機圖形學(xué)與圖形圖像處理技術(shù)[J].長春理工大學(xué)學(xué)報,2011(1).

[3] 計算機圖形圖像處理與平面設(shè)計[J].中國科技信息,2011(21).

[4] 計算機圖像處理的研究及應(yīng)用[J].信息與電腦:理論版,2011(11).

[5] 移動設(shè)備圖形技術(shù)的研究進展[J].計算機輔助設(shè)計與圖形學(xué)學(xué)報,2008(3).

猜你喜歡
動畫
Clifford hits the big screen
做個動畫給你看
動畫發(fā)展史
我的動畫夢
動畫批評融入動畫教育的思考
我是動畫迷
正宁县| 涿州市| 平邑县| 贡山| 乌海市| 凯里市| 谢通门县| 西贡区| 浦县| 喀喇| 涞水县| 丽水市| 太保市| 灵璧县| 丹阳市| 宁国市| 湖州市| 福州市| 海城市| 保德县| 吐鲁番市| 灯塔市| 房产| 岳阳县| 铜山县| 乌兰浩特市| 常熟市| 波密县| 沂南县| 丁青县| 涟水县| 毕节市| 河曲县| 周口市| 岑巩县| 恭城| 屏边| 惠来县| 江津市| 威海市| 苍南县|