Android 開發知識 Bitmap位圖的旋轉

package cn.talentsoft.bitmap; 
/**
 * 作者:泰藍特軟件
 * 網址:http://www.talentsoft.cn
 * 郵箱:1047109942@qq.com
 *  QQ :1047109942
 */ 
 
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; 
 
/**
 * www.aiwalls.com 圖形繪制類
 */ 
public class BitmapView extends View { 
 
    public BitmapView(Context context) { 
        super(context); 
    } 
 
    /**
     * 重寫基類View的onDraw方法
     */ 
    public void onDraw(Canvas canvas) { 
        // 獲取資源文件的引用res  
        Resources res=getResources(); 
        // 獲取圖形資源文件baby  
        Bitmap bmp=BitmapFactory.decodeResource(res, R.drawable.baby); 
        // 設置canvas畫佈背景為白色  
        canvas.drawColor(Color.BLACK); 
        // 在畫佈上繪制縮放之前的baby位圖,以做對比  
        canvas.drawBitmap(bmp, 10, 10, null); 
        // 定義矩陣對象  
        Matrix matrix=new Matrix(); 
        // 縮放原圖  
        matrix.postScale(1f, 1f); 
        // 向左旋轉45度,參數為正則向右旋轉  
        matrix.postRotate(-45); 
        Bitmap dstbmp=Bitmap.createBitmap(bmp,0,0,bmp.getWidth(), 
        bmp.getHeight(),matrix,true); 
        // 在畫佈上繪制旋轉後的baby位圖  
        canvas.drawBitmap(dstbmp, 120, 10, null); 
 
    } 
 

摘自 泰藍特軟件的專欄

發佈留言