java - 我不明白图像类!我在这里做错了什么?

标签 java image

这里是个新手,但这里有一个小测试代码可以解释我的问题。打印的值为-1。我只是对如何返回图像的像素宽度一无所知,我在这里是否遗漏了一些非常明显的东西?这整个 ImageObserver 东西毫无意义!!!

    import java.awt.*;
    import javax.swing.*;
    import java.awt.event.*;



    class imagetest2 extends JPanel {
        Image i =Toolkit.getDefaultToolkit().getImage(/*image*/);

        public int test(){
            int x = i.getWidth(null);
            return x;
        }


    }

    class imagetest {
        public static void main(String args[]){
            imagetest2 tesst = new imagetest2();
            System.out.print(tesst.test());
        }
    }

最佳答案

Toolkit.getDefaultToolkit().getImage() 可能会异步加载几乎不是您想要的图像。

使用 ImageIOBufferedImage 而不是 getWidth()getHeight() 而不是 ImageObserver 参数(尽管如果您传递 null 其他参数也可以正常工作):

BufferedImage image = ImageIO.read("/*image*/");
int width = image.getWidth();

关于java - 我不明白图像类!我在这里做错了什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10288676/

相关文章:

mysql - MariaDB 插入 BLOB 图像

java - infinispan 中的自定义哈希函数

java - 如何使用方法引用作为 future 的回调?

java - 在 Fragments 的 ViewPager 中,Fragments 不能像卡片一样翻转

html - Facebook - 更改缩略图

python - 在 Python 中从离散像素值绘制图像的最快方法是什么?

java - 从另一个 Spring Boot JPA 项目插入的数据库中读取数据

java - 列出 n 路径密码查询的关系名称

java - 从 JButton 更改 JLabel 的图像

javascript - JQuery 在点击时替换图像