【发布时间】:2014-06-03 15:15:19
【问题描述】:
好的,我正在设计一个与迷宫相关的游戏,现在我正在处理 GUI。
考虑到它将是 NxN 维度,我必须根据屏幕尺寸调整图像(迷宫的内容)的大小,因此无论迷宫大小如何,它都不会受到影响。
我使用了这段代码:
public static BufferedImage resizeImage(Image image, int width, int height) {
BufferedImage bufferedImage = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB);
return bufferedImage;
}
但是有一个问题。新调整大小的图像现在是黑色(完全黑色),即使它已正确调整大小(尺寸方面)。
我做错了什么?提前致谢。
【问题讨论】:
-
你可能会try instead, answered here
-
您只创建了一个新的空 BufferedImage - 没有复制和缩放旧图像的代码。
-
@Arvind 见The Perils of Image.getScaledInstance()。另外,输入“you”这个词的所有 3 个个字母有那么难吗?
-
@ErwinBolwidt 提出了一个很好的观点。 OTOH,我可能会在绘制图像时缩放图像,在
Graphics2D对象上使用仿射变换(调整大小)和一些渲染提示(使其看起来更漂亮)。 -
BTW - "..resize 图片.." 这些图片是否包含透明度?如果是这样,
BufferedImage.TYPE_INT_RGB应该是BufferedImage.TYPE_INT_ARGB。
标签: java image swing resize bufferedimage