Daniel Migowski created PDFBOX-5120:
---------------------------------------

             Summary: Need to do strange stuff to create my own PageDrawer 
Parameters
                 Key: PDFBOX-5120
                 URL: https://issues.apache.org/jira/browse/PDFBOX-5120
             Project: PDFBox
          Issue Type: Bug
          Components: Rendering
            Reporter: Daniel Migowski


Currently using the following function to create my PageDrawer Parameters:

{{    private static PageDrawerParameters createPageDrawerParameters(PDPage 
page) {
        Class<PageDrawerParameters> clazz = PageDrawerParameters.class;
        Constructor<PageDrawerParameters> c;
        try {
            c = clazz.getDeclaredConstructor(PDFRenderer.class, PDPage.class, 
boolean.class, 
                                                 RenderDestination.class, 
RenderingHints.class);
            if( !c.isAccessible() ) {
                c.setAccessible(true);
            }
            // TODO: Play with other rendering hints
            Map<Key,Object> hints = new HashMap<>();
            hints.put(RenderingHints.KEY_ALPHA_INTERPOLATION, 
RenderingHints.VALUE_ALPHA_INTERPOLATION_SPEED);
            hints.put(RenderingHints.KEY_ANTIALIASING, 
RenderingHints.VALUE_ANTIALIAS_ON);
            hints.put(RenderingHints.KEY_COLOR_RENDERING, 
RenderingHints.VALUE_COLOR_RENDER_SPEED);
            hints.put(RenderingHints.KEY_DITHERING, 
RenderingHints.VALUE_DITHER_DISABLE);
            hints.put(RenderingHints.KEY_FRACTIONALMETRICS, 
RenderingHints.VALUE_FRACTIONALMETRICS_ON);
            hints.put(RenderingHints.KEY_INTERPOLATION, 
RenderingHints.VALUE_INTERPOLATION_NEAREST_NEIGHBOR);
            hints.put(RenderingHints.KEY_RENDERING, 
RenderingHints.VALUE_RENDER_SPEED);
            hints.put(RenderingHints.KEY_TEXT_ANTIALIASING, 
RenderingHints.VALUE_TEXT_ANTIALIAS_ON);
            return c.newInstance(null,page,true,RenderDestination.VIEW,new 
RenderingHints(hints));
        } catch (Exception e) {
            throw new RuntimeException("Could not instantiate 
PageDrawerParameters.",e);
        }
    }}}

Isn't there a better way to achive this? Why isn't the constructor public at 
all? I need this to create my own PageDrawer because I am writing a PDF Viewer 
GUI in SWT that uses PDFBox for the rendering and to render I thought it would 
be nice to be able to use the PageDrawer.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

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

Reply via email to