Class ScaledImageIcon

java.lang.Object
com.formdev.flatlaf.util.ScaledImageIcon
All Implemented Interfaces:
Icon
Direct Known Subclasses:
FlatTitlePaneIcon

public class ScaledImageIcon extends Object implements Icon
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 Details

    • imageIcon

      private final ImageIcon imageIcon
    • iconWidth

      private final int iconWidth
    • iconHeight

      private final int iconHeight
    • lastSystemScaleFactor

      private double lastSystemScaleFactor
    • lastUserScaleFactor

      private float lastUserScaleFactor
    • lastImage

      private Image lastImage
  • Constructor Details

    • ScaledImageIcon

      public ScaledImageIcon(ImageIcon imageIcon)
    • ScaledImageIcon

      public ScaledImageIcon(ImageIcon imageIcon, int iconWidth, int iconHeight)
  • Method Details

    • getIconWidth

      public int getIconWidth()
      Specified by:
      getIconWidth in interface Icon
    • getIconHeight

      public int getIconHeight()
      Specified by:
      getIconHeight in interface Icon
    • paintIcon

      public void paintIcon(Component c, Graphics g, int x, int y)
      Specified by:
      paintIcon in interface Icon
    • getResolutionVariant

      protected Image getResolutionVariant(int destImageWidth, int destImageHeight)
    • paintLastImage

      private void paintLastImage(Graphics g, int x, int y)
    • 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

      private BufferedImage image2bufferedImage(Image image)