Bitmap对角线进行旋转(右上左下):
public Bitmap convert(Bitmap mBitmap, int width, int height) {
int w = mBitmap.getWidth();
int h = mBitmap.getHeight();
Bitmap newBitmap = Bitmap.createBitmap(width, height, Config.ARGB_8888);
Canvas mCanvas = new Canvas(newBitmap);
Matrix matrix = new Matrix();
matrix.postScale(1, -1);
matrix.postRotate(-90);
Bitmap mBitmap2 = Bitmap.createBitmap(mBitmap, 0, 0, w, h, matrix, true);
mCanvas.drawBitmap(mBitmap2, new Rect(0, 0, mBitmap2.getWidth(), mBitmap2.getHeight()), new Rect(0, 0, width, height), null);
return newBitmap;
}
在Bitmap上画图:
public Bitmap drawRect(Bitmap bitmap) {
Paint paint = new Paint();
paint.setColor(Color.RED);
paint.setStyle(Style.STROKE);
Bitmap newBitmap = Bitmap.createBitmap(bitmap.getWidth(), bitmap.getHeight(), Config.ARGB_8888);
Canvas mCanvas = new Canvas(newBitmap);
mCanvas.drawBitmap(bitmap, 0, 0, null);
mCanvas.drawRect(0, 0, 20, 20, paint);
mCanvas.save(Canvas.ALL_SAVE_FLAG);
mCanvas.restore();
return newBitmap;
}