Android實現Bitmap位圖旋轉效果
更新時間:2017年04月17日 10:56:41 作者:brave-sailor
這篇文章主要為大家詳細介紹了Android實現Bitmap位圖旋轉效果,具有一定的參考價值,感興趣的小伙伴們可以參考一下
位圖的旋轉也可以借助Matrix或者Canvas來實現。
通過postRotate方法設置旋轉角度,然后用createBitmap方法創(chuàng)建一個經過旋轉處理的Bitmap對象,最后用drawBitmap方法繪制到屏幕上,于是就實現了旋轉操作。
下面例子中把原位圖和經旋轉處理的位圖都繪制到屏幕上,目的是做一個對比。
package xiaosi.bitmap; import android.app.Activity; import android.os.Bundle; public class mianActivity extends Activity { private BitmapView bitmapView = null; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); bitmapView = new BitmapView(this); setContentView(bitmapView); } }
BitmapView.Java
package xiaosi.bitmap; import android.content.Context; import android.content.res.Resources; import android.graphics.Bitmap; import android.graphics.BitmapFactory; import android.graphics.Canvas; import android.graphics.Color; import android.graphics.Matrix; import android.view.View; public class BitmapView extends View { public BitmapView(Context context) { super(context); } //重寫onDraw方法 public void onDraw(Canvas canvas) { // 獲取資源文件的引用res Resources res = getResources(); // 獲取圖形資源文件 Bitmap bmp = BitmapFactory.decodeResource(res, R.drawable.h); // 設置canvas畫布背景為白色 canvas.drawColor(Color.BLACK); // 在畫布上繪制縮放之前的位圖,以做對比 //屏幕上的位置坐標是0,0 canvas.drawBitmap(bmp, 0, 0, null); // 定義矩陣對象 Matrix matrix = new Matrix(); // 縮放原圖 matrix.postScale(1f, 1f); // 向左旋轉45度,參數為正則向右旋轉 matrix.postRotate(-45); //bmp.getWidth(), 500分別表示重繪后的位圖寬高 Bitmap dstbmp = Bitmap.createBitmap(bmp, 0, 0, bmp.getWidth(), 500, matrix, true); // 在畫布上繪制旋轉后的位圖 //放在坐標為0,200的位置 canvas.drawBitmap(dstbmp, 0, 200, null); } }
源代碼下載:點擊打開鏈接
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關文章
Android MVP BaseFragment 通用式封裝的實現
這篇文章主要介紹了Android MVP BaseFragment 通用式封裝的實現,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2019-08-08Android開發(fā)中實現發(fā)送短信的小程序示例
這篇文章主要介紹了Android開發(fā)中實現發(fā)送短信的小程序示例,文中還附帶了一個監(jiān)聽廣播接收者的升級版短信發(fā)送例子,需要的朋友可以參考下2016-04-04SurfaceView開發(fā)[捉小豬]手機游戲 (一)
這篇文章主要介紹了用SurfaceView開發(fā)[捉小豬]手機游戲 (一)本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2021-08-08