private Drawable zoomDrawable(Drawable drawable, int w, int h) { int width = drawable.getIntrinsicWidth(); int height= drawable.getIntrinsicHeight(); // drawable转换成bitmap Bitmap oldbmp = drawableToBitmap(drawable); // 创建操作图片用的Matrix对象 Matrix matrix = new Matrix(); // 计算缩放比例 float scaleWidth = ((float)w / width); float scaleHeight = ((float)h / height); // 设置缩放比例 matrix.postScale(scaleWidth, scaleHeight); // 建立新的bitmap,其内容是对原bitmap的缩放后的图 Bitmap newbmp = Bitmap.createBitmap(oldbmp, 0, 0, width, height, matrix, true); // 把bitmap转换成drawable并返回 return new BitmapDrawable(newbmp); } /* drawable 转换成bitmap */ private Bitmap drawableToBitmap(Drawable drawable) { int width = drawable.getIntrinsicWidth(); int height = drawable.getIntrinsicHeight(); // 取drawable的颜色格式 Bitmap.Config config = drawable.getOpacity() != PixelFormat.OPAQUE ? Bitmap.Config.ARGB_8888 : Bitmap.Config.RGB_565; // 建立对应bitmap Bitmap bitmap = Bitmap.createBitmap(width, height, config); // 建立对应bitmap的画布 Canvas canvas = new Canvas(bitmap); drawable.setBounds(0, 0, width, height); // 把drawable内容画到画布中 drawable.draw(canvas); return bitmap; }

//此方法来自网络

更多相关文章

  1. Android自定义view四手势缩放移动的ImageView
  2. Android 图片手势缩放自定义View
  3. Android实现对imageview的拖动以及缩放
  4. android:动态缩放和旋转图像
  5. Android中几种图像特效处理的小技巧,比如圆角,倒影,还有就是图片
  6. 安卓按比例布局,layout_weight用法
  7. Android 图片缩放-Matrix

随机推荐

  1. PE装到移动硬盘的资料找到方法
  2. VMware网络配置以及找不到VMnet8网络问题
  3. 我们汇总网站制作中遇到的常见问题,让您
  4. PHP 计算二维数组某一列倒数三十条的和
  5. ERP系统是如何提高生产效率的?
  6. JS 字面量的简化,推荐使用
  7. 参数过多的压缩例子
  8. docker 安装 oracle
  9. 使用PS软件将图片背景变成透明
  10. Mysql触发器