static Drawable zoomDrawable(Drawable drawable, int w, int h)
{
int width = drawable.getIntrinsicWidth();
int height= drawable.getIntrinsicHeight();
Bitmap oldbmp = drawableToBitmap(drawable); // drawable转换成bitmap
Matrix matrix = new Matrix(); // 创建操作图片用的Matrix对象
float scaleWidth = ((float)w / width); // 计算缩放比例
float scaleHeight = ((float)h / height);
matrix.postScale(scaleWidth, scaleHeight); // 设置缩放比例
Bitmap newbmp = Bitmap.createBitmap(oldbmp, 0, 0, width, height, matrix, true); // 建立新的bitmap,其内容是对原bitmap的缩放后的图
return new BitmapDrawable(newbmp); // 把bitmap转换成drawable并返回
}
static Bitmap drawableToBitmap(Drawable drawable) // drawable 转换成bitmap
{
int width = drawable.getIntrinsicWidth(); // 取drawable的长宽
int height = drawable.getIntrinsicHeight();
Bitmap.Config config = drawable.getOpacity() != PixelFormat.OPAQUE ? Bitmap.Config.ARGB_8888:Bitmap.Config.RGB_565; // 取drawable的颜色格式
Bitmap bitmap = Bitmap.createBitmap(width, height, config); // 建立对应bitmap
Canvas canvas = new Canvas(bitmap); // 建立对应bitmap的画布
drawable.setBounds(0, 0, width, height);
drawable.draw(canvas); // 把drawable内容画到画布中
return bitmap;
}
}
android图片自适应缩放 android缩小图片
转载本文章为转载内容,我们尊重原作者对文章享有的著作权。如有内容错误或侵权问题,欢迎原作者联系我们进行内容更正或删除文章。
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
android 图片放大缩小 多点缩放
缩放的代码贴上来,因为实在讨厌网上普遍流传的那种“替换imageiew的方法”。主要代码如下[java] view plaincopyprint?import android.app.Activ
android layout matrix encoding html -
Android ImageView图片自适应android 宽高 缩放 居中显示 xml
-
python生成pc客户端
怎样把Python嵌入Windows应用中[文] Edward K [编译] FreeC下面文件名中出现的'##'是被缩写的版本号.举例来说,Python 2.1.1,##将会被21替换.在Windows应用中嵌入Python脚本解释器的方法可以汇总如下:1.不要直接把Python建立在你的.exe文
python生成pc客户端 python怎么生成应用程序错误 Python SWIG Windows