--- old/src/java.desktop/share/classes/java/awt/image/AbstractMultiResolutionImage.java 2016-04-05 17:09:46.000000000 +0400 +++ new/src/java.desktop/share/classes/java/awt/image/AbstractMultiResolutionImage.java 2016-04-05 17:09:45.000000000 +0400 @@ -26,6 +26,8 @@ import java.awt.Graphics; import java.awt.Image; +import java.util.stream.Collectors; +import sun.awt.image.MultiResolutionToolkitImage; /** * This class provides default implementations of several {@code Image} methods @@ -76,7 +78,17 @@ @Override public ImageProducer getSource() { - return getBaseImage().getSource(); + Image baseImage = getBaseImage(); + int baseWidth = baseImage.getWidth(null); + int baseHeight = baseImage.getHeight(null); + + return new MultiResolutionToolkitImage.MultiResolutionImageProducer( + getResolutionVariants().stream() + .map(rvImage -> new ResolutionVariantItem<>( + rvImage.getSource(), + rvImage.getWidth(null) / baseWidth, + rvImage.getHeight(null) / baseHeight)) + .collect(Collectors.toList())); } @Override