Class ScaledImageIcon
java.lang.Object
com.formdev.flatlaf.util.ScaledImageIcon
- All Implemented Interfaces:
Icon
- Direct Known Subclasses:
FlatTitlePaneIcon
Scales the given image icon using the system and user scale factors and
paints the icon at system scale factor 1x. This gives best scaling quality.
If the given image icon supports multiple resolutions, the best resolution
variant is used. The last scaled image is cached for faster repainting.
-
Field Summary
Fields -
Constructor Summary
ConstructorsConstructorDescriptionScaledImageIcon(ImageIcon imageIcon) ScaledImageIcon(ImageIcon imageIcon, int iconWidth, int iconHeight) -
Method Summary
Modifier and TypeMethodDescriptionintintprotected ImagegetResolutionVariant(int destImageWidth, int destImageHeight) private BufferedImageimage2bufferedImage(Image image) voidprivate voidpaintLastImage(Graphics g, int x, int y) private BufferedImagescaleImage(BufferedImage image, int targetWidth, int targetHeight, Object scalingInterpolation) Scales the given image to the target dimensions.
-
Field Details
-
imageIcon
-
iconWidth
private final int iconWidth -
iconHeight
private final int iconHeight -
lastSystemScaleFactor
private double lastSystemScaleFactor -
lastUserScaleFactor
private float lastUserScaleFactor -
lastImage
-
-
Constructor Details
-
ScaledImageIcon
-
ScaledImageIcon
-
-
Method Details
-
getIconWidth
public int getIconWidth()- Specified by:
getIconWidthin interfaceIcon
-
getIconHeight
public int getIconHeight()- Specified by:
getIconHeightin interfaceIcon
-
paintIcon
-
getResolutionVariant
-
paintLastImage
-
scaleImage
private BufferedImage scaleImage(BufferedImage image, int targetWidth, int targetHeight, Object scalingInterpolation) Scales the given image to the target dimensions. This is the same what imgscalr library (https://github.com/rkalla/imgscalr) would do when invoking Scalr.resize(). -
image2bufferedImage
-