如何在 Java 中缩放或设置 ImageIcon 的大小?

问题描述 投票:0回答:1

我找不到设置放置在 JLabel 中的 ImageIcon 大小的方法。即我想要加载尺寸为 32x32 的图像,但以 16x16 像素(或 144 dpi)的尺寸进行绘制。

我无法找到将图标大小设置为 16x16 的方法。我尝试用双 DPI 保存 png,但这被忽略了。

也必须有一种方法来绘制其他尺寸的图标(例如 2x - 2px 为 1px,对于图像效果很好),但我没有看到它。谢谢!

我找不到宽度/高度、尺寸、dpi 或类似内容的设置器。

java swing user-interface size dpi
1个回答
0
投票

没关系,我找到了一个方法: 只需创建一个实现图标接口的 ScaledIcon 类,将图像、宽度和高度作为构造函数,然后实现我自己的 PaintIcon 方法,该方法以首选宽度和高度(在构造函数中设置)绘制图标。

JLabel label = new JLabel("Some Text", new ScaledIcon(originalIcon.getImage(), 16, 16), SwingConstants.HORIZONTAL);

按预期以更高的 DPI 精细绘制图标(即,如果缩放至 200%)

© www.soinside.com 2019 - 2024. All rights reserved.