我编写了一个可以从jpg文件中读取rgb值的程序,但是当我用纯色测试时,我得到的rgb结果稍有不准确。有没有人知道我的代码是否是不正确的java?
RGB
RESULT
CODE
import java.awt.*;
import java.awt.image.*;
import java.io.*;
import java.util.ArrayList;
import javax.imageio.*;
public class Program {
public int[][] rgbValues;
public File imagePath = new File("src/image3.jpg");
public BufferedImage image;
public Program() throws IOException{
image = ImageIO.read(imagePath);
rgbValues = new int[image.getWidth()][image.getHeight()];
}
public void run() throws IOException{
getData();
analyzeData();
}
private void getData() throws IOException{
for (int y = 0; y < image.getHeight(); y++){
for (int x = 0; x < image.getWidth(); x++){
rgbValues[y][x] = image.getRGB(x, y);
}
}
}
private void analyzeData() throws IOException{
boolean f = image.getAlphaRaster() != null;
Color color = new Color(rgbValues[10][10], f);
System.out.println(color.getRed());
System.out.println(color.getGreen());
System.out.println(color.getBlue());
}
}
答案 0 :(得分:0)
代码看似正确并且结果也是如此,Paint说图像也是(65,0,128)