zoukankan      html  css  js  c++  java
  • ColorFilter类

     

    以前没用到过LightingColorFilter这个类 ,google了下
    @Override
     protected void onDraw(Canvas canvas) {
      
      int mul = 0xFFFFFF00; //remove BLUE component
      int add = 0x0000FF00; //set GREEN full
      LightingColorFilter lightingColorFilter = new LightingColorFilter(mul, add);
      
      Paint MyPaint_Normal = new Paint();
      Paint MyPaint_Lighting = new Paint();
      MyPaint_Lighting.setColorFilter(lightingColorFilter);
         
         Bitmap myBitmap = BitmapFactory.decodeResource(getResources(), R.drawable.ic_launcher);
         canvas.drawBitmap(myBitmap, 400, 100, MyPaint_Normal);
         canvas.drawBitmap(myBitmap, 500, 100, MyPaint_Lighting);
         
     };
    因为是基于三基色配色方案来改的,
    而且
    0xFFFFFF00  0x表示16进制数,前两个ff表示的是透明度,00-ff,接下来两个ff表示红R,00-ff,后面两个ff表示绿G,00-ff,最后两个ff表示蓝B,00-ff,
    所以呢
    int mul = 0xFFFFFF00; //remove BLUE component           移除蓝色B部分,可以根据三基色配色图看
    int add = 0x0000FF00; //set GREEN full                  绿色的填满,差不多就这个意思了。。。
    具体的还可以去测试下
    
    
    float[] colorMatrix = { 
        1, 0, 0, 0, 0, //red
        0, 0, 0, 0, 0, //green
        0, 0, 0, 0, 0, //blue
        0, 0, 0, 1, 0 //alpha  
      };
      
      Paint MyPaint = new Paint();
      ColorFilter colorFilter = new ColorMatrixColorFilter(colorMatrix);
         MyPaint.setColorFilter(colorFilter);
         
         Bitmap myBitmap = BitmapFactory.decodeResource(getResources(), R.drawable.ic_launcher);
         canvas.drawBitmap(myBitmap, 100, 100, MyPaint);
     };
    这个画出来的效果就是红色和黑色了,因为不透明,这个是color矩阵的用法
  • 相关阅读:
    201119西瓜书系列博客---5、神经网络
    GO结果画图
    Java调用R语言脚本
    CentOS 6,7 查看、修改时间时区
    eval 让shell脚本动态的构建命令
    shell脚本中awk命令内置参数与脚本参数冲突的解决方法
    Shell 传递参数
    clusterProfiler::enrichGO() is getting very slow
    R install("curl") on CentOS 7.6
    centos 7 安装 myclipse 2017 ci
  • 原文地址:https://www.cnblogs.com/krislight1105/p/3748350.html
Copyright © 2011-2022 走看看