in thumbnails4j-pptx/src/main/java/co/elastic/thumbnails4j/pptx/PPTXThumbnailer.java [78:94]
private BufferedImage pptxToImage(XMLSlideShow pptx){
Dimension pageSize = pptx.getPageSize();
Dimensions optimizedDimensions = ThumbnailUtils.memoryOptimiseDimension(new Dimensions(pageSize.width, pageSize.height));
double scaleFactor = ((double) optimizedDimensions.getWidth()) / pageSize.width;
BufferedImage image = new BufferedImage(optimizedDimensions.getWidth(), optimizedDimensions.getHeight(), BufferedImage.TYPE_INT_RGB);
Graphics2D graphics = image.createGraphics();
graphics.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
graphics.setRenderingHint(RenderingHints.KEY_RENDERING, RenderingHints.VALUE_RENDER_QUALITY);
graphics.setRenderingHint(RenderingHints.KEY_INTERPOLATION, RenderingHints.VALUE_INTERPOLATION_BICUBIC);
graphics.setRenderingHint(RenderingHints.KEY_FRACTIONALMETRICS, RenderingHints.VALUE_FRACTIONALMETRICS_ON);
graphics.setPaint(Color.white);
graphics.fill(new Rectangle2D.Float(0, 0, optimizedDimensions.getWidth(), optimizedDimensions.getHeight()));
graphics.scale(scaleFactor, scaleFactor);
pptx.getSlides().get(0).draw(graphics);
graphics.dispose();
return image;
}