gpt4 book ai didi

java - Android位图像素操作返回黑色方 block

转载 作者:行者123 更新时间:2023-11-30 02:09:09 25 4
gpt4 key购买 nike

我有一个方法可以改变位图所有像素的饱和度和亮度。代码:

public static Bitmap change(Bitmap b){
Bitmap newBitmap = Bitmap.createBitmap(b.getWidth(), b.getHeight(), Bitmap.Config.ARGB_8888);
for(int x = 0; x < newBitmap.getWidth(); x++){
for(int y = 0; y < newBitmap.getHeight(); y++){
float[] hsv = new float[3];
Color.colorToHSV(b.getPixel(x, y), hsv);
hsv[1] *= 1.5f;
hsv[2] *= 1.5f;
newBitmap.setPixel(x, y, Color.HSVToColor(hsv));
}
}
return newBitmap;
}

但是当我运行它时,它只返回一个全黑的位图。

我已经检查过 Color.colorToHSV() 方法是否有效,它确实有效。所以显然问题出在 Color.HSVToColor() 或 newBitmap.setPixel()

谁能帮我解决这个问题?

最佳答案

也许新图像具有透明度,即与 hsv 相乘。尝试在 Color ARGB 中设置透明度。或者您可能将图像类型从 ARGB 更改为 RGB。也尝试在乘以 1.5 后添加检查,结果不超过 1,如果超过,则将其设置为 1。您也可以尝试将相乘后的像素设置回原始图片。

关于java - Android位图像素操作返回黑色方 block ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30353520/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com