Hello Android - Bitmap转换为黑白的灰度图和加圆角效果
2012-01-12 10:08
423 查看
/** * 处理图片的工具类. * */ public class ImageTools { /***//** * 图片去色,返回灰度图片 * @param bmpOriginal 传入的图片 * @return 去色后的图片 */ public static Bitmap toGrayscale(Bitmap bmpOriginal) { int width, height; height = bmpOriginal.getHeight(); width = bmpOriginal.getWidth(); Bitmap bmpGrayscale = Bitmap.createBitmap(width, height, Bitmap.Config.RGB_565); Canvas c = new Canvas(bmpGrayscale); Paint paint = new Paint(); ColorMatrix cm = new ColorMatrix(); cm.setSaturation(0); ColorMatrixColorFilter f = new ColorMatrixColorFilter(cm); paint.setColorFilter(f); c.drawBitmap(bmpOriginal, 0, 0, paint); return bmpGrayscale; } /***//** * 去色同时加圆角 * @param bmpOriginal 原图 * @param pixels 圆角弧度 * @return 修改后的图片 */ public static Bitmap toGrayscale(Bitmap bmpOriginal, int pixels) { return toRoundCorner(toGrayscale(bmpOriginal), pixels); } /***//** * 把图片变成圆角 * @param bitmap 需要修改的图片 * @param pixels 圆角的弧度 * @return 圆角图片 */ public static Bitmap toRoundCorner(Bitmap bitmap, int pixels) { 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); final float roundPx = pixels; 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; } /***//** * 使圆角功能支持BitampDrawable * @param bitmapDrawable * @param pixels * @return */ public static BitmapDrawable toRoundCorner(BitmapDrawable bitmapDrawable, int pixels) { Bitmap bitmap = bitmapDrawable.getBitmap(); bitmapDrawable = new BitmapDrawable(toRoundCorner(bitmap, pixels)); return bitmapDrawable; } }
相关文章推荐
- Android图片转换类 1. Bitmap去色,转换为黑白的灰度图, 2. Bitmap图片加圆角效果
- Android图片转换类 1. Bitmap去色,转换为黑白的灰度图, 2. Bitmap图片加圆角效果
- Android图片特效:黑白特效、圆角效果、高斯模糊
- [Android] bitmap/drawable/byte的转换和获取圆角/倒影图片
- Android Glide加载图片时转换为圆形、圆角、毛玻璃等图片效果
- Android图片特效:黑白特效、圆角效果、高斯模糊
- Android Glide加载图片时转换为圆形、圆角、毛玻璃等图片效果
- android 图片倒影 bitmap与drawable的转换 把图片处理成指定大小 图片圆角处理 dip转换成px
- [Android] bitmap/drawable/byte的转换和获取圆角/倒影图片
- Android Glide加载图片时转换为圆形、圆角、毛玻璃等图片效果
- Android Glide加载图片时转换为圆形、圆角、毛玻璃等图片效果
- Android Glide加载图片时转换为圆形、圆角、毛玻璃等图片效果
- android 获取资源文件 r.drawable中的图片转换为drawable、bitmap
- Android中View转换为Bitmap及getDrawingCache=null的解决方法
- android中对Bitmap图片设置任意角为圆角
- Android中View转换为Bitmap及getDrawingCache=null的解决方法
- Android实现ListView圆角效果
- Android中 Bitmap和Drawable相互转换的方法
- android中bitmap与字节流之间的相互转换
- Android实现Bitmap位图旋转效果