簡體   English   中英

BufferedImage.getRGB()的准確性

[英]Accuracy of BufferedImage.getRGB()

我已經編寫了一個程序,可以讀取jpg文件中的rgb值,但是當我用純色對其進行測試時,我得到的rgb結果有些不准確。 有人知道它是我的代碼還是它的java不正確?

RGB

紅色= 64綠色= 0藍色= 128

結果

紅色= 65綠色= 0藍色= 128

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());

    }

}

代碼似乎正確並且結果正確,Paint表示圖像也是(65,0,128)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM