android實(shí)現(xiàn)圖片反轉(zhuǎn)效果
可能有些同學(xué)不明白,為啥要圖片反轉(zhuǎn)(不是旋轉(zhuǎn)哦),我們?cè)谟螒蜷_(kāi)發(fā)中,為了節(jié)省圖片資源(空間) 有可能會(huì)使用到圖片反轉(zhuǎn),例如,一個(gè)人物圖片,面向左,或右,如果不能實(shí)現(xiàn)圖片反轉(zhuǎn)的情況下,就需要兩張圖片了,廢話(huà)少說(shuō),看效果上代碼:
在上圖中,實(shí)際兩個(gè)人物使用的是一張圖片,只是針對(duì)一張圖片做了處理而已。
詳細(xì)代碼:
public class ImageSurfaceView extends SurfaceView implements SurfaceHolder.Callback{ public Bitmap image_bitmap; public ImageSurfaceView(Context context) { super(context); //添加回調(diào) SurfaceHolder holder=this.getHolder(); holder.addCallback(this); initBitmap(context); } public void initBitmap(Context context){ Resources r=context.getResources(); image_bitmap=BitmapFactory.decodeResource(r,R.drawable.ima); } //界面渲染 public void onDraw(Canvas canvas){ canvas.drawBitmap(image_bitmap,0,0, null); //輸出第一張圖片 //初始化Matrix 該類(lèi)是針對(duì)圖形做一些效果的工具類(lèi) Matrix m=new Matrix(); m.setScale(-1,1); m.postTranslate(image_bitmap.getWidth()*2,0); //向右平移兩個(gè)圖片寬度的位置 canvas.drawBitmap(image_bitmap, m, paint); //輸出第二張圖片 } @Override public void surfaceChanged(SurfaceHolder holder, int format, int width, int height) { } @Override public void surfaceCreated(SurfaceHolder holder) { Canvas canvas=holder.lockCanvas(); //調(diào)用渲染界面的方法 渲染出界面 onDraw(canvas); holder.unlockCanvasAndPost(canvas); } @Override public void surfaceDestroyed(SurfaceHolder holder) { // TODO Auto-generated method stub } }
以上就是android實(shí)現(xiàn)圖片反轉(zhuǎn)的關(guān)鍵代碼,希望對(duì)大家的學(xué)習(xí)有所幫助。
- android編程實(shí)現(xiàn)系統(tǒng)圖片剪裁的方法
- android編程實(shí)現(xiàn)圖片庫(kù)的封裝方法
- Android編程單擊圖片實(shí)現(xiàn)切換效果的方法
- Android編程中圖片特效處理方法小結(jié)
- Android編程之圖片顏色處理方法
- Android編程學(xué)習(xí)之異步加載圖片的方法
- Android實(shí)現(xiàn)ListView異步加載圖片的方法
- Android開(kāi)發(fā)從相機(jī)或相冊(cè)獲取圖片裁剪
- Android實(shí)現(xiàn)圖片反轉(zhuǎn)、翻轉(zhuǎn)、旋轉(zhuǎn)、放大和縮小
- Android編程實(shí)現(xiàn)圖片的瀏覽、縮放、拖動(dòng)和自動(dòng)居中效果
相關(guān)文章
正確在Flutter中添加webview實(shí)現(xiàn)詳解
這篇文章主要為大家介紹了正確在Flutter中添加webview實(shí)現(xiàn)詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-12-12Android實(shí)現(xiàn)自動(dòng)輪詢(xún)的RecycleView
這篇文章主要為大家詳細(xì)介紹了Android實(shí)現(xiàn)自動(dòng)輪詢(xún)的RecycleView,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-10-10MVVMLight項(xiàng)目的綁定及各種使用場(chǎng)景示例分析
這篇文章主要為大家介紹了MVVMLight項(xiàng)目中的綁定及綁定的各種使用場(chǎng)景示例源碼分析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步除夕快樂(lè)2022-01-01android app進(jìn)行代碼混淆實(shí)例詳解
本文主要節(jié)誒是android app進(jìn)行代碼混淆,這里整理了詳細(xì)的資料,及實(shí)現(xiàn)代碼,有興趣的小伙伴可以參考下2016-09-09flutter實(shí)現(xiàn)一個(gè)列表下拉抽屜的示例代碼
本文主要介紹了flutter實(shí)現(xiàn)一個(gè)列表下拉抽屜的示例代碼,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-02-02Android?Flutter實(shí)現(xiàn)精靈圖的使用詳解
在游戲開(kāi)發(fā)中,精靈圖會(huì)將一個(gè)人物所有動(dòng)作放置在一張圖片中,通過(guò)坐標(biāo)定位選取其中一張圖展示。本文就來(lái)教你如何使用精靈圖,感興趣的可以了解一下2022-08-08詳解Flutter自定義應(yīng)用程序內(nèi)鍵盤(pán)的實(shí)現(xiàn)方法
本文將展示如何利用Flutter創(chuàng)建自定義鍵盤(pán)小部件,用于在自己的應(yīng)用程序中的Flutter TextField中輸入文本,感興趣的小伙伴可以了解一下2022-06-06