public static Bitmap rotate(Bitmap b, int degrees) {
if (degrees != 0 && b != null) {
Matrix m = new Matrix();
m.setRotate(degrees,
(float) b.getWidth() / 2, (float) b.getHeight() / 2);
try {
Bitmap b2 = Bitmap.createBitmap(
b, 0, 0, b.getWidth(), b.getHeight(), m, true);
if (b != b2) {
b.recycle(); //Bitmap操作完应该显示的释放
b = b2;
}
} catch (OutOfMemoryError ex) {
// 如何出现了内存不足异常,最好return 原始的bitmap对象。.
}
}
return b;
}
这个是在网上看到的,觉得出来的不是很好。有待改进。后面改了再更新。