[ 
https://issues.apache.org/jira/browse/PDFBOX-3359?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15304214#comment-15304214
 ] 

Tilman Hausherr edited comment on PDFBOX-3359 at 5/27/16 3:47 PM:
------------------------------------------------------------------

[~ivanrf] please test again and give feedback. I combined both the old code 
(clear before transforming, works fine for images) and the new code (clear 
after transforming, works for graphics).

To check that rotated images are also displayed correctly in graphics, use a 
file from PDFBOX-3083.


was (Author: tilman):
[~ivanrf] please test again and give feedback. I combined both the old code 
(clear before transforming, works fine for images) and the new code (clear 
after transforming, works for graphics).

> Drawing to Graphics2D / ScratchFileBuffer not closed
> ----------------------------------------------------
>
>                 Key: PDFBOX-3359
>                 URL: https://issues.apache.org/jira/browse/PDFBOX-3359
>             Project: PDFBox
>          Issue Type: Bug
>          Components: Rendering
>    Affects Versions: 2.0.1
>            Reporter: Ivan Ridao Freitas
>
> First, there is a little bug on PDFRenderer.renderPageToGraphics(int 
> pageIndex, Graphics2D graphics, float scale) when using scale != 1 the call 
> to clearRect() fills the original size with white background, but it should 
> fill the scaled size.
> Second, I implemented a JPanel which is painted using that function and on 
> every paint this message goes to the console:
> "DEBUG ScratchFileBuffer:516 - ScratchFileBuffer not closed!". Here is the 
> code to test it, run it and *resize the JFrame*:
> {code:title=PanelTest.java|borderStyle=solid}
> import java.awt.Dimension;
> import java.awt.Graphics;
> import java.awt.Graphics2D;
> import java.io.File;
> import java.io.IOException;
> import javax.swing.JFrame;
> import javax.swing.JPanel;
> import javax.swing.SwingUtilities;
> import javax.swing.WindowConstants;
> import org.apache.pdfbox.pdmodel.PDDocument;
> import org.apache.pdfbox.rendering.PDFRenderer;
> public class PanelTest {
>    
>     private static JPanel getTestPanel() {
>         PDDocument doc = null;
>         try {
>             doc = PDDocument.load(new File("anyfile.pdf"));
>         } catch (IOException e) {
>             e.printStackTrace();
>         }
>         final PDFRenderer renderer = new PDFRenderer(doc);
>         JPanel panel = new JPanel() {
>             @Override
>             protected void paintComponent(Graphics g) {
>                 try {
>                     renderer.renderPageToGraphics(0, (Graphics2D) g, 0.5f);
>                 } catch (IOException e) {
>                     e.printStackTrace();
>                 }
>             }
>         };
>         return panel;
>     }
>     public static void main(String[] args) throws Exception {
>         SwingUtilities.invokeLater(new Runnable() {
>             @Override
>             public void run() {
>                 JFrame frame = new JFrame();
>                 frame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
>                 frame.add(getTestPanel());
>                 frame.pack();
>                 frame.setSize(600, 400);
>                 Dimension paneSize = frame.getSize();
>                 Dimension screenSize = frame.getToolkit().getScreenSize();
>                 frame.setLocation((screenSize.width - paneSize.width) / 2, 
> (screenSize.height - paneSize.height) / 2);
>                 frame.setTitle("Test");
>                 frame.setVisible(true);
>             }
>         });
>     }
> }
> {code}
> Ivan 



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@pdfbox.apache.org
For additional commands, e-mail: dev-h...@pdfbox.apache.org

Reply via email to