android實現(xiàn)圖片反轉(zhuǎn)效果
可能有些同學(xué)不明白,為啥要圖片反轉(zhuǎn)(不是旋轉(zhuǎn)哦),我們在游戲開發(fā)中,為了節(jié)省圖片資源(空間) 有可能會使用到圖片反轉(zhuǎn),例如,一個人物圖片,面向左,或右,如果不能實現(xiàn)圖片反轉(zhuǎn)的情況下,就需要兩張圖片了,廢話少說,看效果上代碼:

在上圖中,實際兩個人物使用的是一張圖片,只是針對一張圖片做了處理而已。
詳細(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 該類是針對圖形做一些效果的工具類
Matrix m=new Matrix();
m.setScale(-1,1);
m.postTranslate(image_bitmap.getWidth()*2,0); //向右平移兩個圖片寬度的位置
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實現(xiàn)圖片反轉(zhuǎn)的關(guān)鍵代碼,希望對大家的學(xué)習(xí)有所幫助。
- android編程實現(xiàn)系統(tǒng)圖片剪裁的方法
- android編程實現(xiàn)圖片庫的封裝方法
- Android編程單擊圖片實現(xiàn)切換效果的方法
- Android編程中圖片特效處理方法小結(jié)
- Android編程之圖片顏色處理方法
- Android編程學(xué)習(xí)之異步加載圖片的方法
- Android實現(xiàn)ListView異步加載圖片的方法
- Android開發(fā)從相機或相冊獲取圖片裁剪
- Android實現(xiàn)圖片反轉(zhuǎn)、翻轉(zhuǎn)、旋轉(zhuǎn)、放大和縮小
- Android編程實現(xiàn)圖片的瀏覽、縮放、拖動和自動居中效果
相關(guān)文章
正確在Flutter中添加webview實現(xiàn)詳解
這篇文章主要為大家介紹了正確在Flutter中添加webview實現(xiàn)詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-12-12
Android實現(xiàn)自動輪詢的RecycleView
這篇文章主要為大家詳細(xì)介紹了Android實現(xiàn)自動輪詢的RecycleView,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下2019-10-10
Android?Flutter實現(xiàn)精靈圖的使用詳解
在游戲開發(fā)中,精靈圖會將一個人物所有動作放置在一張圖片中,通過坐標(biāo)定位選取其中一張圖展示。本文就來教你如何使用精靈圖,感興趣的可以了解一下2022-08-08
詳解Flutter自定義應(yīng)用程序內(nèi)鍵盤的實現(xiàn)方法
本文將展示如何利用Flutter創(chuàng)建自定義鍵盤小部件,用于在自己的應(yīng)用程序中的Flutter TextField中輸入文本,感興趣的小伙伴可以了解一下2022-06-06

