繁体   English   中英

动态设置缓冲图像的大小

[英]Dynamically set the size of buffered image

我正在使用它来设置缓冲图像的大小。

Dimension imgDim = new Dimension(700, 380);

BufferedImage gridImage = new BufferedImage(imgDim.width, imgDim.height,
    BufferedImage.TYPE_INT_RGB);

代替这个,我想使用类似下面的方法来设置图像的大小:

Dimension imgDim = d;

BufferedImage gridImage = new BufferedImage(d.width/8, d.height/8,
    BufferedImage.TYPE_INT_RGB);

但是我得到了negativeArraySizeException

d是我使用getMaximumSize()方法获取的JFrame的尺寸

当我打印出d.width/8的值时,它像268435455之类的,我无法理解。 还有另一种方法可以帮助您

谢谢

d是我使用getMaximumSize ()方法获取的JFrame的尺寸

调用pack ()方法或setSize ()方法后,将使用getSize ()方法获取d。

您应该使用getSize()而不是getMaximumSize()

如果您没有为JFrame setPreferredSize ,则getMaximumSize()将返回一个非常大的数字。 参见Component.getMaximumSize()

getSize()返回您的JFrame's当前大小

请参阅组件JavaDocs

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM