編輯:關於Android編程
可能有些同學不明白,為啥要圖片反轉(不是旋轉哦),我們在游戲開發中,為了節省圖片資源(空間) 有可能會使用到圖片反轉,例如,一個人物圖片,面向左,或右,如果不能實現圖片反轉的情況下,就需要兩張圖片了,廢話少說,看效果上代碼:
在上圖中,實際兩個人物使用的是一張圖片,只是針對一張圖片做了處理而已。
詳細代碼:
public class ImageSurfaceView extends SurfaceView implements SurfaceHolder.Callback{ public Bitmap image_bitmap; public ImageSurfaceView(Context context) { super(context); //添加回調 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(); //調用渲染界面的方法 渲染出界面 onDraw(canvas); holder.unlockCanvasAndPost(canvas); } @Override public void surfaceDestroyed(SurfaceHolder holder) { // TODO Auto-generated method stub } }
以上就是android實現圖片反轉的關鍵代碼,希望對大家的學習有所幫助。
啟動界面的效果圖: 實現的原理:在一個線程中讓幾幅圖片進行循環顯示,實現了動畫的效果。 主要的實現類LoadingView是自定義控件,繼承了ImageView,實現了R
(一).前言:今天我們的項目繼續更新,今天我們主要講解MVP開發模式以及具體實例。 (二).簡介:MVP(Model ViewPrese
我們來講一下自定義組合控件,相信大家也接觸過自定義組合控件吧,話不多說,直接干(哈~哈~):大家看到這個覺得這不是很簡單的嗎,這不就是寫個布局文件就搞定嘛,沒錯,確實直接
ListView允許用戶通過手指上下滑動的方式將屏幕外的數據滾動到屏幕內,同時屏幕上原有的數據則會滾動出屏幕.1. ListView的簡單用法首先新建一個ListView