matrix用完后,图片的位置如何判定? 图片没有旋转的时候,可以用利用图片的顶点坐标和图片的宽度、长度来判断当前触点是否在图片的范围内,但是当使用Matrix.setRotate()方法后,怎么来判断触点和图片的关系呢? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 看你绕哪个点旋转了!setRotate不是可以设置绕一个定点旋转么?一般都是默认绕中点!还有就是看你的旋转的角度了!你确定这两点就可以根据算法计算出触点与图片的关系了! final int widthOrig = bmp.getWidth(); final int heightOrig = bmp.getHeight(); ScaleAngle=ScaleAngle+90; if(ScaleAngle>360) { ScaleAngle=90; } int newWidth = widthOrig * ScaleTimes; int newHeight = heightOrig * ScaleTimes; float scaleWidth = ((float) newWidth) / widthOrig; float scaleHeight = ((float) newHeight) / heightOrig; Matrix matrix = new Matrix(); /* 使用Matrix.postScale设定维度 */ matrix.postScale(scaleWidth, scaleHeight); /* 使用Matrix.postRotate方法旋转Bitmap*/ //matrix.postRotate(5*ScaleAngle); // matrix.setRotate(5*ScaleAngle); matrix.setRotate(ScaleAngle); /* 建立新的Bitmap对象 */ Bitmap resizedBitmap = Bitmap.createBitmap(bmp, 0, 0, widthOrig, heightOrig, matrix, true); /**/ BitmapDrawable myNewBitmapDrawable = new BitmapDrawable(resizedBitmap); imgView.setImageDrawable(myNewBitmapDrawable); 这是旋转代码,默认围绕中间旋转的 旋转之后你再get一次imageview的current的长宽,再辨别一次看看。 【百分跪求大神,还可再加】关于android2.2内置存储和外置存储的问题,太灵异了 关于libjingle 求高手移植翻页效果 学习android,给我推荐一两本书,谢谢 安卓手机系统怎么更新? Android的生命还有多长? 关于类似QQ下拉更新消息的操作问题 机顶盒使用viewpager的问题 Android短信发送器为什么老是意外关闭!新手求教 Linux上使用xDroid中间件替换掉AVD viewgroup 如何与adapter一同使用。。 一个关于graphics的问题,求android jni高手指导
final int widthOrig = bmp.getWidth();
final int heightOrig = bmp.getHeight();
ScaleAngle=ScaleAngle+90;
if(ScaleAngle>360)
{
ScaleAngle=90;
}
int newWidth = widthOrig * ScaleTimes;
int newHeight = heightOrig * ScaleTimes;
float scaleWidth = ((float) newWidth) / widthOrig;
float scaleHeight = ((float) newHeight) / heightOrig;
Matrix matrix = new Matrix();
/* 使用Matrix.postScale设定维度 */
matrix.postScale(scaleWidth, scaleHeight);
/* 使用Matrix.postRotate方法旋转Bitmap*/
//matrix.postRotate(5*ScaleAngle);
// matrix.setRotate(5*ScaleAngle);
matrix.setRotate(ScaleAngle);
/* 建立新的Bitmap对象 */
Bitmap resizedBitmap =
Bitmap.createBitmap(bmp, 0, 0, widthOrig, heightOrig, matrix, true);
/**/
BitmapDrawable myNewBitmapDrawable =
new BitmapDrawable(resizedBitmap);
imgView.setImageDrawable(myNewBitmapDrawable); 这是旋转代码,默认围绕中间旋转的