首页 > 其他分享 >Android图片转换类 1. Bitmap去色,…

Android图片转换类 1. Bitmap去色,…

时间:2023-03-30 20:06:06浏览次数:45  
标签:去色 bmpOriginal bitmap paint new Android Bitmap pixels


public class ImageTools {


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;

    }



public static Bitmap toGrayscale(Bitmap bmpOriginal, int pixels) {
return toRoundCorner(toGrayscale(bmpOriginal), pixels);

    }


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;

    }



public static BitmapDrawable toRoundCorner(BitmapDrawable bitmapDrawable, int pixels) {

        Bitmap bitmap = bitmapDrawable.getBitmap();

        bitmapDrawable = new BitmapDrawable(toRoundCorner(bitmap, pixels));
return bitmapDrawable;

    }

}

标签:去色,bmpOriginal,bitmap,paint,new,Android,Bitmap,pixels
From: https://blog.51cto.com/u_548275/6160129

相关文章

  • android 监听SDCard安装和卸载的代…
    //监听类privatefinalBroadcastReceiversdcardListener=newBroadcastReceiver(){@OverridepublicvoidonReceive(Contextcontext,Intentintent){Stringaction=intent.getAction();Log.d("TAG","sdcar......
  • android内存统计
    由于linux内核和nativeservice使用的内存在settings中统计不出来,因此对于分析内存相关问题时,使用procrank命令则能比较清晰的获取每个进程占用的内存资源$adbshellprocrankPIDVssRssPssUsscmdline15949668K39664K19857K17016Ksystem_server23629688K29676K1......
  • 关于android分辨率和使用iphone版…
    为了节省成本,开发app,一般情况下android和iphone用的是一套设计图。那适配怎么办?今天统计了下android的分辨率主要有:三星i9300 galaxys3 1280x720像素三星galaxys4  1920x1080像素还有经典的分辨率:854x480 还有部分960x540的。他们有个共同的特点,就是高宽比都是 1.......
  • Android中在控件上显示倒计时
    Android中在控件上显示倒计时Android中在控件上显示倒计时publicclassCountdownTimerActivityextendsActivity{privateTimeCounttime;privateButtonchecking;@OverrideprotectedvoidonCreate(BundlesavedInstanceState){//TODOAuto-generatedmethodst......
  • android 检测应用异常 U…
    继承接口UncaughtExceptionHandler,并重写里面的uncaughtException(Threadthread,Throwableex)方法,这样就可以监测应用程序的异常情况,做相应的处理:publicclassmyCustomExceptionHandlerimplementsUncaughtExceptionHandlerprivateUncaughtExceptionHandlerpublicm......
  • Android开发-Android常用组件-ToggleButton开关按钮 & Switch开关
    4.7 开关按钮ToggleButton和开关Switch 1.开关按钮ToggleButton 属性名说明android:disabledAlpha设置按钮在禁用时的透明度android:textOff......
  • 【Android】Android Bmob后端云配置
    简介开发一个具有网络功能的应用,在Bmob移动应用云存储平台中,只需要注册一个账号,就可以实现申请创建任意多个数据库,获得对应的key,下载对应版本的SDK,并嵌入到移动应用中,调用......
  • 外包杯学习进度(一) | 【Android】【Javaweb】Android与JavaWeb服务器交互教程——搭建
    前言我们老师留了一个题目,这里就不写了,第一需要攻破的问题就是如何将app中的数据域javaweb进行传递,并可以回弹消息等问题。所以就开始了解一下这方面的信息。资料积累参......
  • Android开发-Android常用组件-ImageView图像视图
    4.4 ImageView(图像视图)ImageView见名知意,就是用来显示图像的一个View或者说控件 需掌握的知识点:ImageView的src属性和blackground的区别;adjustViewBounds设置......
  • 又是Android studio下layout文件内容无提示
     又出现没有提示的问题。只不过这次我新建了一个模块。想想可能是模块的问题    之前是32,先在新建的是33.更改回32即可。 ......