android圖像繪制(一)多種方法做圖像鏡像
更新時(shí)間:2013年01月17日 10:02:43 作者:
在android中做圖像鏡像有很多方法,今天算是學(xué)習(xí)了,感興趣的朋友可以參考下
在android中做圖像鏡像有很多方法,今天算是學(xué)習(xí)了!
兩種方法如下:
//方法一
Matrix matrix = new Matrix();
matrix.postScale(leftOrRight, 1, bmpW/2, bmpH/2);//前兩個(gè)是xy變換,后兩個(gè)是對(duì)稱(chēng)軸中心點(diǎn)
matrix.postTranslate(x, y);
canvas.drawBitmap(bmpLuffy[0], matrix, paint);
//方法二
// canvas.save();
// canvas.scale(-1, 1, x + bmpLuffy[0].getWidth() / 2, y + bmpLuffy[0].getHeight() / 2);
// canvas.drawBitmap(bmpLuffy[0], x, y, paint);
// canvas.restore();
方法一,使用矩陣的方式(3x3)矩陣:
1、先使用postScale的方式將圖片以點(diǎn)(bmpW/2,bmpH/2)為中心,以x=bmpW/2為對(duì)稱(chēng)軸翻轉(zhuǎn);
2、使用postTranslate,將圖片移到(x,y)坐標(biāo)
方法二,畫(huà)布翻轉(zhuǎn)(略)
注意如下問(wèn)題:
對(duì)于其中的bmpW和bmpH是指所用圖片的寬高,需要使用圖片bmp.getWidth()和bmp.getHeight()獲取,
不能使用PC上看到的大小,否則可能會(huì)出現(xiàn)錯(cuò)位!
-----------------------------------------------------------------------
如果對(duì)Matrix不是很了解的話,可以參考api文檔,或網(wǎng)絡(luò)文章
兩種方法如下:
復(fù)制代碼 代碼如下:
//方法一
Matrix matrix = new Matrix();
matrix.postScale(leftOrRight, 1, bmpW/2, bmpH/2);//前兩個(gè)是xy變換,后兩個(gè)是對(duì)稱(chēng)軸中心點(diǎn)
matrix.postTranslate(x, y);
canvas.drawBitmap(bmpLuffy[0], matrix, paint);
//方法二
// canvas.save();
// canvas.scale(-1, 1, x + bmpLuffy[0].getWidth() / 2, y + bmpLuffy[0].getHeight() / 2);
// canvas.drawBitmap(bmpLuffy[0], x, y, paint);
// canvas.restore();
方法一,使用矩陣的方式(3x3)矩陣:
1、先使用postScale的方式將圖片以點(diǎn)(bmpW/2,bmpH/2)為中心,以x=bmpW/2為對(duì)稱(chēng)軸翻轉(zhuǎn);
2、使用postTranslate,將圖片移到(x,y)坐標(biāo)
方法二,畫(huà)布翻轉(zhuǎn)(略)
注意如下問(wèn)題:
對(duì)于其中的bmpW和bmpH是指所用圖片的寬高,需要使用圖片bmp.getWidth()和bmp.getHeight()獲取,
不能使用PC上看到的大小,否則可能會(huì)出現(xiàn)錯(cuò)位!
-----------------------------------------------------------------------
如果對(duì)Matrix不是很了解的話,可以參考api文檔,或網(wǎng)絡(luò)文章
您可能感興趣的文章:
- Android使用API實(shí)現(xiàn)圖像扭曲效果示例
- Android圖像處理之繪制圓形、三角形及扇形的頭像
- android圖像繪制(七)ClipRect局部繪圖/切割原圖繪制總結(jié)
- android圖像繪制(六)獲取本地圖片或拍照?qǐng)D片等圖片資源
- android圖像繪制(五)畫(huà)布保存為指定格式/大小的圖片
- android圖像繪制(四)自定義一個(gè)SurfaceView控件
- android圖像繪制(三)畫(huà)布刷屏問(wèn)題記錄
- android圖像繪制(二)畫(huà)布上放大縮小問(wèn)題
- Android開(kāi)發(fā)筆記之:在ImageView上繪制圓環(huán)的實(shí)現(xiàn)方法
- Android編程繪制圓形圖片的方法
- Android編程實(shí)現(xiàn)扭曲圖像的繪制功能示例
相關(guān)文章
準(zhǔn)確測(cè)量 Android 應(yīng)用中 Activity 和 Fragmen
在 Android 應(yīng)用開(kāi)發(fā)中,了解每個(gè) Activity 和 Fragment 的啟動(dòng)時(shí)間對(duì)于性能優(yōu)化至關(guān)重要,本文將介紹幾種方法來(lái)準(zhǔn)確測(cè)量 Activity 和 Fragment 的啟動(dòng)時(shí)間,并提供實(shí)際操作步驟,以幫助提升應(yīng)用的響應(yīng)速度和用戶(hù)體驗(yàn),需要的朋友可以參考下2024-07-07
使用RecyclerView添加Header和Footer的方法
RecyclerView雖然作為L(zhǎng)istView的替代者有著較好的性能提升,但是ListView的一些常用功能卻沒(méi)有提供,比如我們平時(shí)會(huì)經(jīng)常用到的addHeaderView,addFooterView,既然RecyclerView沒(méi)有提供這個(gè)方法,我們應(yīng)該如何為列表添加頭部和底部呢,接下來(lái)通過(guò)本文給大家介紹2016-03-03
Android中RecyclerView嵌套滑動(dòng)沖突解決的代碼片段
這篇文章主要為大家詳細(xì)介紹了Android中RecyclerView嵌套滑動(dòng)沖突解決的代碼片段,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-12-12
Android中SeekBar拖動(dòng)條控件使用方法詳解
這篇文章主要介紹了Android中SeekBar拖動(dòng)條控件的使用方法,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-08-08
Android編程調(diào)用系統(tǒng)自帶的拍照功能并返回JPG文件示例【附demo源碼下載】
這篇文章主要介紹了Android編程調(diào)用系統(tǒng)自帶的拍照功能并返回JPG文件,結(jié)合實(shí)例形式分析了Android的拍照功能調(diào)用及圖形文件操作技巧,并附帶demo源碼供讀者下載參考,需要的朋友可以參考下2017-07-07
Android實(shí)現(xiàn)SwipeRefreshLayout首次進(jìn)入自動(dòng)刷新
這篇文章主要為大家詳細(xì)介紹了Android實(shí)現(xiàn)SwipeRefreshLayout首次進(jìn)入自動(dòng)刷新,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-01-01
Android AutoValue使用和擴(kuò)展庫(kù)
今天小編就為大家分享一篇關(guān)于Android AutoValue使用和擴(kuò)展庫(kù)的文章,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧2018-10-10

