图片处理中,红绿蓝三色的比对和提取
编辑时间:2024-09-22 作者:金满斗 浏览量:337 来源:原创

写一个图片压缩的库,先把不作用的红绿蓝去掉。

直接上代码吧。

var so = soImage();

//统计图片中灰度颜色,把灰度全部转为纯白
        var blankCount = 0;
        var colorNum,red,green,blue=0,0,0,0;
        var lieNum ,hangNum= so.getWidth()-1, so.getHeight()-1; //获取列数,获取行数
        for(lieNum=1;lieNum;50){
                for(hangNum=1;hangNum;50){//某列中的每一行
                         colorNum = so.getPixel(lieNum,hangNum);
                        //var hexColor = tostring(colorNum,16);    //转16进制显示好看
red = (colorNum >> 16) & 0xFF;   // 提取红色分量
green = (colorNum >> 8) & 0xFF;   // 提取绿色分量
blue = colorNum & 0xFF;    // 提取蓝色分量
                        if(red>200 && green>200 && blue>200){
                            blankCount++;        
                        }  
                }
        }



关键是这几句 

colorNum = so.getPixel(lieNum,hangNum);
                        //var hexColor = tostring(colorNum,16);    //转16进制显示好看
red = (colorNum >> 16) & 0xFF;   // 提取红色分量
green = (colorNum >> 8) & 0xFF;   // 提取绿色分量
blue = colorNum & 0xFF;    // 提取蓝色分量

这个是通用的


来说两句吧