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简单程序-拼板
  2. Android实现对imageview的拖动以及缩放
  3. Android自定义view四手势缩放移动的ImageView
  4. Android(安卓)--- 图片的特效处理
  5. android drawable setBounds()
  6. Android(安卓)--- 图片的特效处理
  7. Android通过手势实现的缩放处理
  8. Android(安卓)bitmap的压缩方式总结
  9. Android(安卓)图片手势缩放自定义View

随机推荐

  1. android 游戏开发入门
  2. android 向数据库写入图片信息 读取图片
  3. Android 在TextView中加入多个点击文本区
  4. Android Java 中Thread与Runnable的区别
  5. 【安卓】关于 Android 默认字体以及对比
  6. Android(安卓)service 实现过程
  7. Android界面编程——Android高级UI组件(三
  8. Eclipse编译Anroid引用程序的出错处理
  9. Android(安卓)Studio中常用设置与快捷键
  10. Android 开发技术周报 Issue#299