- private void drapBitmapPostRotate(Canvas canvas) {
-
- Bitmap bmp2 = BitmapFactory.decodeResource(getResources(),
- R.drawable.e);
-
- Matrix matrix1 = new Matrix();
-
- matrix1.postScale(0.8f, 0.8f);
-
- matrix1.postRotate(45);
-
- Bitmap dstbmp1 = Bitmap.createBitmap(bmp2, 0, 0, bmp2.getWidth(),
- bmp2.getHeight(), matrix1, true);
-
- canvas.drawBitmap(dstbmp1, 130, 100, null);
- }
- private void drawBitmapPostScale(Canvas canvas) {
-
- Bitmap bmp1 = BitmapFactory.decodeResource(getResources(),
- R.drawable.e);
-
- Matrix matrix = new Matrix();
-
- matrix.postScale(0.5f, 0.5f);
-
- Bitmap dstbmp = Bitmap.createBitmap(bmp1, 0, 0, bmp1.getWidth(),
- bmp1.getHeight(), matrix, true);
-
- canvas.drawBitmap(dstbmp, 200, 0, null);
- }
matrix的变换应用到canvas上
@Override
protected void onDraw(Canvas canvas) {
super.onDraw(canvas);
canvas.drawColor(Color.BLUE);
mPaint.setColor(Color.RED);
canvas.drawRect(0, 0, 100, 100, mPaint);
canvas.save();
Matrix matrix = new Matrix();
matrix.setScale(2f, 2f);
canvas.concat(matrix);
canvas.drawRect(100, 100, 200, 200, mPaint);
canvas.restore();
canvas.drawRect(400, 400, 500, 500, mPaint);
}