WEB开发网
开发学院手机开发Android 开发 Android Bitmap 和 Canvas 阅读

Android Bitmap 和 Canvas

 2010-03-19 07:16:00 来源:WEB开发网   
核心提示:canvas.drawBitmap(dstbmp, 10, 10, null); 5. 位图旋转同样,位图的旋转也可以借助Matrix或者Canvas来实现,Android Bitmap 和 Canvas(3),Bitmap bmp = BitmapFactory.decodeResource(getResources

canvas.drawBitmap(dstbmp, 10, 10, null); 5. 位图旋转

同样,位图的旋转也可以借助Matrix或者Canvas来实现。

Bitmap bmp = BitmapFactory.decodeResource(getResources(), R.drawable.pic180);

Matrix matrix=new Matrix();

matrix.postScale(0.8f, 0.8f);

matrix.postRotate(45);

Bitmap dstbmp=Bitmap.createBitmap(bmp,0,0,bmp.getWidth(),

bmp.getHeight(),matrix,true);

canvas.drawColor(Color.BLACK);

canvas.drawBitmap(dstbmp, 10, 10, null); 旋转效果:

6.图片水印的生成方法

生成水印的过程。其实分为三个环节:第一,载入原始图片;第二,载入水印图片;第三,保存新的图片。

/**

* create the bitmap from a byte array

*

* @param src the bitmap object you want proecss

* @param watermark the water mark above the src

* @return return a bitmap object ,if paramter's length is 0,return null

*/

private Bitmap createBitmap( Bitmap src, Bitmap watermark )

{

String tag = "createBitmap";

Log.d( tag, "create a new bitmap" );

if( src == null )

{

return null;

}

int w = src.getWidth();

int h = src.getHeight();

int ww = watermark.getWidth();

int wh = watermark.getHeight();

//create the new blank bitmap

Bitmap newb = Bitmap.createBitmap( w, h, Config.ARGB_8888 );//创建一个新的和SRC长度宽度一样的位图

Canvas cv = new Canvas( newb );

//draw src into

cv.drawBitmap( src, 0, 0, null );//在 0,0坐标开始画入src

//draw watermark into

cv.drawBitmap( watermark, w - ww + 5, h - wh + 5, null );//在src的右下角画入水印

//save all clip

cv.save( Canvas.ALL_SAVE_FLAG );//保存

//store

cv.restore();//存储

return newb;

}

上一页  1 2 3 4  下一页

Tags:Android Bitmap Canvas

编辑录入:coldstar [复制链接] [打 印]
赞助商链接