Package javax.media.jai

Examples of javax.media.jai.PlanarImage


            RenderedOp op = (RenderedOp)opNode;

            ParameterBlock pb = op.getParameterBlock();

            // Retrieve the rendered source image and its ROI.
            PlanarImage src = (PlanarImage)pb.getRenderedSource(0);
            Object roiProperty = src.getProperty("ROI");
            if(roiProperty == null ||
               roiProperty == java.awt.Image.UndefinedProperty ||
               !(roiProperty instanceof ROI)) {
                return java.awt.Image.UndefinedProperty;
            }
            ROI roi = (ROI)roiProperty;

            // Determine the effective destination bounds.
            Rectangle dstBounds = null;
            PlanarImage dst = op.getRendering();
            if(dst instanceof AreaOpImage &&
               ((AreaOpImage)dst).getBorderExtender() == null) {
                AreaOpImage aoi = (AreaOpImage)dst;
                dstBounds =
                    new Rectangle(aoi.getMinX() + aoi.getLeftPadding(),
                                  aoi.getMinY() + aoi.getTopPadding(),
                                  aoi.getWidth() -
                                  aoi.getLeftPadding() -
                                  aoi.getRightPadding(),
                                  aoi.getHeight() -
                                  aoi.getTopPadding() -
                                  aoi.getBottomPadding());
            } else {
                dstBounds = dst.getBounds();
            }

            // If necessary, clip the ROI to the destination bounds.
            // XXX Is this desirable?
            if(!dstBounds.contains(roi.getBounds())) {
View Full Code Here


        }
       
        if(imgWrapper.getImageFormat() == ImageFormat.GIF) {
            imgWrapper = ImageScaleHelper.scaleGIF(imgWrapper, zoom);
        } else {
            PlanarImage img = ImageScaleHelper.scale(imgWrapper.getAsPlanarImage(), zoom);
            imgWrapper.setImage(img);
        }

        return imgWrapper;
    }
View Full Code Here

        if(imgWrapper == null) {
            imgWrapper = imageRender.render();
        }
       
        for (int i = 0; i < imgWrapper.getNumOfImages(); i++) {
            PlanarImage pi = ImageCropHelper.crop(imgWrapper.getAsPlanarImage(i), this.cropParameter);
            imgWrapper.setImage(i, pi);
        }
       
        return imgWrapper;
    }
View Full Code Here

            RenderingHints cmykHints = new RenderingHints(JAI.KEY_IMAGE_LAYOUT, cmykImageLayout);
            cmykHints.put(RenderingHints.KEY_RENDERING, RenderingHints.VALUE_RENDER_QUALITY);
            ParameterBlockJAI pb = new ParameterBlockJAI("format");
            pb.addSource(src);
            pb.setParameter("datatype", src.getSampleModel().getDataType());
            PlanarImage op = JAI.create("format", pb, cmykHints);

            // invert CMYK pixel value
            pb = new ParameterBlockJAI("invert");
            pb.addSource(src);
            op = JAI.create("invert", pb, cmykHints);

            // -- Convert CMYK to RGB
            ColorSpace rgbColorSpace = ColorSpace.getInstance(ColorSpace.CS_sRGB);
            ColorModel rgbColorModel = RasterFactory.createComponentColorModel(DataBuffer.TYPE_BYTE, rgbColorSpace,
                                                                               false, true, Transparency.OPAQUE);
            ImageLayout rgbImageLayout = new ImageLayout();
            rgbImageLayout.setSampleModel(rgbColorModel.createCompatibleSampleModel(op.getWidth(), op.getHeight()));
            RenderingHints rgbHints = new RenderingHints(JAI.KEY_IMAGE_LAYOUT, rgbImageLayout);
            rgbHints.put(RenderingHints.KEY_RENDERING, RenderingHints.VALUE_RENDER_QUALITY);
            pb = new ParameterBlockJAI("colorconvert");
            pb.addSource(op);
            pb.setParameter("colormodel", rgbColorModel);
View Full Code Here

    static File path = new File("./src/test/resources/conf.test/simpleimage/scale");

    protected ImageWrapper getImage() throws Exception {
        File input = new File(path.getCanonicalPath() + File.separator + "st.jpg");
        PlanarImage img = JAI.create("ImageRead", input);
        ImageWrapper imgWrapper = new ImageWrapper(img, 0);

        return imgWrapper;
    }
View Full Code Here

        NodeUtils.setAttrValue(screenDescNode, "logicalScreenWidth", newWidth);
        NodeUtils.setAttrValue(screenDescNode, "logicalScreenHeight", newHeight);
        NodeUtils.removeChild(streamMetadata, "GlobalColorTable");

        for (int i = 0; i < imgWrapper.getNumOfImages(); i++) {
            PlanarImage img = imgWrapper.getAsPlanarImage(i);
            Node imgMetadata = imgWrapper.getMetadata(i);

            if (img.getColorModel() instanceof IndexColorModel) {
                throw new SimpleImageException(
                                               "Unsupported scale image with IndexColorModel, please convert to RGB color model first");
            }
            // No more need, index color model will triger throws exception first
            // NodeUtils.removeChild(imgMetadata, "LocalColorTable");
View Full Code Here

        pb.add(scale);
        pb.add(scale);

        // Because the mlib subsampleaverage has bug, use pure java version
        SubsampleAverageCRIF factory = new SubsampleAverageCRIF();
        PlanarImage zoomOp = (PlanarImage) factory.create(pb, qualityHints);

        return zoomOp;
    }
View Full Code Here

            return PaletteBuilder.createIndexedImage(src);
        }
       
        SampleModel sm = src.getSampleModel();
        if(!(sm.getNumBands() != && sm.getDataType() == DataBuffer.TYPE_BYTE)) {
            PlanarImage pi = PlanarImage.wrapRenderedImage(src);
            ParameterBlock pb = new ParameterBlock();
            pb.addSource(pi);
            pb.add(getQuantizationAlgorithm(quantAlgorithm));
            pi = JAI.create("ColorQuantizer", pb);
           
View Full Code Here

     * @param dst      The destination image to be tested.
     * @param dstRect  The rectangle of interest within dst.
     */
    public static void testOpImage(OpImage dst, Rectangle dstRect) {
        for (int i = 0; i < dst.getNumSources(); i++) {
            PlanarImage src = dst.getSourceImage(i);
            Rectangle srcRect = dst.mapDestRect(dstRect, i);
            String message = "Source " + (i+1) + ":";
            printPixels(message, src, srcRect);
        }
        printPixels("Dest:", dst, dstRect);
View Full Code Here

        ImageLayout layout = new ImageLayout();
        layout.setTileWidth(64);
        layout.setTileHeight(64);
        layout.setColorModel(OpImageTester.createComponentColorModel());

        PlanarImage image =
            new RandomOpImage(0, 0, 100, 100,
                              RasterFactory.createPixelInterleavedSampleModel(
                                              DataBuffer.TYPE_BYTE, 64, 64, 3),
                              null, layout);
View Full Code Here

TOP

Related Classes of javax.media.jai.PlanarImage

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.