微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

android.graphics.ColorMatrixColorFilter的实例源码

项目:RecyclerCoverFlow    文件CoverFlowLayoutmanger.java   
/**
     * 变化Item的灰度值
     * @param child 需要设置灰度值的Item
     * @param frame 位置信息
     */
    private void greyItem(View child,Rect frame) {
        float value = computeGreyScale(frame.left - mOffsetAll);
        ColorMatrix cm = new ColorMatrix(new float[]{
                value,120*(1-value),value,1,250*(1-value),});
//            cm.setSaturation(0.9f);

        // Create a paint object with color matrix
        Paint greyPaint = new Paint();
        greyPaint.setColorFilter(new ColorMatrixColorFilter(cm));

        // Create a hardware layer with the grey paint
        child.setLayerType(View.LAYER_TYPE_HARDWARE,greyPaint);
        if (value >= 1) {
            // Remove the hardware layer
            child.setLayerType(View.LAYER_TYPE_NONE,null);
        }

    }
项目:GitHub    文件PageWidget.java   
public PageWidget(Context context,String bookId,List<BookMixAToc.mixToc.Chapters> chaptersList,OnReadStatechangelistener listener) {
    super(context,bookId,chaptersList,listener);
    mPath0 = new Path();
    mPath1 = new Path();
    mMaxLength = (float) Math.hypot(mScreenWidth,mScreenHeight);
    mPaint = new Paint();
    mPaint.setStyle(Paint.Style.FILL);

    createDrawable();

    ColorMatrix cm = new ColorMatrix();//设置颜色数组
    float array[] = {0.55f,80.0f,0.55f,0.2f,0};
    cm.set(array);
    mColorMatrixFilter = new ColorMatrixColorFilter(cm);
    mMatrix = new Matrix();

    mTouch.x = 0.01f; // 不让x,y为0,否则在点计算时会有问题
    mTouch.y = 0.01f;
}
项目:FriskyImage    文件FriskyImageProperty.java   
public static  Bitmap FriskyEnhanceImage(Bitmap mBitmap,float contrast,float brightness) {
    ColorMatrix cm = new ColorMatrix(new float[]
            {
                    contrast,brightness,contrast,0
            });
    Bitmap BrightedImage = Bitmap.createBitmap(mBitmap.getWidth(),mBitmap.getHeight(),mBitmap
            .getConfig());
    Canvas canvas = new Canvas(BrightedImage);
    Paint paint = new Paint();
    paint.setColorFilter(new ColorMatrixColorFilter(cm));
    canvas.drawBitmap(mBitmap,paint);
    return BrightedImage;
}
项目:FriskyImage    文件FriskyImageProperty.java   
public static Bitmap FriskyContrast(Bitmap bitmap,int Value)
{
    ColorMatrix colorMatrix = new ColorMatrix();
    colorMatrix.set(new float[] {
            Value,Value,0   });

    Bitmap BrightedImage = Bitmap.createBitmap(bitmap.getWidth(),bitmap.getHeight(),bitmap
            .getConfig());
    Canvas canvas = new Canvas(BrightedImage);
    Paint paint = new Paint();
    paint.setColorFilter(new ColorMatrixColorFilter(colorMatrix));
    canvas.drawBitmap(bitmap,paint);
    return BrightedImage;

}
项目:FriskyImage    文件FriskyImageProperty.java   
public static   Bitmap FriskyBright(Bitmap mBitmap,int fb) {
    ColorMatrix colorMatrix = new ColorMatrix();
     colorMatrix.set(new float[] {
            1,fb,0   });

    Bitmap BrightedImage = Bitmap.createBitmap(mBitmap.getWidth(),mBitmap
            .getConfig());
    Canvas canvas = new Canvas(BrightedImage);
    Paint paint = new Paint();
    paint.setColorFilter(new ColorMatrixColorFilter(colorMatrix));
    canvas.drawBitmap(mBitmap,paint);
    return BrightedImage;

}
项目:LaunchEnr    文件DragView.java   
private void animateFilterTo(float[] targetFilter) {
    float[] oldFilter = mCurrentFilter == null ? new ColorMatrix().getArray() : mCurrentFilter;
    mCurrentFilter = Arrays.copyOf(oldFilter,oldFilter.length);

    if (mFilteranimator != null) {
        mFilteranimator.cancel();
    }
    mFilteranimator = ValueAnimator.ofObject(new FloatArrayEvaluator(mCurrentFilter),oldFilter,targetFilter);
    mFilteranimator.setDuration(COLOR_CHANGE_DURATION);
    mFilteranimator.addUpdateListener(new AnimatorUpdateListener() {

        @Override
        public void onAnimationUpdate(ValueAnimator animation) {
            mPaint.setColorFilter(new ColorMatrixColorFilter(mCurrentFilter));
            invalidate();
        }
    });
    mFilteranimator.start();
}
项目:FriendBook    文件SimulationPageAnim.java   
public SimulationPageAnim(int w,int h,View view,OnPagechangelistener listener) {
    super(w,h,view,mScreenHeight);
    mPaint = new Paint();
    mPaint.setStyle(Paint.Style.FILL);

    createDrawable();

    ColorMatrix cm = new ColorMatrix();//设置颜色数组
    float array[] = { 1,0 };
    cm.set(array);
    mColorMatrixFilter = new ColorMatrixColorFilter(cm);
    mMatrix = new Matrix();

    mTouchX = 0.01f; // 不让x,否则在点计算时会有问题
    mTouchY = 0.01f;
}
项目:Bridge    文件ChooserItemViewHolder.java   
private void checkSelected() {
    boolean selected = BridgeSettings.isActivityForward(getData().activityInfo.name);
    itemView.setSelected(selected);

    if (!selected) {
        if (filter.get() == null) {
            ColorMatrix cm = new ColorMatrix();
            cm.setSaturation(0);
            ColorMatrixColorFilter grayColorFilter = new ColorMatrixColorFilter(cm);
            filter = new WeakReference<>(grayColorFilter);
        }

        icon.setColorFilter(filter.get());
    } else {
        icon.setColorFilter(null);
    }
}
项目:Quran    文件HighlightingImageView.java   
public void adjustNightMode() {
  if (isNightMode && !isColorFilterOn) {
    float[] matrix = {
        -1,nightModeTextBrightness,-1,0
    };
    setColorFilter(new ColorMatrixColorFilter(matrix));
    isColorFilterOn = true;
  } else if (!isNightMode) {
    clearColorFilter();
    isColorFilterOn = false;
  }

  invalidate();
}
项目:garras    文件CollectionAdapter.java   
private void startSaturationAnimation(Context context,final AppCompatimageView target) {
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
        target.setHasTransientState(true);
        final Animutils.ObservableColorMatrix matrix = new Animutils.ObservableColorMatrix();
        final ObjectAnimator saturation = ObjectAnimator.ofFloat(
                matrix,Animutils.ObservableColorMatrix.SATURATION,0f,1f);
        saturation.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {
            @Override
            public void onAnimationUpdate(ValueAnimator valueAnimator) {
                target.setColorFilter(new ColorMatrixColorFilter(matrix));
            }
        });
        saturation.setDuration(2000);
        saturation.setInterpolator(Animutils.getFastOutSlowInInterpolator(context));
        saturation.addListener(new AnimatorListenerAdapter() {
            @Override
            public void onAnimationEnd(Animator animation) {
                target.clearColorFilter();
                target.setHasTransientState(false);
            }
        });
        saturation.start();
    }
}
项目:garras    文件PhotoAdapter.java   
private void startSaturationAnimation(Context context,1f);
        saturation.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {
            @Override
            public void onAnimationUpdate(ValueAnimator valueAnimator) {
                target.setColorFilter(new ColorMatrixColorFilter(matrix));
            }
        });
        saturation.setDuration(2000);
        saturation.setInterpolator(Animutils.getFastOutSlowInInterpolator(context));
        saturation.addListener(new AnimatorListenerAdapter() {
            @Override
            public void onAnimationEnd(Animator animation) {
                target.clearColorFilter();
                target.setHasTransientState(false);
            }
        });
        saturation.start();
    }
}
项目:BBSSDK-for-Android    文件ImageUtils.java   
/**
 * 转为灰度图片
 *
 * @param src     源图片
 * @param recycle 是否回收
 * @return 灰度图
 */
public static Bitmap toGray(final Bitmap src,final boolean recycle) {
    if (isEmptyBitmap(src)) {
        return null;
    }
    Bitmap ret = Bitmap.createBitmap(src.getWidth(),src.getHeight(),src.getConfig());
    Canvas canvas = new Canvas(ret);
    Paint paint = new Paint();
    ColorMatrix colorMatrix = new ColorMatrix();
    colorMatrix.setSaturation(0);
    ColorMatrixColorFilter colorMatrixColorFilter = new ColorMatrixColorFilter(colorMatrix);
    paint.setColorFilter(colorMatrixColorFilter);
    canvas.drawBitmap(src,paint);
    if (recycle && !src.isRecycled()) {
        src.recycle();
    }
    return ret;
}
项目:XFrame    文件XBitmapUtils.java   
/**
 * 饱和度处理
 *
 * @param bitmap          原图
 * @param saturationValue 新的饱和度值
 * @return 改变了饱和度值之后的图片
 */
public static Bitmap saturation(Bitmap bitmap,int saturationValue) {
    // 计算出符合要求的饱和度值
    float newSaturationValue = saturationValue * 1.0F / 127;
    // 创建一个颜色矩阵
    ColorMatrix saturationColorMatrix = new ColorMatrix();
    // 设置饱和度值
    saturationColorMatrix.setSaturation(newSaturationValue);
    // 创建一个画笔并设置其颜色过滤器
    Paint paint = new Paint();
    paint.setColorFilter(new ColorMatrixColorFilter(saturationColorMatrix));
    // 创建一个新的图片并创建画布
    Bitmap newBitmap = Bitmap.createBitmap(bitmap.getWidth(),Config.ARGB_8888);
    Canvas canvas = new Canvas(newBitmap);
    // 将原图使用给定的画笔画到画布上
    canvas.drawBitmap(bitmap,paint);
    return newBitmap;
}
项目:XFrame    文件XBitmapUtils.java   
/**
 * 亮度处理
 *
 * @param bitmap   原图
 * @param lumValue 新的亮度值
 * @return 改变了亮度值之后的图片
 */
public static Bitmap lum(Bitmap bitmap,int lumValue) {
    // 计算出符合要求的亮度值
    float newlumValue = lumValue * 1.0F / 127;
    // 创建一个颜色矩阵
    ColorMatrix lumColorMatrix = new ColorMatrix();
    // 设置亮度值
    lumColorMatrix.setScale(newlumValue,newlumValue,1);
    // 创建一个画笔并设置其颜色过滤器
    Paint paint = new Paint();
    paint.setColorFilter(new ColorMatrixColorFilter(lumColorMatrix));
    // 创建一个新的图片并创建画布
    Bitmap newBitmap = Bitmap.createBitmap(bitmap.getWidth(),paint);
    return newBitmap;
}
项目:XFrame    文件XBitmapUtils.java   
/**
 * 色相处理
 *
 * @param bitmap   原图
 * @param hueValue 新的色相值
 * @return 改变了色相值之后的图片
 */
public static Bitmap hue(Bitmap bitmap,int hueValue) {
    // 计算出符合要求的色相值
    float newHueValue = (hueValue - 127) * 1.0F / 127 * 180;
    // 创建一个颜色矩阵
    ColorMatrix hueColorMatrix = new ColorMatrix();
    // 控制让红色区在色轮上旋转的角度
    hueColorMatrix.setRotate(0,newHueValue);
    // 控制让绿红色区在色轮上旋转的角度
    hueColorMatrix.setRotate(1,newHueValue);
    // 控制让蓝色区在色轮上旋转的角度
    hueColorMatrix.setRotate(2,newHueValue);
    // 创建一个画笔并设置其颜色过滤器
    Paint paint = new Paint();
    paint.setColorFilter(new ColorMatrixColorFilter(hueColorMatrix));
    // 创建一个新的图片并创建画布
    Bitmap newBitmap = Bitmap.createBitmap(bitmap.getWidth(),paint);
    return newBitmap;
}
项目:NovelReader    文件SimulationPageAnim.java   
public SimulationPageAnim(int w,mScreenHeight);
    mPaint = new Paint();

    mPaint.setStyle(Paint.Style.FILL);

    createDrawable();

    ColorMatrix cm = new ColorMatrix();//设置颜色数组
    float array[] = { 1,否则在点计算时会有问题
    mTouchY = 0.01f;
}
项目:odoo-work    文件BezelImageView.java   
private void otherInit() {
    // Other initialization
    mBlackPaint = new Paint();
    mBlackPaint.setColor(0xff000000);

    mMaskedPaint = new Paint();
    mMaskedPaint
            .setXfermode(new PorterDuffXfermode(PorterDuff.Mode.SRC_IN));

    // Always want a cache allocated.
    mCacheBitmap = Bitmap.createBitmap(1,Bitmap.Config.ARGB_8888);

    if (mDesaturateOnPress) {
        // Create a desaturate color filter for pressed state.
        ColorMatrix cm = new ColorMatrix();
        cm.setSaturation(0);
        mDesaturateColorFilter = new ColorMatrixColorFilter(cm);
    }
}
项目:Glide-transformations    文件GrayscaleTransformation.java   
@Override
public Resource<Bitmap> transform(Resource<Bitmap> resource,int outWidth,int outHeight) {
  Bitmap source = resource.get();

  int width = source.getWidth();
  int height = source.getHeight();

  Bitmap.Config config =
      source.getConfig() != null ? source.getConfig() : Bitmap.Config.ARGB_8888;
  Bitmap bitmap = mBitmapPool.get(width,height,config);
  if (bitmap == null) {
    bitmap = Bitmap.createBitmap(width,config);
  }

  Canvas canvas = new Canvas(bitmap);
  ColorMatrix saturation = new ColorMatrix();
  saturation.setSaturation(0f);
  Paint paint = new Paint();
  paint.setColorFilter(new ColorMatrixColorFilter(saturation));
  canvas.drawBitmap(source,paint);

  return BitmapResource.obtain(bitmap,mBitmapPool);
}
项目:LJFramework    文件ImageUtils.java   
/**
 * 转为灰度图片
 *
 * @param src 源图片
 * @param recycle 是否回收
 * @return 灰度图
 */
public static Bitmap toGray(Bitmap src,boolean recycle) {
    if (isEmptyBitmap(src)) {
        return null;
    }
    Bitmap grayBitmap = Bitmap.createBitmap(src.getWidth(),src
            .getHeight(),Bitmap.Config.ARGB_8888);
    Canvas canvas = new Canvas(grayBitmap);
    Paint paint = new Paint();
    ColorMatrix colorMatrix = new ColorMatrix();
    colorMatrix.setSaturation(0);
    ColorMatrixColorFilter colorMatrixColorFilter = new ColorMatrixColorFilter(colorMatrix);
    paint.setColorFilter(colorMatrixColorFilter);
    canvas.drawBitmap(src,paint);
    if (recycle && !src.isRecycled()) {
        src.recycle();
    }
    return grayBitmap;
}
项目:buildAPKsSamples    文件FoldingLayoutActivity.java   
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    setContentView(R.layout.activity_fold);

    mImageView = (ImageView)findViewById(R.id.image_view);
    mImageView.setPadding(ANTIALIAS_PADDING,ANTIALIAS_PADDING,ANTIALIAS_PADDING);
    mImageView.setScaleType(ImageView.ScaleType.FIT_XY);
    mImageView.setimageDrawable(getResources().getDrawable(R.drawable.image));

    mTextureView = new TextureView(this);
    mTextureView.setSurfaceTextureListener(mSurfaceTextureListener);

    mAnchorSeekBar = (SeekBar)findViewById(R.id.anchor_seek_bar);
    mFoldLayout = (FoldingLayout)findViewById(R.id.fold_view);
    mFoldLayout.setBackgroundColor(Color.BLACK);
    mFoldLayout.setFoldListener(mOnFoldListener);

    mTouchSlop = ViewConfiguration.get(this).getScaledTouchSlop();

    mAnchorSeekBar.setonSeekBarchangelistener(mSeekBarchangelistener);

    mScrollGestureDetector = new GestureDetector(this,new ScrollGestureDetector());
    mItemSelectedListener = new ItemSelectedListener();

    mDefaultPaint = new Paint();
    mSepiaPaint = new Paint();

    ColorMatrix m1 = new ColorMatrix();
    ColorMatrix m2 = new ColorMatrix();
    m1.setSaturation(0);
    m2.setScale(1f,.95f,.82f,1.0f);
    m1.setConcat(m2,m1);
    mSepiaPaint.setColorFilter(new ColorMatrixColorFilter(m1));
}
项目:EditPhoto    文件ContrastView.java   
private void initView() {
        subject = PublishSubject.create();
        subject.debounce(0,TimeUnit.MILLISECONDS)
//                .filter(new Predicate<Float>() {
//                    @Override
//                    public boolean test(Float contrast) throws Exception {
//                        return true;
//                    }
//                })
                .distinctUntilChanged()
                .switchMap(new Function<Float,ObservableSource<ColorMatrixColorFilter>>() {
                    @Override
                    public ObservableSource<ColorMatrixColorFilter> apply(Float value) throws Exception {
                        return postContrast(value);
                    }
                })
                .subscribeOn(Schedulers.io())
                .observeOn(AndroidSchedulers.mainThread())
                .subscribe(new Consumer<ColorMatrixColorFilter>() {
                    @Override
                    public void accept(ColorMatrixColorFilter colorMatrixColorFilter) throws Exception {
                        setColorFilter(colorMatrixColorFilter);
                    }
                });
    }
项目:EditPhoto    文件Utils.java   
static Bitmap contrastBitmap(Bitmap bitmap,float contrast) {
    float[] colorTransform = new float[]{
            contrast,0};

    ColorMatrix colorMatrix = new ColorMatrix();
    colorMatrix.setSaturation(0f);
    colorMatrix.set(colorTransform);

    ColorMatrixColorFilter colorFilter = new ColorMatrixColorFilter(colorMatrix);
    Paint paint = new Paint();
    paint.setColorFilter(colorFilter);

    Bitmap resultBitmap = bitmap.copy(Bitmap.Config.ARGB_8888,true);
    Canvas canvas = new Canvas(resultBitmap);
    canvas.drawBitmap(resultBitmap,paint);

    return resultBitmap;
}
项目:EditPhoto    文件SaturationView.java   
private void initView() {
        subject = PublishSubject.create();
        subject.debounce(0,TimeUnit.MILLISECONDS)
//                .filter(new Predicate<Float>() {
//                    @Override
//                    public boolean test(Float brightness) throws Exception {
//                        return true;
//                    }
//                })
                .distinctUntilChanged()
                .switchMap(new Function<Float,ObservableSource<ColorMatrixColorFilter>>() {
                    @Override
                    public ObservableSource<ColorMatrixColorFilter> apply(Float value) throws Exception {
                        return postBrightness(value);
                    }
                })
                .subscribeOn(Schedulers.io())
                .observeOn(AndroidSchedulers.mainThread())
                .subscribe(new Consumer<ColorMatrixColorFilter>() {
                    @Override
                    public void accept(ColorMatrixColorFilter colorMatrixColorFilter) throws Exception {
                        setColorFilter(colorMatrixColorFilter);
                    }
                });
    }
项目:EditPhoto    文件Utils.java   
public static Bitmap brightBitmap(Bitmap bitmap,int brightness) {
    float[] colorTransform = {
            1,0};

    ColorMatrix colorMatrix = new ColorMatrix();
    colorMatrix.setSaturation(0f);
    colorMatrix.set(colorTransform);

    ColorMatrixColorFilter colorFilter = new ColorMatrixColorFilter(colorMatrix);
    Paint paint = new Paint();
    paint.setColorFilter(colorFilter);


    Bitmap resultBitmap = bitmap.copy(Bitmap.Config.ARGB_8888,paint);

    return resultBitmap;
}
项目:EditPhoto    文件Utils.java   
public static Bitmap contrastBitmap(Bitmap bitmap,int contrast) {
    float[] colorTransform = {
            contrast,paint);

    return resultBitmap;
}
项目:EditPhoto    文件BrightnessView.java   
private void initView() {
        subject = PublishSubject.create();
        subject.debounce(0,ObservableSource<ColorMatrixColorFilter>>() {
                    @Override
                    public ObservableSource<ColorMatrixColorFilter> apply(Float value) throws Exception {
                        return postBrightness(value);
                    }
                })
                .subscribeOn(Schedulers.io())
                .observeOn(AndroidSchedulers.mainThread())
                .subscribe(new Consumer<ColorMatrixColorFilter>() {
                    @Override
                    public void accept(ColorMatrixColorFilter colorMatrixColorFilter) throws Exception {
                        setColorFilter(colorMatrixColorFilter);
                    }
                });
    }
项目:EditPhoto    文件Utils.java   
static Bitmap brightBitmap(Bitmap bitmap,float brightness) {
    float[] colorTransform = {
            1,paint);

    return resultBitmap;
}
项目:TextReader    文件PageWidget.java   
public PageWidget(Context context,否则在点计算时会有问题
    mTouch.y = 0.01f;
}
项目:BookReader-master    文件PageWidget.java   
public PageWidget(Context context,否则在点计算时会有问题
    mTouch.y = 0.01f;
}
项目:HumanBody    文件IosButton.java   
/**
 * 传入改变亮度前的bitmap,返回改变亮度后的bitmap
 * @author leibing
 * @createTime 2016/12/30
 * @lastModify 2016/12/30
 * @param srcBitmap
 * @return
 */
   @SuppressWarnings("deprecation")
public Drawable changeBrightnessBitmap(Bitmap srcBitmap){  
        Bitmap bmp = Bitmap.createBitmap(srcBitmap.getWidth(),srcBitmap.getHeight(),Config.ARGB_8888);    
       int brightness = 60 - 127;    
       ColorMatrix cMatrix = new ColorMatrix();
    // 改变亮度
       cMatrix.set(new float[] { 1,0 });    
       Paint paint = new Paint();    
       paint.setColorFilter(new ColorMatrixColorFilter(cMatrix));    
       Canvas canvas = new Canvas(bmp);    
       // 在Canvas上绘制一个Bitmap  
       canvas.drawBitmap(srcBitmap,paint);    
      return new BitmapDrawable(bmp);  
   }
项目:Ghost-Android    文件PostAdapter.java   
public PostAdapter(Context context,List<Post> posts,String blogUrl,Picasso picasso,View.OnClickListener itemClickListener) {
    mContext = context;
    mBlogUrl = blogUrl;
    mPicasso = picasso;
    mLayoutInflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
    mPosts = posts;
    mItemClickListener = itemClickListener;

    mLowAlphaPaint = new Paint();
    mLowAlphaPaint.setColorFilter(new ColorMatrixColorFilter(new float[] {
            1,// red
            0,// green
            0,// blue
            0,0.5f,// alpha
    }));

    setHasstableIds(true);
}
项目:StopApp    文件AppAdapter.java   
@Override
public void convertDiff(ViewHolder holder,int position,List payloads) {
    Bundle payload = (Bundle) payloads.get(0);
    int isEnable = payload.getInt(BUNDLE_PAYLOAD);
    ((TextView) holder.getView(R.id.tv_app_name)).setTextColor(isEnable == 1
            ? mResources.getColor(R.color.textPrimary) : mResources.getColor(R.color.translucentBg));
    if (isEnable == 1) {
        mMatrix.setSaturation(1);
        mColorFilternormal = new ColorMatrixColorFilter(mMatrix);
        ((ImageView) holder.getView(R.id.iv_app_icon)).setColorFilter(mColorFilternormal);
    } else {
        mMatrix.setSaturation(0);
        mColorFilterGrey = new ColorMatrixColorFilter(mMatrix);
        ((ImageView) holder.getView(R.id.iv_app_icon)).setColorFilter(mColorFilterGrey);
    }
}
项目:android-study    文件ImageHelper.java   
public static Bitmap handleImageGrayEffect(Bitmap bitmap) {
  Bitmap bmp =
      Bitmap.createBitmap(bitmap.getWidth(),Bitmap.Config.ARGB_8888);
  float[] colorMatrixValue = new float[] {
      0.33f,0.59f,0.11f,0.33f,0
  };
  ColorMatrix colorMatrix = new ColorMatrix();
  colorMatrix.set(colorMatrixValue);

  Canvas canvas = new Canvas(bmp);
  Paint paint = new Paint();
  paint.setColorFilter(new ColorMatrixColorFilter(colorMatrix));
  canvas.drawBitmap(bitmap,paint);
  return bmp;
}
项目:android-study    文件ImageHelper.java   
public static Bitmap handleImageHighSaturationEffect(Bitmap bitmap) {
  Bitmap bmp =
      Bitmap.createBitmap(bitmap.getWidth(),Bitmap.Config.ARGB_8888);
  float[] colorMatrixValue = new float[] {
      1.438f,-0.122f,-0.016f,-0.03f,-0.062f,1.378f,0.05f,1.483f,-0.02f,paint);
  return bmp;
}
项目:XposednavigationBar    文件ImageUtil.java   
public static Bitmap handleImageEffect(Bitmap bm,float lum) {
    Bitmap bmp = Bitmap.createBitmap(bm.getWidth(),bm.getHeight(),Bitmap.Config.ARGB_8888);
    Canvas canvas = new Canvas(bmp);
    Paint paint = new Paint();

    ColorMatrix lumMatrix = new ColorMatrix();
    lumMatrix.setScale(lum,lum,1);

    ColorMatrix imageMatrix = new ColorMatrix();
    imageMatrix.postConcat(lumMatrix);

    paint.setColorFilter(new ColorMatrixColorFilter(imageMatrix));
    canvas.drawBitmap(bm,paint);

    return bmp;
}
项目:FlickLauncher    文件DragView.java   
@TargetApi(Build.VERSION_CODES.LOLLIPOP)
private void animateFilterTo(float[] targetFilter) {
    float[] oldFilter = mCurrentFilter == null ? new ColorMatrix().getArray() : mCurrentFilter;
    mCurrentFilter = Arrays.copyOf(oldFilter,targetFilter);
    mFilteranimator.setDuration(COLOR_CHANGE_DURATION);
    mFilteranimator.addUpdateListener(new AnimatorUpdateListener() {

        @Override
        public void onAnimationUpdate(ValueAnimator animation) {
            mPaint.setColorFilter(new ColorMatrixColorFilter(mCurrentFilter));
            invalidate();
        }
    });
    mFilteranimator.start();
}
项目:aos-MediaLib    文件Utils.java   
public static void setBackground(View v,Bitmap bm) {

        if (bm == null) {
            v.setBackgroundResource(0);
            return;
        }

        int vwidth = v.getWidth()/4;
        int vheight = v.getHeight()/4;
        int bwidth = bm.getWidth();
        int bheight = bm.getHeight();
        float scalex = (float) vwidth / bwidth;
        float scaley = (float) vheight / bheight;
        float scale = Math.max(scalex,scaley) * 1.3f;

        Bitmap.Config config = Bitmap.Config.ARGB_8888;
        Bitmap bg = Bitmap.createBitmap(vwidth,vheight,config);
        Canvas c = new Canvas(bg);
        Paint paint = new Paint();
        paint.setAntiAlias(true);
        paint.setFilterBitmap(true);
        ColorMatrix greymatrix = new ColorMatrix();
        greymatrix.setSaturation(0);
        ColorMatrix darkmatrix = new ColorMatrix();
        darkmatrix.setScale(1f,1f,.1f);
        greymatrix.postConcat(darkmatrix);
        ColorFilter filter = new ColorMatrixColorFilter(greymatrix);
        paint.setColorFilter(filter);
        Matrix matrix = new Matrix();
        matrix.setTranslate(-bwidth/2,-bheight/2); // move bitmap center to origin
        matrix.postRotate(10);
        matrix.postScale(scale,scale);
        matrix.postTranslate(vwidth/2,vheight/2);  // Move bitmap center to view center
        c.drawBitmap(bm,matrix,paint);
        v.setBackgroundDrawable(new BitmapDrawable(bg));
    }
项目:SimpleUILauncher    文件DragView.java   
@TargetApi(Build.VERSION_CODES.LOLLIPOP)
private void animateFilterTo(float[] targetFilter) {
    float[] oldFilter = mCurrentFilter == null ? new ColorMatrix().getArray() : mCurrentFilter;
    mCurrentFilter = Arrays.copyOf(oldFilter,targetFilter);
    mFilteranimator.setDuration(COLOR_CHANGE_DURATION);
    mFilteranimator.addUpdateListener(new AnimatorUpdateListener() {

        @Override
        public void onAnimationUpdate(ValueAnimator animation) {
            mPaint.setColorFilter(new ColorMatrixColorFilter(mCurrentFilter));
            invalidate();
        }
    });
    mFilteranimator.start();
}
项目:Picasso-transformations    文件GrayscaleTransformation.java   
@Override public Bitmap transform(Bitmap source) {

    int width = source.getWidth();
    int height = source.getHeight();

    Bitmap bitmap = Bitmap.createBitmap(width,Bitmap.Config.ARGB_8888);

    Canvas canvas = new Canvas(bitmap);
    ColorMatrix saturation = new ColorMatrix();
    saturation.setSaturation(0f);
    Paint paint = new Paint();
    paint.setColorFilter(new ColorMatrixColorFilter(saturation));
    canvas.drawBitmap(source,paint);
    source.recycle();

    return bitmap;
  }
项目:RLibrary    文件ResUtil.java   
/**
 * 设置View的灰度
 */
public static void setGreyscale(View v,boolean greyscale) {
    if (greyscale) {
        // Create a paint object with 0 saturation (black and white)
        ColorMatrix cm = new ColorMatrix();
        cm.setSaturation(0);
        Paint greyscalePaint = new Paint();
        greyscalePaint.setColorFilter(new ColorMatrixColorFilter(cm));
        // Create a hardware layer with the greyscale paint
        v.setLayerType(LAYER_TYPE_HARDWARE,greyscalePaint);
    } else {
        // Remove the hardware layer
        v.setLayerType(LAYER_TYPE_NONE,null);
    }
}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。