Rendering a slide on a bitmap created as BufferedImage.TYPE_BYTE_GRAY. I’m using Aspose Slides for Java 20.3.
Sample stacktrace:
java.lang.RuntimeException: Cannot create graphic object from indexed image format
at com.aspose.slides.internal.ey.throws.<init>(Unknown Source)
at com.aspose.slides.internal.ey.catch.do(Unknown Source)
at com.aspose.slides.internal.ey.catch.do(Unknown Source)
at com.aspose.slides.Slide.renderToGraphics(Unknown Source)
at aspose.SlidesTest.testFailureToRenderOnGrayscale(SlidesTest.java:61)
Sample code:
//load
File slides = new File("test-resources/Test Presentation.pptx");
Presentation doc = new Presentation(slides.getAbsolutePath());
ISlide slide = doc.getSlides().get_Item(0);
//prepare image
BufferedImage img = new BufferedImage(200, 200, BufferedImage.TYPE_BYTE_GRAY);
NotesCommentsLayoutingOptions ncl = new NotesCommentsLayoutingOptions();
//render image
Graphics2D gr = img.createGraphics();
gr.setRenderingHint(RenderingHints.KEY_TEXT_ANTIALIASING, RenderingHints.VALUE_TEXT_ANTIALIAS_ON);
gr.setBackground(Color.WHITE);
gr.clearRect(0, 0, img.getWidth(), img.getHeight());
//the following line throws an exception in Aspose Slides 20.3
slide.renderToGraphics(ncl, gr, img.getWidth(), img.getHeight());
gr.dispose();
Any powerpoint file can be used.