九九热最新网址,777奇米四色米奇影院在线播放,国产精品18久久久久久久久久,中文有码视频,亚洲一区在线免费观看,国产91精品在线,婷婷丁香六月天

歡迎來到裝配圖網(wǎng)! | 幫助中心 裝配圖網(wǎng)zhuangpeitu.com!
裝配圖網(wǎng)
ImageVerifierCode 換一換
首頁 裝配圖網(wǎng) > 資源分類 > PPTX文檔下載  

《圖形圖像處理》PPT課件.pptx

  • 資源ID:20762832       資源大?。?span id="24d9guoke414" class="font-tahoma">818.07KB        全文頁數(shù):31頁
  • 資源格式: PPTX        下載積分:9.9積分
快捷下載 游客一鍵下載
會員登錄下載
微信登錄下載
三方登錄下載: 微信開放平臺登錄 支付寶登錄   QQ登錄   微博登錄  
二維碼
微信掃一掃登錄
下載資源需要9.9積分
郵箱/手機(jī):
溫馨提示:
用戶名和密碼都是您填寫的郵箱或者手機(jī)號,方便查詢和重復(fù)下載(系統(tǒng)自動生成)
支付方式: 支付寶    微信支付   
驗(yàn)證碼:   換一換

 
賬號:
密碼:
驗(yàn)證碼:   換一換
  忘記密碼?
    
友情提示
2、PDF文件下載后,可能會被瀏覽器默認(rèn)打開,此種情況可以點(diǎn)擊瀏覽器菜單,保存網(wǎng)頁到桌面,就可以正常下載了。
3、本站不支持迅雷下載,請使用電腦自帶的IE瀏覽器,或者360瀏覽器、谷歌瀏覽器下載即可。
4、本站資源下載后的文檔和圖紙-無水印,預(yù)覽文檔經(jīng)過壓縮,下載后原文更清晰。
5、試題試卷類文檔,如果標(biāo)題沒有明確說明有答案則都視為沒有答案,請知曉。

《圖形圖像處理》PPT課件.pptx

ANDROID課程講義-圖形圖像處理 View類開發(fā)框架q在View類框架中,任何自定義的View類都只需要重寫onDraw( )方法來進(jìn)行界面的顯示qonDraw( )方法不能被直接調(diào)用,想要重新加載界面通常有兩種方法,一種是在Handler中調(diào)用invalidate,另一種是直接在線程中調(diào)用postInvalidate( )qinvalidate( )不能直接在工作者線程中進(jìn)行調(diào)用,因?yàn)樗`背了單線程模型,而android的UI操作并不是線程安全的。而postInvalidate()可以在工作者線程中直接進(jìn)行調(diào)用圖形圖像開發(fā)基礎(chǔ) 圖形圖像開發(fā)基礎(chǔ) SurfaceView類開發(fā)框架qsurfaceView繼承自View類,它通過一個新線程來更新畫面。因此,SurfaceView更適合需要快速加載UI,或渲染代碼阻塞UI線程的時間過長的情形qSurfaceView封裝了一個Surface對象,而不是Canvas,這一點(diǎn)對于那些資源敏感的操作特別有用qSurfaceView一般通過使用SurfaceHolder類來控制Canvas在其surface上的操作,SurfaceHolder類可以通過getHolder( )來獲得 圖形圖像處理基礎(chǔ) SurfaceView類開發(fā)框架 SurfaceHolder中的幾個重要的方法lockCanvas( )方法用于鎖定畫布,這樣Surface中就可以指定畫布了,之后就可以在畫布上進(jìn)行繪畫unlockCanvasAndPost(Canvas canvas):用于釋放處于鎖定狀態(tài)的Canvas當(dāng)Surface的狀態(tài)發(fā)生改變時,可以通過SurfaceHolder.Callback來獲取這些信息 SurfaceHolder.Callback有三個重要的方法,surfaceChanged( )、surfaceCreated( )、surfaceDestroyed( )分別在Surface創(chuàng)建、改變、銷毀時被調(diào)用 GRAPHICS類開發(fā) Paint和Color類q畫筆Paint類包含如何繪制幾何形狀、文本和位圖的樣式及顏色信息qPaint文本繪制主要包括這些方面,如setColor( )、setTypeface( )、setTextSize( )等qPaint圖形圖像繪制主要通過setColor( )、setStyle( )等方法來設(shè)置 GRAPHICS類開發(fā) Paint和Color類q顏色被表示為封裝的數(shù)值,這個數(shù)值由四個字節(jié)組成,分別為alpha、red、green、blue,任何透明性只存儲在alpha部分。qColor類定義了一些方法來創(chuàng)建和轉(zhuǎn)換顏色值。如red( int color)、green(int color)、blue(int color)等方法可以獲取一個顏色常量值的紅綠藍(lán)分色,而HSVToColor( )、RGBToHSV( )等方法可以在不同顏色空間進(jìn)行顏色的轉(zhuǎn)換。 GRAPHICS類開發(fā) Canvas類介紹要實(shí)現(xiàn)一個吸引人的游戲,色彩艷麗的界面設(shè)計(jì)是必不可少的,這就需要Paint和Canvas配合實(shí)現(xiàn)設(shè)置Canvas屬性的常用方法drawColor( ):用來設(shè)置畫布背景色,體現(xiàn)在手機(jī)上就是手機(jī)屏幕背景色clipRect( ):設(shè)置裁剪區(qū)域,即設(shè)置顯示區(qū)域 rotate( ):旋轉(zhuǎn)畫布 GRAPHICS類開發(fā) Canvas類介紹 Canvas常用的繪制方法drawRect(Rect rect, Paint paint)用于繪制矩形區(qū)域drawBitmap(bitmap bitmap, Rect src, Rect dst, Paint paint)用于繪制位圖drawPoint(float x, float y, Paint paint)用于畫點(diǎn)drawLine(float startX, float startY, float stopX, float stopY, Paint paint)用于畫線 drawText(String text, float x, float y, Paint paint)用于在某個位置寫文本 GRAPHICS類開發(fā) 繪制圖像 Android中顯示圖像主要有兩步,第一步是獲取圖像資源,第二步調(diào)用畫布類的drawBitmap方法進(jìn)行圖像顯示。以SurfacView為框架在屏幕中央顯示一幅圖像如圖示 GRAPHICS類開發(fā) 圖像旋轉(zhuǎn)和縮放 android中對圖像的變換操作有平移、旋轉(zhuǎn)、縮放和傾斜四種,android內(nèi)的Matrix提供了這四種操作方法 Matrix在使用前必須通過reset( )或set( )被初始化。其中對應(yīng)每種操作都有三種接口setXXX, preXXX,postXXX,在調(diào)用這些操作時都可以指定操作中心 setXXX將使當(dāng)前操作覆蓋以前的操作,preXXX和postXXX都是順序疊加操作,區(qū)別在于preXXX是將新變換矩陣左乘原來的操作矩陣,而postXXX是將新變換矩陣右乘原來的操作矩陣 GRAPHICS類開發(fā) 圖像旋轉(zhuǎn)和縮放圖像旋轉(zhuǎn)和縮放效果如圖示 GRAPHICS類開發(fā) 圖像像素操作對圖像像素進(jìn)行操作主要包括兩個過程,第一步首先從圖像中獲取像素值,第二步對像素值進(jìn)行處理并保存 android中提供了兩套操作方法,這些方法都屬于Bitmap類,第一套方法針對單像素進(jìn)行操作,getPixel( )和setPixel( ),第二套為針對批量像素進(jìn)行操作, getPixels( )和setPixels( ) GRAPHICS類開發(fā) 圖像像素操作針對單像素的方法將彩色圖像變換為黑白圖像顯示出來效果如圖示 GRAPHICS類開發(fā) Shader類介紹 Shader類來對圖形圖像進(jìn)行渲染 Shader類包含了子類BitmapShader、LinearGradient、RadialGradient、SweepGradient以及ComposeShader BitmapShader主要用于渲染圖像,比如使圖像顯示在某種特定形狀邊界內(nèi) LinearGradient用來進(jìn)行線性梯度渲染,比如使繪制的幾何圖形產(chǎn)生一種線性過渡的色彩 RadialGradient用于進(jìn)行環(huán)形渲染,比如使圓產(chǎn)生環(huán)形顏色過渡 SweepGradient是掃描漸變,即圍繞一個中心點(diǎn)進(jìn)行掃描漸變,類似于雷達(dá)掃描的效果 ComposeShader是組合渲染,可以組合上面所述的任意兩種渲染效果 GRAPHICS類開發(fā) 雙緩沖技術(shù)在游戲開發(fā)中,當(dāng)一幅動畫在顯示的同時,假如程序又會修改它,這樣前面的畫面還沒有顯示完,程序又要求重新繪制,屏幕就會不停閃爍,為了避免閃爍,就必須使用雙緩沖技術(shù)雙緩沖原理是將要處理的圖片先在內(nèi)存中處理完后,再將其顯示到屏幕上,這樣顯示出來的就是一幅完整的圖像,不會出現(xiàn)閃爍的現(xiàn)象 android里實(shí)現(xiàn)就是在內(nèi)存中創(chuàng)建一個與原圖大小相同的模擬畫布,先將要處理的圖像畫在模擬畫布上,當(dāng)全部處理結(jié)束后,再將整幅圖顯示在真正的畫布上 GRAPHICS類開發(fā) 設(shè)置全屏和獲取屏幕屬性全屏顯示,就是將手機(jī)上面的電池、信號顯示所處的狀態(tài)欄以及顯示程序名稱的標(biāo)題欄隱藏起來 requestWindowsFeature(Window.FEATURE_NO_TITLE)可以實(shí)現(xiàn)隱藏標(biāo)題欄 getWindows.setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,WindowManager.LayoutParams.FLAG_FULLSCREEN)實(shí)現(xiàn)了狀態(tài)欄的隱藏 GRAPHICS類開發(fā) 設(shè)置全屏和獲取屏幕屬性 android通過DisplayMetrics類的getWindowManager().getDefaultDisplay().getMetrics()方法來獲取分辨率,用法如下DisplayMetrics dm = new DisplayMetrics() getWindowManager().getDefaultDisplay().getMetrics(dm) 動畫實(shí)現(xiàn) Frame動畫 Frame動畫是最常見的一種實(shí)現(xiàn)方法,android逐幀動畫通過android.graphics.drawable.AnimationDrawable類來實(shí)現(xiàn),在該類中保存了幀序列以及顯示的時間 android提供了一種通過XML來創(chuàng)建逐幀動畫的方式,動畫創(chuàng)建所用的XML文件的語法格式如下: XML文件通過animation-list來指定這是個AnimationDrawable動畫定義,里面的item來指定每幀圖片資源路徑,duration代表當(dāng)前幀顯示的時間,oneshot為true表示動畫只播放一次停止在最后一幀上,如果設(shè)置為false表示動畫循環(huán)播放。下面一個例子通過View顯示一個幀動畫 動畫實(shí)現(xiàn) Tween動畫 Tween動畫,即通過對場景里面的對象不斷做圖像變換(平移、縮放、旋轉(zhuǎn))來產(chǎn)生動畫效果,由此可見,實(shí)現(xiàn)Tween動畫只需要簡單的一幅圖像就可以了,因此對資源的占用是很少的可以以XML文件方式或者源代碼方式預(yù)先為Tween定義一組指令,這些指令指定了圖形變換的類型、觸發(fā)時間、持續(xù)時間等,程序沿著時間線執(zhí)行這些指令就可以實(shí)現(xiàn)動畫效果動畫的進(jìn)度使用Interpolator控制,android提供了幾個Interpolator子類 LinearInterpolator類可以實(shí)現(xiàn)勻速效果Accelerateinterpolator類可以實(shí)現(xiàn)加速效果DecelerateInterpolator類可以實(shí)現(xiàn)減速效果 動畫實(shí)現(xiàn) Tween動畫 Tween動畫的兩種運(yùn)行模式獨(dú)占模式,即程序主線程進(jìn)入一個循環(huán),根據(jù)動畫指令不斷刷新屏幕,直到動畫結(jié)束中斷模式,即有單獨(dú)一個線程對時間計(jì)數(shù),每隔一定的時間向主線程發(fā)通知,主線程接到通知后更新屏幕動畫播放過程中對圖形的變換通過仿射矩陣實(shí)現(xiàn),簡單來說就是,每種變換都是一次矩陣運(yùn)算在android中,Canvas類中包含當(dāng)前矩陣,當(dāng)調(diào)用Canvas.drawBitmap(bmp, x, y, Paint)進(jìn)行繪制時,android會先對bmp做一次矩陣運(yùn)算,然后將運(yùn)算結(jié)果顯示在Canvas上 通過不斷修改Canvas的矩陣并刷新屏幕,View內(nèi)的圖形就會不停的做變換,動畫就形成了 動畫實(shí)現(xiàn) Tween動畫 Tween動畫的核心模塊-Animation類及其子類它實(shí)現(xiàn)了各種動畫效果,如平移、縮放、旋轉(zhuǎn)、改變透明度等 Tween動畫的每一幀都根據(jù)Interpolator對圖形進(jìn)行一次變換 Animation是基類,包含了動畫的通用屬性和方法。主要的屬性包括動畫持續(xù)時間、重復(fù)次數(shù)、interpolator等動畫里最重要的方法是getTransformation( ),該方法根據(jù)當(dāng)前時間和interpolator,計(jì)算當(dāng)前的變換并返回之 TranslateAnimation、RotateAnimation、AlphaAnimation等是Animation的子類,分別實(shí)現(xiàn)了平移、旋轉(zhuǎn)、漸變等變換 動畫實(shí)現(xiàn) Tween動畫 Animation類及其子類繼承關(guān)系圖 動畫實(shí)現(xiàn) Tween動畫 Tween動畫Animation類及其子類每個Animation子類都重載了父類的applyTransformation方法,這個方法會被父類的getTransformation方法調(diào)用不同的變換具有不同的屬性,如RotateAnimation的屬性是起始角度、終止角度和旋轉(zhuǎn)點(diǎn)坐標(biāo),TranslateAnimation的屬性是起始位置和終止位置,而AlphaAnimation的屬性是起始alpha值和終止alpha值 動畫實(shí)現(xiàn) Tween動畫 Interpolator類及其子類繼承關(guān)系圖 動畫實(shí)現(xiàn) Tween動畫 Tween動畫Interpolator類及其子類 Interpolator類及其子類Interpolator定義了動畫的變化速度,可以實(shí)現(xiàn)勻速、正加速、負(fù)加速、無規(guī)則變加速等getInterpolation( )方法用于差值出一個時間線上的點(diǎn),用于計(jì)算圖形變換矩陣 LinearInerpolator、AccelerateInterpolator, DecelerateInterpolator,AccelerateDecelerateInterpolator,CycleInterpolator 是 Interpolator的子類,分別實(shí)現(xiàn)了勻速、加速、減速、變速、循環(huán)等效果 LinearInterpolator,變化率是常數(shù),即f(x)=x對于AccelerateDecelerateInterpolator,變化率開始和結(jié)束都很慢,但中間很快,即f(x)=(cos(x+1)*PI)/2.0f)+0.5f 動畫實(shí)現(xiàn) Tween動畫 Tween動畫Transformation類 Transformation類記錄了仿射矩陣,動畫每觸發(fā)一次,會對原來的矩陣做一次運(yùn)算,圖形的Bitmap與這個矩陣相乘就可以實(shí)現(xiàn)相應(yīng)的操作(旋轉(zhuǎn)、平移、縮放等) Transformation類有兩個重要的成員,一個是mMatrix,另一個是mAlpha 動畫實(shí)現(xiàn) Tween動畫 View中實(shí)現(xiàn)Tween動畫創(chuàng)建動畫對象,這里是打開一幅圖像,調(diào)用startAnimation( )啟動動畫,在此例中當(dāng)按上、下、左、右鍵時分別啟動漸變、伸縮、平移和旋轉(zhuǎn)動畫 startAnimation( )中調(diào)用了invalidate( ),從而觸發(fā)onDraw函數(shù) onDraw函數(shù)中的執(zhí)行過程 調(diào)用動畫的getTransformation方法,獲取根據(jù)當(dāng)前時間和Interpolator計(jì)算的矩陣將該矩陣設(shè)置為Canvas的當(dāng)前矩陣調(diào)用Canvas的drawBitmap方法繪制屏幕判斷getTransformation的返回值,若為true,則調(diào)用invalidate方法,刷新屏幕進(jìn)入下一幀,否則說明動畫播放結(jié)束 動畫實(shí)現(xiàn) Tween動畫 Tween動畫XML文件進(jìn)行控制實(shí)現(xiàn)在res下新建子目錄anim,然后在該子目錄下創(chuàng)建兩個XML文件如下 動畫實(shí)現(xiàn) Tween動畫自定義Animation子類Android內(nèi)提供的動畫接口畢竟有限,如果想實(shí)現(xiàn)特殊的動畫效果,則需要自定義Animation子類自定義子類只需要繼承基類并實(shí)現(xiàn)applyTransformation( )方法即可 動畫實(shí)現(xiàn) gif動畫播放由于差值生成各種中間變換的原因,通過Tween生成的動畫有時候在播放時并不流暢,而gif動畫的播放效果卻可以與flash的效果相媲美,如果在自己的游戲中添加一個gif動畫,則可以使自己的游戲程序更加吸引用戶 Android中提供了一個類:android.graphics.Movie可以用于播放gif,它的使用比較簡單使用openRawResource( )方法將gif資源打開,獲得輸入流 調(diào)用Movie的decodeStream( )方法對輸入流進(jìn)行解碼在onDraw函數(shù)中根據(jù)當(dāng)前時間確定應(yīng)該播放的幀。另外,在onDraw最后要調(diào)用invalidate(),否則只播放第一幀基于Movie對某些gif進(jìn)行播放時可能會出現(xiàn)花屏現(xiàn)象,如果對播放效果要求較高,則需要自己實(shí)現(xiàn)gif解碼程序

注意事項(xiàng)

本文(《圖形圖像處理》PPT課件.pptx)為本站會員(za****8)主動上傳,裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對上載內(nèi)容本身不做任何修改或編輯。 若此文所含內(nèi)容侵犯了您的版權(quán)或隱私,請立即通知裝配圖網(wǎng)(點(diǎn)擊聯(lián)系客服),我們立即給予刪除!

溫馨提示:如果因?yàn)榫W(wǎng)速或其他原因下載失敗請重新下載,重復(fù)下載不扣分。




關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號:ICP2024067431-1 川公網(wǎng)安備51140202000466號


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務(wù)平臺,本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請立即通知裝配圖網(wǎng),我們立即給予刪除!