gpt4 book ai didi

java - 当我读取图像像素时,像素 Alpha 始终为 255

转载 作者:行者123 更新时间:2023-12-01 21:33:55 26 4
gpt4 key购买 nike

在下面的代码示例中,我将图像像素 Alpha 值设置为 70,但是当我再次提取它时,我得到 255。我提取错误还是设置错误?我错过了什么或不明白什么。

public void createImage()
{


BufferedImage img = new BufferedImage(2, 2,
BufferedImage.TYPE_INT_RGB);

//Set Pixel

int red = 50;
int green = 10;
int blue = 100;
int alpha = 70;


int col = (alpha << 24) | (red << 16) | (green << 8) | blue;

img.setRGB(0, 0, col); //Set pixel 0,0


//Read Pixel

int colint = img.getRGB(0, 0); //Get pixel 0,0


Color newCol = new Color(colint,true);

int alphaToPrint = newCol.getAlpha();
int redToPrint = newCol.getRed();
int greenToPrint = newCol.getGreen();
int blueToPrint = newCol.getBlue();


System.out.println("redToPrint :" +String.valueOf(redToPrint));
System.out.println("greenToPrint :" +String.valueOf(greenToPrint));
System.out.println("blueToPrint :" +String.valueOf(blueToPrint));
System.out.println("alphaToPrint :" +String.valueOf(alphaToPrint));



}

运行代码的结果:

enter image description here

我期望在读取 alpha 值时得到 70:

int alphaToPrint = newCol.getAlpha();

请帮忙。

最佳答案

您的 BufferedImage 没有 Alpha channel (TYPE_INT_RGB)

使用 BufferedImage.TYPE_INT_ARGB 代替(注意“A”)

关于java - 当我读取图像像素时,像素 Alpha 始终为 255,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37164063/

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