旋转图像而不会丢失分辨率

时间:2013-04-12 12:07:56

标签: android bitmap rotation

我在旋转图像位图时遇到问题。当我旋转图像时,它会失去分辨率。我想每次用户点击Button.Code on button点击时旋转图像:

matrix.postRotate(90);

bitmap = Bitmap.createBitmap(bitmap_rotate, 0, 0, bitmap_rotate.getwidth(),bitmap_rotate.getHeight(),matrix, true);
d_reflect = new BitmapDrawable(bitmap);

image_view.removeAllViews();
image_view.setBackgroundDrawable(d_reflect);

其中image_view是LinearLayout,我想设置旋转LinearLayout.It每次旋转图像时都会丢失它的分辨率。我的原始位图大小是300x300。我已经搜索了大量的搜索解决方案,但它们都没有为我工作。 任何解决方案将不胜感激。谢谢。

2 个答案:

答案 0 :(得分:1)

以下是在图像视图内平滑旋转图像而不创建额外位图的代码。

Matrix m = new Matrix();
m.setRotate(degrees);
image_view.setImageMatrix(m);

答案 1 :(得分:0)

创建具有所需宽度和高度的缩放位图:

Bitmap bmp = Bitmap.createScaledBitmap(bitmap_rotate, 300, 300, false);