我在网上找了代码,确实能够实现ImageView的选在,代码也很简单。
bitmap = BitmapFactory.decodeResource(this.getResources(),R.drawable.news);
将一张图片转换为bitmap图片之后,
Matrix m = new Matrix();
m.setRotate(40);
int width = bitmap.getWidth();
int height = bitmap.getHeight();
Bitmap b = Bitmap.createBitmap(bitmap,0,0,width,height,m,true);
image.setImageBitmap(b);
这样就可以做到旋转了,
但是我的ImageView和这个有一点区别,我的图片是另外一个控件传递过来的Bitmap,所以我的图片旋转也就可以省略第一行代码,也就是并不需要将一个资源图片转换为Bitmap。
但是旋转效果却实现不了,点击旋转的话ImageView里面的Bitmap图片就会变形,而且ImageView没有旋转,请问下有解决办法吗?
------解决思路----------------------
bitmap的图片问题?请用.9.png
------解决思路----------------------
Bitmap可以旋转的,ImageView重新加载一次就行了:
/**
* 旋转图片
*
* @param bitmap
* 源图片
* @param angle
* 旋转角度(90为顺时针旋转,-90为逆时针旋转)
* @return Bitmap
*/
public Bitmap rotate(Bitmap bitmap, float angle) {
Matrix matrix = new Matrix();
matrix.postRotate(angle);
return Bitmap.createBitmap(bitmap, 0, 0, bitmap.getWidth(), bitmap.getHeight(), matrix, true);
}
------解决思路----------------------
楼上正解。帮顶一下。
------解决思路----------------------
好久没上,看看还能回复吗,楼主别见怪啊。
------解决思路----------------------
matrix 本来就是旋转Bitmap,ImageView的形态只能是矩形,不可能跟着Bitmap变形的,把ImageView的背景设置成透明应该就看不出问题了吧。。 如果怕图片超出Imageview边界被遮挡,就把ImageView设成全屏的或者适应图片边界
------解决思路----------------------
楼上正解,你是将图片旋转了,而不是旋转了imageview,如果想旋转imageview,可以baidu下,有解决方案
------解决思路----------------------
获取background图片的bitmap来旋转吧!