BufferedImage常见问题

一、BufferedImage对象像素的读写方法

读取一个像素点的RGB值的代码如下:

        index = row * width + col;
        ta = (pixels[index] >> 24) & 0xff;
        tr = (pixels[index] >> 16) & 0xff;
        tg = (pixels[index] >> 8) & 0xff;
        tb = pixels[index] & 0xff;

设置一个像素点的RGB值的代码如下:

        index = row * width + col;
        pixels[index] = (ta << 24) | (tr << 16) | (tg << 8) | tb;

二、透明通道的支持与文件保存

如果BufferedImage对象为ARGB格式,说明支持透明通道,最佳保存格式为PNG格式,否则会造成图像信息丢失,保存失真。


三、加载图像资源文件

把要使用的图像文件与Class文件放在同一个package中,然后通过如下代码加载:

        java.net.URL imageURL = this.getClass().getResource("lena.jpg");
        try {
            image = ImageIO.read(imageURL);
        } catch (IOException e) {
            System.err.println("An error occured when loading the image icon...");
        }

四、在BufferedImage对象上绘制各种几何形状与文字等信息

可以使用如下代码实现:

        Graphics2D g2 = image.createGraphics();
        g2.draw(...);

想了解更多关于数字图像处理:数字图像处理专栏

你可能感兴趣的:(数字图像处理,Java,数字图像处理)