final double scalex = (double) component.getWidth() / bi.getWidth(); final double scaley = (double) component.getHeight() / bi.getHeight(); final double scale = Math.min(scalex, scaley); if (scale <= 1d) { return bi.getScaledInstance((int) (bi.getWidth() * scale) - insetX, (int) (bi.getHeight() * scale) - insetY, Image.SCALE_SMOOTH); } else { return bi; ...
return new ImageIcon(bufferedImage.getScaledInstance(width, height, BufferedImage.SCALE_SMOOTH));
if (maxCols == -1) maxCols = bimg.getWidth(null); if (maxRows == -1) maxRows = bimg.getHeight(null); if (maxCols == -1 || maxRows == -1) { Image srcImg = new ImageIcon(bimg).getImage(); maxCols = srcImg.getWidth(null); maxRows = srcImg.getHeight(null); ...