图片的圆角和颜色处理

来源:互联网 发布:只有我知手机在线 编辑:程序博客网 时间:2024/05/16 06:56

忘了转载自哪里,从以前的文档里找出来的,原作者看到莫怪莫怪

图片本身加上圆角

Bitmap myCoolBitmap = ... ; // <-- Your bitmap you want rounded int w = myCoolBitmap.getWidth(), h = myCoolBitmap.getHeight(); Bitmap rounder = Bitmap.createBitmap(w,h,Bitmap.Config.ARGB_8888); Canvas canvas = new Canvas(rounder);   Paint xferPaint = new Paint(Paint.ANTI_ALIAS_FLAG); xferPaint.setColor(Color.RED); canvas.drawRoundRect(new RectF(0,0,w,h), 20.0f, 20.0f, xferPaint); xferPaint.setXfermode(new PorterDuffXfermode(PorterDuff.Mode.DST_IN)); canvas.drawBitmap(myCoolBitmap, 0,0, null); canvas.drawBitmap(rounder, 0, 0, xferPaint); 或者public static Bitmap getRoundedCornerBitmap(Bitmap bitmap) {    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 = 12;    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;}

将彩色图转换为灰度图 

/**          * 将彩色图转换为灰度图          * @param img 位图          * <a href="\"http://www.eoeandroid.com/home.php?mod=space&uid=7300\"" target="\"_blank\"">@return</a>  返回转换好的位图          */        public Bitmap convertGreyImg(Bitmap img) {           int width = img.getWidth();      //获取位图的宽           int height = img.getHeight();    //获取位图的高                        int []pixels = new int[width * height];  //通过位图的大小创建像素点数组                        img.getPixels(pixels, 0, width, 0, 0, width, height);           int alpha = 0xFF << 24;              for(int i = 0; i < height; i++)  {             for(int j = 0; j < width; j++) {               int grey = pixels[width * i + j];                                int red = ((grey    & 0x00FF0000 ) >> 16);               int green = ((grey & 0x0000FF00) >> 8);               int blue = (grey & 0x000000FF);                                grey = (int)((float) red * 0.3 + (float)green * 0.59 + (float)blue * 0.11);               grey = alpha | (grey << 16) | (grey << 8) | grey;               pixels[width * i + j] = grey;             }           }           Bitmap result = Bitmap.createBitmap(width, height, Config.RGB_565);           result.setPixels(pixels, 0, width, 0, 0, width, height);           return result;         } 
记录一下,方便自己查阅




原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 门里面被锁了怎么办 被锁在门里怎么办 门锁住了没钥匙怎么办 车被别人锁住了怎么办 汽车轱辘被锁了怎么办 小车轮胎被锁了怎么办 国防光缆无明显标识被挖断怎么办 临工210挖掘机柴油进气怎么办 汽车抛光蜡干了怎么办 洗碗铁丝球吃了怎么办 牙套铁丝吃肚子怎么办 小铁丝吃到肚子怎么办 绿色抛光膏干了怎么办 不锈钢被盐酸弄黑了怎么办 不锈钢被草酸洗了怎么办 不锈钢洗菜盆被草酸腐蚀了怎么办 汽油发电机加了柴油怎么办 装载机发动机加入齿轮油怎么办 印尼的FromE错了怎么办 寄快递被弄坏了怎么办 福田口岸手表被扣怎么办? 网页显示与服务器连接失败怎么办 唯品会中发货无法清关怎么办 国际快递被海关扣了怎么办 我想开一家物流公司手续怎么办? 物流公司把我的货弄丢了怎么办 物流公司压司机工资怎么办 立元增压泵不出水怎么办 高浊度pac不沉怎么办 集水池中沉积大量污泥怎么办 电脑qq截图不好使怎么办 捡了个手机需要指纹怎么办 手机锁屏锁住了怎么办 三星屏锁忘记了怎么办 文字下面有蓝色直线怎么办 苹果x不能截屏了怎么办 u盘在电脑上打不开怎么办 电脑桌面上文档剪切了怎么办 苹果官网查不到保修日期怎么办 吃了发霉的花生怎么办 鸡吃大蒜多了怎么办