Package org.apache.batik.ext.awt.image.renderable

Examples of org.apache.batik.ext.awt.image.renderable.DeferRable


     *                    specify applied.
     */
    public Filter handleStream(InputStream inIS,
                               ParsedURL   origURL,
                               boolean     needRawData) {
        final DeferRable  dr  = new DeferRable();
        final InputStream is  = inIS;
        final String      errCode;
        final Object []   errParam;
        if (origURL != null) {
            errCode  = ERR_URL_FORMAT_UNREADABLE;
            errParam = new Object[] {"JPEG", origURL};
        } else {
            errCode  = ERR_STREAM_FORMAT_UNREADABLE;
            errParam = new Object[] {"JPEG"};
        }

        Thread t = new Thread() {
                public void run() {
                    Filter filt;
                    try{
                        JPEGImageDecoder decoder;
                        decoder = JPEGCodec.createJPEGDecoder(is);
                        BufferedImage image;
                        try {
                            image   = decoder.decodeAsBufferedImage();
                        } catch (TruncatedFileException tfe) {
                            image = tfe.getBufferedImage();
                            // Should probably draw some indication
                            // that this is a partial image....
                            if (image == null)
                                throw new IOException
                                    ("JPEG File was truncated");
                        }
                        dr.setBounds(new Rectangle2D.Double
                                     (0, 0, image.getWidth(),
                                      image.getHeight()));
                        CachableRed cr;
                        cr = GraphicsUtil.wrap(image);
                        cr = new Any2sRGBRed(cr);
                        cr = new FormatRed(cr, GraphicsUtil.sRGB_Unpre);
                        WritableRaster wr = (WritableRaster)cr.getData();
                        ColorModel cm = cr.getColorModel();
                        image = new BufferedImage
                            (cm, wr, cm.isAlphaPremultiplied(), null);
                        cr = GraphicsUtil.wrap(image);
                        filt = new RedRable(cr);
                    } catch (IOException ioe) {
                        // Something bad happened here...
                        filt = ImageTagRegistry.getBrokenLinkImage
                            (JPEGRegistryEntry.this, errCode, errParam);
                    } catch (ThreadDeath td) {
                        filt = ImageTagRegistry.getBrokenLinkImage
                            (JPEGRegistryEntry.this, errCode, errParam);
                        dr.setSource(filt);
                        throw td;
                    } catch (Throwable t) {
                        filt = ImageTagRegistry.getBrokenLinkImage
                            (JPEGRegistryEntry.this, errCode, errParam);
                    }

                    dr.setSource(filt);
                }
            };
        t.start();
        return dr;
    }
View Full Code Here


            url = new URL(purl.toString());
        } catch (MalformedURLException mue) {
            return null;
        }

        final DeferRable  dr  = new DeferRable();
        final String      errCode;
        final Object []   errParam;
        if (purl != null) {
            errCode  = ERR_URL_FORMAT_UNREADABLE;
            errParam = new Object[] {"JDK", url};
        } else {
            errCode  = ERR_STREAM_FORMAT_UNREADABLE;
            errParam = new Object[] {"JDK"};
        }

        Thread t = new Thread() {
                public void run() {
                    Filter filt = null;
                    try {
                        Toolkit tk = Toolkit.getDefaultToolkit();
                        Image img = tk.createImage(url);

                        if (img != null) {
                            RenderedImage ri = loadImage(img, dr);
                            if (ri != null) {
                                filt = new RedRable(GraphicsUtil.wrap(ri));
                            }
                        }
                    } catch (ThreadDeath td) {
                        filt = ImageTagRegistry.getBrokenLinkImage
                            (JDKRegistryEntry.this, errCode, errParam);
                        dr.setSource(filt);
                        throw td;
                    } catch (Throwable t) { }
                    if (filt == null)
                        filt = ImageTagRegistry.getBrokenLinkImage
                            (JDKRegistryEntry.this, errCode, errParam);

                    dr.setSource(filt);
                }
            };
        t.start();
        return dr;
    }
View Full Code Here

     */
    public Filter handleStream(InputStream inIS,
                               ParsedURL   origURL,
                               boolean needRawData) {

        final DeferRable  dr  = new DeferRable();
        final InputStream is  = inIS;
        final String      errCode;
        final Object []   errParam;
        if (origURL != null) {
            errCode  = ERR_URL_FORMAT_UNREADABLE;
            errParam = new Object[] {"TIFF", origURL};
        } else {
            errCode  = ERR_STREAM_FORMAT_UNREADABLE;
            errParam = new Object[] {"TIFF"};
        }

        Thread t = new Thread() {
                public void run() {
                    Filter filt;
                    try {
                        TIFFDecodeParam param = new TIFFDecodeParam();
                        SeekableStream ss =
                            SeekableStream.wrapInputStream(is, true);
                        CachableRed cr = new TIFFImage(ss, param, 0);
                        cr = new Any2sRGBRed(cr);
                        filt = new RedRable(cr);
                    } catch (IOException ioe) {
                        filt = ImageTagRegistry.getBrokenLinkImage
                            (TIFFRegistryEntry.this, errCode, errParam);
                    } catch (ThreadDeath td) {
                        filt = ImageTagRegistry.getBrokenLinkImage
                            (TIFFRegistryEntry.this, errCode, errParam);
                        dr.setSource(filt);
                        throw td;
                    } catch (Throwable t) {
                        filt = ImageTagRegistry.getBrokenLinkImage
                            (TIFFRegistryEntry.this, errCode, errParam);
                    }

                    dr.setSource(filt);
                }
            };
        t.start();
        return dr;
    }
View Full Code Here

     *                    specify applied. 
     */
    public Filter handleStream(InputStream inIS,
                               ParsedURL   origURL,
                               boolean     needRawData) {
        final DeferRable  dr  = new DeferRable();
        final InputStream is  = inIS;
        final String      errCode;
        final Object []   errParam;
        if (origURL != null) {
            errCode  = ERR_URL_FORMAT_UNREADABLE;
            errParam = new Object[] {getFormatName(), origURL};
        } else {
            errCode  = ERR_STREAM_FORMAT_UNREADABLE;
            errParam = new Object[] {getFormatName()};
        }

        Thread t = new Thread() {
                public void run() {
                    Filter filt;
                    try{
                        Iterator iter = ImageIO.getImageReadersByMIMEType(
                                getMimeTypes().get(0).toString());
                        if (!iter.hasNext()) {
                            throw new UnsupportedOperationException(
                                    "No image reader for "
                                        + getFormatName() + " available!");
                        }
                        ImageReader reader = (ImageReader)iter.next();
                        ImageInputStream imageIn = ImageIO.createImageInputStream(is);
                        reader.setInput(imageIn, true);
                       
                        int imageIndex = 0;
                        dr.setBounds(new Rectangle2D.Double
                                     (0, 0,
                                      reader.getWidth(imageIndex),
                                      reader.getHeight(imageIndex)));
                        CachableRed cr;
                        //Naïve approach probably wasting lots of memory
                        //and ignoring the gamma correction done by PNGRed :-(
                        BufferedImage bi = reader.read(imageIndex);
                        cr = GraphicsUtil.wrap(bi);
                        cr = new Any2sRGBRed(cr);
                        cr = new FormatRed(cr, GraphicsUtil.sRGB_Unpre);
                        WritableRaster wr = (WritableRaster)cr.getData();
                        ColorModel cm = cr.getColorModel();
                        BufferedImage image = new BufferedImage
                            (cm, wr, cm.isAlphaPremultiplied(), null);
                        cr = GraphicsUtil.wrap(image);
                        filt = new RedRable(cr);
                    } catch (IOException ioe) {
                        // Something bad happened here...
                        filt = ImageTagRegistry.getBrokenLinkImage
                            (AbstractImageIORegistryEntry.this,
                             errCode, errParam);
                    } catch (ThreadDeath td) {
                        filt = ImageTagRegistry.getBrokenLinkImage
                            (AbstractImageIORegistryEntry.this,
                             errCode, errParam);
                        dr.setSource(filt);
                        throw td;
                    } catch (Throwable t) {
                        filt = ImageTagRegistry.getBrokenLinkImage
                            (AbstractImageIORegistryEntry.this,
                             errCode, errParam);
                    }

                    dr.setSource(filt);
                }
            };
        t.start();
        return dr;
    }
View Full Code Here

     *                    any default color correction the file may
     *                    specify applied. 
     */
    public Filter handleStream(InputStream inIS, boolean needRawData) {

        final DeferRable  dr  = new DeferRable();
        final InputStream is  = inIS;

        Thread t = new Thread() {
                public void run() {
                    Filter filt;
                    try{
                        JPEGImageDecoder decoder;
                        decoder = JPEGCodec.createJPEGDecoder(is);
                        BufferedImage image;
                        image   = decoder.decodeAsBufferedImage();
                        filt = new RedRable(GraphicsUtil.wrap(image));
                    } catch (IOException ioe) {
                        // Something bad happened here...
                        filt = ImageTagRegistry.getBrokenLinkImage();
                    }

                    dr.setSource(filt);
                }
            };
        t.start();
        return dr;
    }
View Full Code Here

     *                    any default color correction the file may
     *                    specify applied. 
     */
    public Filter handleStream(InputStream inIS, boolean needRawData) {

        final DeferRable  dr  = new DeferRable();
        final InputStream is  = inIS;
        final boolean     raw = needRawData;

        Thread t = new Thread() {
                public void run() {
                    Filter filt;
                    try {
                        PNGDecodeParam param = new PNGDecodeParam();
                        param.setExpandPalette(true);
                       
                        if (raw)
                            param.setPerformGammaCorrection(false);
                        else {
                            param.setPerformGammaCorrection(true);
                            param.setDisplayExponent(2.4f); // sRGB gamma
                        }
                        CachableRed cr = new PNGRed(is, param);
                        cr = new Any2sRGBRed(cr);
                        filt = new RedRable(cr);

                    } catch (IOException ioe) {
                        filt = ImageTagRegistry.getBrokenLinkImage();
                    }

                    dr.setSource(filt);
                }
            };
        t.start();
        return dr;
    }
View Full Code Here

     *                    any default color correction the file may
     *                    specify applied. 
     */
    public Filter handleURL(ParsedURL purl, boolean needRawData) {
       
        final DeferRable       dr         = new DeferRable();
 
        URL              url;
        try {
            url = new URL(purl.toString());
        } catch (MalformedURLException mue) {
            return null;
        }

        Toolkit tk = Toolkit.getDefaultToolkit();
        final Image img = tk.createImage(url);
        if (img == null)
            return null;

        Thread t = new Thread() {
               
                public RenderedImage loadImage(Image img) {
                    // In some cases the image will be a
                    // BufferedImage (subclass of RenderedImage).
                    if (img instanceof RenderedImage)
                        return (RenderedImage)img;

                    // Setup the mediaTracker.
                    int myID;
                    synchronized (mediaTracker) {
                        myID = id++;
                    }

                    // Add our image to the media tracker and wait....
                    mediaTracker.addImage(img, myID);
                    while (true) {
                        try {
                            mediaTracker.waitForID(myID);
                        }
                        catch(InterruptedException ie) {
                                // Something woke us up but the image
                                // isn't done yet, so try again.
                            continue;
                        };

                        // All done!
                        break;
                    }

                    // Clean up our registraction
                    mediaTracker.removeImage(img, myID);

                    if ((img.getWidth(null== -1)||
                        (img.getHeight(null) == -1))
                        return null;

                    // Build the image to .
                    BufferedImage bi = null;
                    bi = new BufferedImage(img.getWidth(null),
                                           img.getHeight(null),
                                           BufferedImage.TYPE_INT_ARGB);
                    Graphics2D g2d = bi.createGraphics();

                    g2d.drawImage(img, 0, 0, null);
                    g2d.dispose();
                    return bi;
                }

                public void run() {
                    Filter filt;
                    RenderedImage ri = loadImage(img);
                    if (ri == null)
                        filt = ImageTagRegistry.getBrokenLinkImage();
                    else
                        filt = new RedRable(GraphicsUtil.wrap(ri));
                    dr.setSource(filt);
                }
            };
        t.start();
        return dr;
    }
View Full Code Here

        Toolkit tk = Toolkit.getDefaultToolkit();
        final Image img = tk.createImage(url);
        if (img == null)
            return null;

        final DeferRable dr     = new DeferRable();
        final String     errCode  = ERR_URL_FORMAT_UNREADABLE;
        final Object []  errParam = new Object[] {"JDK", purl};

        Thread t = new Thread() {
               
                public RenderedImage loadImage(Image img) {
                    // In some cases the image will be a
                    // BufferedImage (subclass of RenderedImage).
                    if (img instanceof RenderedImage)
                        return (RenderedImage)img;

                    // Setup the mediaTracker.
                    int myID;
                    synchronized (mediaTracker) {
                        myID = id++;
                    }

                    // Add our image to the media tracker and wait....
                    mediaTracker.addImage(img, myID);
                    while (true) {
                        try {
                            mediaTracker.waitForID(myID);
                        }
                        catch(InterruptedException ie) {
                                // Something woke us up but the image
                                // isn't done yet, so try again.
                            continue;
                        };

                        // All done!
                        break;
                    }

                    // Clean up our registraction
                    mediaTracker.removeImage(img, myID);

                    if ((img.getWidth(null== -1)||
                        (img.getHeight(null) == -1))
                        return null;

                    // Build the image to .
                    BufferedImage bi = null;
                    bi = new BufferedImage(img.getWidth(null),
                                           img.getHeight(null),
                                           BufferedImage.TYPE_INT_ARGB);
                    Graphics2D g2d = bi.createGraphics();

                    g2d.drawImage(img, 0, 0, null);
                    g2d.dispose();
                    return bi;
                }

                public void run() {
                    Filter filt;
                    RenderedImage ri = loadImage(img);
                    if (ri == null)
                        filt = ImageTagRegistry.getBrokenLinkImage
                            (errCode, errParam);
                    else
                        filt = new RedRable(GraphicsUtil.wrap(ri));
                    dr.setSource(filt);
                }
            };
        t.start();
        return dr;
    }
View Full Code Here

     */
    public Filter handleStream(InputStream inIS,
                               ParsedURL   origURL,
                               boolean     needRawData) {

        final DeferRable  dr  = new DeferRable();
        final InputStream is  = inIS;
        final String      errCode;
        final Object []   errParam;
        if (origURL != null) {
            errCode  = ERR_URL_FORMAT_UNREADABLE;
            errParam = new Object[] {"JPEG", origURL};
        } else {
            errCode  = ERR_STREAM_FORMAT_UNREADABLE;
            errParam = new Object[] {"JPEG"};
        }

        Thread t = new Thread() {
                public void run() {
                    Filter filt;
                    try{
                        JPEGImageDecoder decoder;
                        decoder = JPEGCodec.createJPEGDecoder(is);
                        BufferedImage image;
                        image   = decoder.decodeAsBufferedImage();
                        filt = new RedRable(GraphicsUtil.wrap(image));
                    } catch (IOException ioe) {
                        // Something bad happened here...
                        filt = ImageTagRegistry.getBrokenLinkImage
                            (errCode, errParam);
                    }

                    dr.setSource(filt);
                }
            };
        t.start();
        return dr;
    }
View Full Code Here

     *                    specify applied.  */
    public Filter handleStream(InputStream inIS,
                               ParsedURL   origURL,
                               boolean needRawData) {

        final DeferRable  dr  = new DeferRable();
        final InputStream is  = inIS;
        final boolean     raw = needRawData;
        final String      errCode;
        final Object []   errParam;
        if (origURL != null) {
            errCode  = ERR_URL_FORMAT_UNREADABLE;
            errParam = new Object[] {"TIFF", origURL};
        } else {
            errCode  = ERR_STREAM_FORMAT_UNREADABLE;
            errParam = new Object[] {"TIFF"};
        }

        Thread t = new Thread() {
                public void run() {
                    Filter filt;
                    try {
                        TIFFDecodeParam param = new TIFFDecodeParam();
                        SeekableStream ss =
                            SeekableStream.wrapInputStream(is, true);
                        CachableRed cr = new TIFFImage(ss, param, 0);
                        cr = new Any2sRGBRed(cr);
                        filt = new RedRable(cr);
                    } catch (IOException ioe) {
                        filt = ImageTagRegistry.getBrokenLinkImage
                            (errCode, errParam);
                    } catch (Throwable t) {
                        filt = ImageTagRegistry.getBrokenLinkImage
                            (errCode, errParam);
                    }

                    dr.setSource(filt);
                }
            };
        t.start();
        return dr;
    }
View Full Code Here

TOP

Related Classes of org.apache.batik.ext.awt.image.renderable.DeferRable

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.