Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/218.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 将BMP中特定颜色的所有像素转换为透明的最简单方法是什么?_Java_Android_Bitmap - Fatal编程技术网

Java 将BMP中特定颜色的所有像素转换为透明的最简单方法是什么?

Java 将BMP中特定颜色的所有像素转换为透明的最简单方法是什么?,java,android,bitmap,Java,Android,Bitmap,寻找最简单的方法抓取位图并将特定颜色的每个像素转换为透明 特别是,我已经将所有希望透明的像素设置为0xFF00FF,但我没有看到任何本机方法可以做到这一点 我真的需要在所有像素之间循环比较值吗?如果是这样的话,我可以在适当的位置更改它们吗?或者我需要创建一个新的位图数组并创建一个新的位图吗?位图没有像PNG/GIF这样的alpha通道。使用透明蒙版取决于应用程序。您知道bmp格式不支持透明像素,是吗?我不确定您的意思。。。我可以将单个像素设置为Color.TRANSPARENT,我可以将带有al

寻找最简单的方法抓取位图并将特定颜色的每个像素转换为透明

特别是,我已经将所有希望透明的像素设置为0xFF00FF,但我没有看到任何本机方法可以做到这一点


我真的需要在所有像素之间循环比较值吗?如果是这样的话,我可以在适当的位置更改它们吗?或者我需要创建一个新的位图数组并创建一个新的位图吗?

位图没有像PNG/GIF这样的alpha通道。使用透明蒙版取决于应用程序。

您知道bmp格式不支持透明像素,是吗?我不确定您的意思。。。我可以将单个像素设置为Color.TRANSPARENT,我可以将带有alpha透明度的PNG加载到位图中,并且它们可以正确显示。所以随便说说,你的评论毫无意义。查看这篇文章来澄清:位图是一个有点模棱两可的术语,但你在问题中使用了BMP。这些不是PNG文件,不支持透明度。也就是说,您可以将BMP加载到内存中,并将定义颜色的颜色键控像素设置为透明,但无法将该透明写入BMP文件。-从你的问题来看,不太清楚你是想把信息写回文件还是只是把图像渲染到屏幕上。好吧,也许我不清楚。。。我有一个数组中的位图数据。我可以将任何单个像素设置为0x0 Color.TRANSPARENT,只要Bitmapl.hasAlpha==true,它就应该将该像素渲染为透明。你是对的,如果我将它保存到JPG或BMP,它将不透明,但Java中的位图绝对可以有透明像素,我只是想问是否有一种简单的方法可以将值为x 0xffff00ff的像素(例如)转换为0x0。你可以始终迭代数组并测试和转换每个像素。看看BuffereImage,我相信它可以找到某个rgb的像素并进行转换。