国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統 > Android > 正文

Android實現Bitmap位圖旋轉效果

2019-12-12 03:04:41
字體:
來源:轉載
供稿:網友

位圖的旋轉也可以借助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);  } } 

 源代碼下載:點擊打開鏈接

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持武林網。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 辛集市| 伊金霍洛旗| 龙州县| 南丰县| 马关县| 淮南市| 洛南县| 朝阳市| 霍山县| 大埔县| 西乌珠穆沁旗| 顺义区| 托里县| 旌德县| 凤山市| 玛曲县| 绥中县| 黔西| 西乡县| 上蔡县| 五常市| 揭东县| 乌兰察布市| 滦南县| 凤凰县| 珠海市| 息烽县| 台北县| 武安市| 西安市| 且末县| 伊宁市| 开江县| 留坝县| 巫山县| 嵊州市| 荣成市| 鲁甸县| 星座| 应城市| 安顺市|