BufferedImage (Graphics g, double width, double height, int type, @NotNull PaintUtil.RoundingMode rm) { if (g instanceof Graphics2D g2d) { if (JreHiDpiUtil.isJreHiDPI(g2d)) { return new HiDPIImage(g2d, width, height, type, rm); } //noinspection UndesirableClassUsage return new BufferedImage(rm.round(width), rm.round(height), type); } return createImage(rm.round(width), rm.round(height), type); }