Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/316.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Android-如何在位图上放置颜色?_Java_Android_Bitmap - Fatal编程技术网

Java Android-如何在位图上放置颜色?

Java Android-如何在位图上放置颜色?,java,android,bitmap,Java,Android,Bitmap,我有一张图片(),我通过Bitmap.decodeFile(路径)打开它。 但是我可以用我的位图做什么来得到这个图片呢? 我想我需要在位图上应用某种颜色遮罩。我怎么能做到 UPD我使用了以下代码来实现我的结果: UPD我做了我的代码工作!我刚刚用新的LightingColorFilter(颜色,0)替换了新的LightingColorFilter(颜色,0)。谢谢你们的帮助 试试这样的东西 Bitmap bitmap = Bitmap.decodeFile(path); Canvas can

我有一张图片(),我通过
Bitmap.decodeFile(路径)打开它。
但是我可以用我的位图做什么来得到这个图片呢?
我想我需要在位图上应用某种颜色遮罩。我怎么能做到

UPD我使用了以下代码来实现我的结果:




UPD我做了我的代码工作!我刚刚用
新的LightingColorFilter(颜色,0)
替换了
新的LightingColorFilter(颜色,0)
。谢谢你们的帮助

试试这样的东西

Bitmap bitmap = Bitmap.decodeFile(path);
Canvas canvas = new Canvas(bitmap);
Paint paint = new Paint();
paint.setColorFilter(new LightingColorFilter(0, 0x005500));
canvas.drawPaint(paint);

这应该可以满足您的需要(我还没有尝试过),尽管可能需要调整lightingColorFilter的值以获得您想要达到的效果。

您需要删除绿色通道

您可以使用名为'imagè的变量作为缓冲映像打开文件,然后使用以下代码:

    for(int i=0;i<image.getWidth();i++)
     for(int j=0;j<image.getHeight();j++){
        Color c=new Color(image.getRGB(i,j));
         int pixel=c.getRed()<<16|c.getBlue();
         image.setRGB(pixel);
     }
for(int i=0;i
    for(int i=0;i<image.getWidth();i++)
     for(int j=0;j<image.getHeight();j++){
        Color c=new Color(image.getRGB(i,j));
         int pixel=c.getRed()<<16|c.getBlue();
         image.setRGB(pixel);
     }