在Android上的Canvas上缩放和旋转图像

时间:2011-01-20 09:41:01

标签: android

如何在Android上的Canvas上缩放和旋转图像?

3 个答案:

答案 0 :(得分:1)

This might帮助您做您想做的事。

答案 1 :(得分:0)

要在Android Canvas上绘制缩放和旋转的图像,您需要以下内容:

Bitmap bitmap = BitmapFactory.decodeResource(
    getResources(), R.drawable.myimg );

Matrix matrix = new Matrix();
matrix.setRotate( 90.0f );     // Degrees
matrix.preScale( 1.5f, 1.5f ); // 1.0f would be no scaling

Canvas canvas = surfaceHolder.lockCanvas();

canvas.drawBitmap( bitmap, matrix, paint );

surfaceHolder.unlockCanvasAndPost( canvas );

或者,为了保留缩放和旋转的位图供以后使用,请创建如下:

Bitmap newBitmap = Bitmap.createBitmap(
    oldBitmap, 0, 0, oldBitmap.getWidth(),
    oldBitmap.getHeight(), matrix, true );

更多详情:Canvas.drawBitmapMatrixBitmap.createBitmap

此处的教程:Canvas and Drawables

答案 2 :(得分:-1)

您可以在开发者网站上使用示例代码。特别是api demo将帮助您解决此主题。