重慶分公司,新征程啟航
為企業提供網站建設、域名注冊、服務器等服務
為企業提供網站建設、域名注冊、服務器等服務
怎么在Android應用中利用Bitmap實現一個位圖旋轉效果?針對這個問題,這篇文章詳細介紹了相對應的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。
創新互聯主要從事成都做網站、成都網站制作、網頁設計、企業做網站、公司建網站等業務。立足成都服務南明,十余年網站建設經驗,價格優惠、服務專業,歡迎來電咨詢建站服務:18980820575
位圖的旋轉也可以借助Matrix或者Canvas來實現。
通過postRotate方法設置旋轉角度,然后用createBitmap方法創建一個經過旋轉處理的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應用中利用Bitmap實現一個位圖旋轉效果問題的解答就分享到這里了,希望以上內容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關注創新互聯行業資訊頻道了解更多相關知識。