图片的缩放:

/*** * scaling the image *  * @param bitMap *            source image resources *  * @param newWidth *            new width of the image *  * @param newHeight *            new height of the image *  * @return return the image after scaling .if the input bitmap is null,return null; */ public static Bitmap zoomImage(Bitmap bitMap, int newWidth, int newHeight) { // File file = new File("");// Bitmap b = Bif (bitMap == null) {return null;}// 获取这个图片的宽和高int width = bitMap.getWidth();int height = bitMap.getHeight();// 创建操作图片用的matrix对象Matrix matrix = new Matrix();// 计算缩放率,新尺寸除原始尺寸float scaleWidth = ((float) newWidth) / width;float scaleHeight = ((float) newHeight) / height;// 新尺寸大于原始尺寸则不缩放if (scaleWidth > 1.0f || scaleHeight > 1.0f) {return bitMap;}// 缩放图片动作matrix.postScale(scaleWidth, scaleHeight);Bitmap bitmap = Bitmap.createBitmap(bitMap, 0, 0, width, height, matrix, true);return bitmap; }

图片圆角:

/** * get the round corner of image *  * @param bitmap * @return */public static Bitmap getRoundedCornerBitmap(Bitmap bitmap, float roundPx) {if (bitmap == null) {return null;}Bitmap output = Bitmap.createBitmap(bitmap.getWidth(), bitmap.getHeight(), Config.ARGB_8888);Canvas canvas = new Canvas(output); final int color = 0xff424242;final Paint paint = new Paint();final Rect rect = new Rect(0, 0, bitmap.getWidth(), bitmap.getHeight());final RectF rectF = new RectF(rect); paint.setAntiAlias(true);canvas.drawARGB(0, 0, 0, 0);paint.setColor(color);canvas.drawRoundRect(rectF, roundPx, roundPx, paint); paint.setXfermode(new PorterDuffXfermode(Mode.SRC_IN));canvas.drawBitmap(bitmap, rect, rect, paint); return output;}获取带阴影的图片public static Bitmap getShadowBitmap(Bitmap bitmap,int shadow,int bgColor){if(bitmap==null)return null;int width = bitmap.getWidth()+shadow*2;int height = bitmap.getHeight()+shadow*2;int dx = shadow/2;int dy = 2*shadow/3;Bitmap output = Bitmap.createBitmap(width+5, height+5, Config.ARGB_8888);Canvas canvas = new Canvas(output);Paint paint = new Paint();Rect rect = new Rect(shadow-dx, shadow-dy, width-shadow-dx, height-shadow-dy);RectF rectF = new RectF(rect); paint.setAntiAlias(true);paint.setColor(bgColor);canvas.drawColor(bgColor);paint.setXfermode(new PorterDuffXfermode(Mode.SRC_IN));// 设定阴影(柔边, X 轴位移, Y 轴位移, 阴影颜色)  paint.setShadowLayer(shadow, dx, dy, Color.argb(0xff, 0xdd, 0xdd, 0xdd));canvas.drawRoundRect(rectF, 0, 0, paint);canvas.drawBitmap(bitmap, shadow-dx, shadow-dy, paint); return output;}

转载自: http://my.eoe.cn/yaming/archive/404.html

更多相关文章

  1. Android实现Bitmap高斯模糊效果
  2. android中的基本控件
  3. drawable类型
  4. Android(安卓)支持多屏幕机制
  5. Android的UI组件之TextView、EditText
  6. Android(安卓)应用开发笔记 - 图片视图(ImageView)
  7. android SDK系统图片资源的路径。
  8. Android(安卓)设置图片倒影效果
  9. android设置背景图片透明

随机推荐

  1. 解决ADT中新建Android工程出现多个appcom
  2. android View中如何判断长按事件
  3. Android中由文件名获取文件Id的两种方法
  4. android Paint 渐变色
  5. Android添加依赖出现This support librar
  6. Android(安卓)软键盘自动弹出与关闭实例
  7. Android(安卓)-- Autosizing TextView 自
  8. Android绘制(二):来用Path绘出想要的图形
  9. Android(安卓)调用 startActivityForResu
  10. Android在程序中捕捉HOME键的方法