天天看點

Paint 濾鏡效果

LightingColorFliter  

        //紅色去除掉

//        LightingColorFilter lighting = new LightingColorFilter(0x00ffff,0x000000);

//        mPaint.setColorFilter(lighting);

//        canvas.drawBitmap(mBitmap, 0,0, mPaint);

//        //原始圖檔效果

//        LightingColorFilter lighting = n ew LightingColorFilter(0xffffff,0x000000);

//        mPaint.setColorFilter(lighting);

//        canvas.drawBitmap(mBitmap, 0,0, mPaint);

//        //綠色更亮

//        LightingColorFilter lighting = new LightingColorFilter(0xffffff,0x003000);

//        mPaint.setColorFilter(lighting);

//        canvas.drawBitmap(mBitmap, 0,0, mPaint);

PorterDuffColorFilter  一個顔色和圖層混合

//        PorterDuffColorFilter porterDuffColorFilter = new PorterDuffColorFilter(Color.RED, PorterDuff.Mode.DARKEN);

//        mPaint.setColorFilter(porterDuffColorFilter);

//        canvas.drawBitmap(mBitmap, 100, 0, mPaint);

ColorMatrixColorFilter  顔色矩陣

        float[] colorMatrix = {

                2,0,0,0,0,   //red

                0,1,0,0,0,   //green

                0,0,1,0,0,   //blue

                0,0,0,1,0    //alpha

        };

        ColorMatrix cm = new ColorMatrix();

//        //亮度調節

//        cm.setScale(1,2,1,1);

//        //飽和度調節0-無色彩, 1- 預設效果, >1飽和度加強

//        cm.setSaturation(2);

        //色調調節

        cm.setRotate(0, 45);

        mColorMatrixColorFilter = new ColorMatrixColorFilter(cm);

        mPaint.setColorFilter(mColorMatrixColorFilter);

        canvas.drawBitmap(mBitmap, 100, 0, mPaint);

顔色矩陣

// 黑白

    public static final float colormatrix_heibai[] = {

            0.8f, 1.6f, 0.2f, 0, -163.9f,

            0.8f, 1.6f, 0.2f, 0, -163.9f,

            0.8f, 1.6f, 0.2f, 0, -163.9f,

            0, 0, 0, 1.0f, 0};

    // 懷舊

    public static final float colormatrix_huajiu[] = {

            0.2f, 0.5f, 0.1f, 0, 40.8f,

            0.2f, 0.5f, 0.1f, 0, 40.8f,

            0.2f, 0.5f, 0.1f, 0, 40.8f,

            0, 0, 0, 1, 0};

    // 哥特

    public static final float colormatrix_gete[] = {

            1.9f, -0.3f, -0.2f, 0, -87.0f,

            -0.2f, 1.7f, -0.1f, 0, -87.0f,

            -0.1f, -0.6f, 2.0f, 0, -87.0f,

            0, 0, 0, 1.0f, 0};

    // 淡雅

    public static final float colormatrix_danya[] = {

            0.6f, 0.3f, 0.1f, 0, 73.3f,

            0.2f, 0.7f, 0.1f, 0, 73.3f,

            0.2f, 0.3f, 0.4f, 0, 73.3f,

            0, 0, 0, 1.0f, 0};

    // 藍調

    public static final float colormatrix_landiao[] = {

            2.1f, -1.4f, 0.6f, 0.0f, -71.0f,

            -0.3f, 2.0f, -0.3f, 0.0f, -71.0f,

            -1.1f, -0.2f, 2.6f, 0.0f, -71.0f,

            0.0f, 0.0f, 0.0f, 1.0f, 0.0f};

    // 光暈

    public static final float colormatrix_guangyun[] = {

            0.9f, 0, 0, 0, 64.9f,

            0, 0.9f, 0, 0, 64.9f,

            0, 0, 0.9f, 0, 64.9f,

            0, 0, 0, 1.0f, 0};

    // 夢幻

    public static final float colormatrix_menghuan[] = {

            0.8f, 0.3f, 0.1f, 0.0f, 46.5f,

            0.1f, 0.9f, 0.0f, 0.0f, 46.5f,

            0.1f, 0.3f, 0.7f, 0.0f, 46.5f,

            0.0f, 0.0f, 0.0f, 1.0f, 0.0f};

    // 酒紅

    public static final float colormatrix_jiuhong[] = {

            1.2f, 0.0f, 0.0f, 0.0f, 0.0f,

            0.0f, 0.9f, 0.0f, 0.0f, 0.0f,

            0.0f, 0.0f, 0.8f, 0.0f, 0.0f,

            0, 0, 0, 1.0f, 0};

    // 膠片

    public static final float colormatrix_fanse[] = {

            -1.0f, 0.0f, 0.0f, 0.0f, 255.0f,

            0.0f, -1.0f, 0.0f, 0.0f, 255.0f,

            0.0f, 0.0f, -1.0f, 0.0f, 255.0f,

            0.0f, 0.0f, 0.0f, 1.0f, 0.0f};

    // 湖光掠影

    public static final float colormatrix_huguang[] = {

            0.8f, 0.0f, 0.0f, 0.0f, 0.0f,

            0.0f, 1.0f, 0.0f, 0.0f, 0.0f,

            0.0f, 0.0f, 0.9f, 0.0f, 0.0f,

            0, 0, 0, 1.0f, 0};

    // 褐片

    public static final float colormatrix_hepian[] = {

            1.0f, 0.0f, 0.0f, 0.0f, 0.0f,

            0.0f, 0.8f, 0.0f, 0.0f, 0.0f,

            0.0f, 0.0f, 0.8f, 0.0f, 0.0f,

            0, 0, 0, 1.0f, 0};

    // 複古

    public static final float colormatrix_fugu[] = {

            0.9f, 0.0f, 0.0f, 0.0f, 0.0f,

            0.0f, 0.8f, 0.0f, 0.0f, 0.0f,

            0.0f, 0.0f, 0.5f, 0.0f, 0.0f,

            0, 0, 0, 1.0f, 0};

    // 泛黃

    public static final float colormatrix_huan_huang[] = {

            1.0f, 0.0f, 0.0f, 0.0f, 0.0f,

            0.0f, 1.0f, 0.0f, 0.0f, 0.0f,

            0.0f, 0.0f, 0.5f, 0.0f, 0.0f,

            0, 0, 0, 1.0f, 0};

    // 傳統

    public static final float colormatrix_chuan_tong[] = {

            1.0f, 0.0f, 0.0f, 0, -10f,

            0.0f, 1.0f, 0.0f, 0, -10f,

            0.0f, 0.0f, 1.0f, 0, -10f,

            0, 0, 0, 1, 0};

    // 膠片2

    public static final float colormatrix_jiao_pian[] = {

            0.71f, 0.2f, 0.0f, 0.0f, 60.0f,

            0.0f, 0.94f, 0.0f, 0.0f, 60.0f,

            0.0f, 0.0f, 0.62f, 0.0f, 60.0f,

            0, 0, 0, 1.0f, 0};

    // 銳色

    public static final float colormatrix_ruise[] = {

            4.8f, -1.0f, -0.1f, 0, -388.4f,

            -0.5f, 4.4f, -0.1f, 0, -388.4f,

            -0.5f, -1.0f, 5.2f, 0, -388.4f,

            0, 0, 0, 1.0f, 0};

    // 清甯

    public static final float colormatrix_qingning[] = {

            0.9f, 0, 0, 0, 0,

            0, 1.1f, 0, 0, 0,

            0, 0, 0.9f, 0, 0,

            0, 0, 0, 1.0f, 0};

    // 浪漫

    public static final float colormatrix_langman[] = {

            0.9f, 0, 0, 0, 63.0f,

            0, 0.9f, 0, 0, 63.0f,

            0, 0, 0.9f, 0, 63.0f,

            0, 0, 0, 1.0f, 0};

    // 夜色

    public static final float colormatrix_yese[] = {

            1.0f, 0.0f, 0.0f, 0.0f, -66.6f,

            0.0f, 1.1f, 0.0f, 0.0f, -66.6f,

            0.0f, 0.0f, 1.0f, 0.0f, -66.6f,

            0.0f, 0.0f, 0.0f, 1.0f, 0.0f};