Package java.awt.image

Examples of java.awt.image.AffineTransformOp


        }

        if(op == null) {
            drawImage(bufImage, x, y, null);
        } else if(op instanceof AffineTransformOp){
            AffineTransformOp atop = (AffineTransformOp) op;
            AffineTransform xform = atop.getTransform();
            Surface srcSurf = Surface.getImageSurface(bufImage);
            int w = srcSurf.getWidth();
            int h = srcSurf.getHeight();
            blitter.blit(0, 0, srcSurf, x, y, dstSurf, w, h,
                    (AffineTransform) transform.clone(), xform,
View Full Code Here


            JPEGImageDecoder decoder = JPEGCodec.createJPEGDecoder(in);
            Raster original = decoder.decodeAsRaster();
            JPEGDecodeParam decodeParam = decoder.getJPEGDecodeParam();
            double ow = (double) decodeParam.getWidth();
            double oh = (double) decodeParam.getHeight();
            AffineTransformOp filter = new AffineTransformOp(getTransform(ow, oh, w, h), AffineTransformOp.TYPE_BILINEAR);
            WritableRaster scaled = filter.createCompatibleDestRaster(original);
            filter.filter(original, scaled);
            // JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(out);
            ByteArrayOutputStream bstream = new ByteArrayOutputStream();
            JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(bstream);
            encoder.encode(scaled);
            in.close();
View Full Code Here

    else
      g2d.translate(0, 24);
    g2d.fill(path);
   
    AffineTransform transform = AffineTransform.getScaleInstance(dimension.getHeight()/128, dimension.getHeight()/128);
    AffineTransformOp transformOp = new AffineTransformOp(transform, AffineTransformOp.TYPE_BILINEAR);
     
    graphics2d.drawImage(bufferedImage,transformOp, 0, 0);
    g2d.dispose();
  }
View Full Code Here

                                //
                                BufferedImage img = ImageIO.read(in);
                                log.debug("Read image " + uri + " (" + img.getWidth() + "," + img.getHeight() + ")");
                                AffineTransform tx = AffineTransform.getScaleInstance(-1, 1);
                                tx.translate(-img.getWidth(null), 0);
                                AffineTransformOp op = new AffineTransformOp(tx, AffineTransformOp.TYPE_NEAREST_NEIGHBOR);
                                img = op.filter(img, null);
                                log.debug("Mirrored image " + uri + " (" + img.getWidth() + "," + img.getHeight() + ")");
                                ByteArrayOutputStream baos = new ByteArrayOutputStream(1000);
                                ImageIO.write(img, imageType.getFormat(), baos);
                                baos.close();
                                return new Image(imageType, baos.toByteArray());
View Full Code Here

  {
    harness.checkPoint("createCompatibleDestImage");

    // Simple test
    AffineTransform xform = new AffineTransform();
    AffineTransformOp op = new AffineTransformOp(xform, AffineTransformOp.TYPE_BICUBIC);
   
    BufferedImage img = new BufferedImage(25, 40, BufferedImage.TYPE_INT_RGB);
   
    BufferedImage dest = op.createCompatibleDestImage(img, img.getColorModel());
   
    harness.check(dest.getHeight(), 40);
    harness.check(dest.getWidth(), 25);
    harness.check(dest.getColorModel(), img.getColorModel());
   
    // Try a different colour model
    img = new BufferedImage(25, 40, BufferedImage.TYPE_INT_RGB);
    DirectColorModel cm = new DirectColorModel(16, 0x0f00, 0x00f0, 0x000f);
    dest = op.createCompatibleDestImage(img, cm);
   
    harness.check(dest.getHeight(), 40);
    harness.check(dest.getWidth(), 25);
    harness.check(dest.getColorModel(), cm);
  }
View Full Code Here

 
  // Test all the default color models
  private void colorModelTest(TestHarness harness)
  {
    AffineTransform xform = new AffineTransform();
    AffineTransformOp op = new AffineTransformOp(xform, AffineTransformOp.TYPE_BICUBIC);

    int[] types = {BufferedImage.TYPE_INT_RGB,
                   BufferedImage.TYPE_INT_ARGB,
                   BufferedImage.TYPE_INT_ARGB_PRE,
                   BufferedImage.TYPE_3BYTE_BGR,
                   BufferedImage.TYPE_4BYTE_ABGR,
                   BufferedImage.TYPE_4BYTE_ABGR_PRE,
                   BufferedImage.TYPE_USHORT_565_RGB,
                   BufferedImage.TYPE_USHORT_555_RGB,
                   BufferedImage.TYPE_BYTE_GRAY,
                   BufferedImage.TYPE_USHORT_GRAY};
    // Skipped types that are not implemented yet:
    // TYPE_CUSTOM, TYPE_INT_BGR, TYPE_BYTE_BINARY, TYPE_BYTE_INDEXED

    for (int i = 0; i < types.length; i++)
      {
        int type = types[i];
        harness.checkPoint("type: " + type);
       
        BufferedImage img = new BufferedImage(25, 40, type);
        BufferedImage dest = op.createCompatibleDestImage(img, null);
       
        dest = op.createCompatibleDestImage(img, null);
        harness.check(dest.getColorModel().isCompatibleSampleModel(dest.getSampleModel()));

        // This ensures that we have the same defaults as the reference implementation
        switch (type)
        {
View Full Code Here

  {
    harness.checkPoint("(xform, interpolationType)");

    // Simple test
    AffineTransform xform = new AffineTransform();
    AffineTransformOp op = new AffineTransformOp(xform, AffineTransformOp.TYPE_BICUBIC);
   
    harness.check(op.getTransform(), xform);
   
    harness.check(op.getInterpolationType(), AffineTransformOp.TYPE_BICUBIC);
    harness.check(op.getRenderingHints(), new RenderingHints(RenderingHints.KEY_INTERPOLATION,
                                                             RenderingHints.VALUE_INTERPOLATION_BICUBIC));
   
    op = new AffineTransformOp(xform, AffineTransformOp.TYPE_BILINEAR);
    harness.check(op.getTransform(), xform);
    harness.check(op.getInterpolationType(), AffineTransformOp.TYPE_BILINEAR);
    harness.check(op.getRenderingHints(), new RenderingHints(RenderingHints.KEY_INTERPOLATION,
                                                             RenderingHints.VALUE_INTERPOLATION_BILINEAR));

    op = new AffineTransformOp(xform, AffineTransformOp.TYPE_NEAREST_NEIGHBOR);
    harness.check(op.getTransform(), xform);
    harness.check(op.getInterpolationType(), AffineTransformOp.TYPE_NEAREST_NEIGHBOR);
    harness.check(op.getRenderingHints(), new RenderingHints(RenderingHints.KEY_INTERPOLATION,
                                                             RenderingHints.VALUE_INTERPOLATION_NEAREST_NEIGHBOR));

   
    // Try creating with invalid transofrm
    xform = new AffineTransform(0, 0, 0, 0, 0, 0);
   
    try
    {
      new AffineTransformOp(xform, AffineTransformOp.TYPE_BICUBIC);
      harness.check(false);
    }
    catch (ImagingOpException e)
    {
      harness.check(true);
View Full Code Here

    // Simple test
    RenderingHints hints = new RenderingHints(RenderingHints.KEY_COLOR_RENDERING,
                                              RenderingHints.VALUE_COLOR_RENDER_QUALITY);
    AffineTransform xform = new AffineTransform();
    AffineTransformOp op = new AffineTransformOp(xform, hints);
   
    harness.check(op.getTransform(), xform);
    harness.check(op.getRenderingHints(), hints);
   
    // Try creating with invalid transofrm
    xform = new AffineTransform(0, 0, 0, 0, 0, 0);
   
    try
    {
      new AffineTransformOp(xform, hints);
      harness.check(false);
    }
    catch (ImagingOpException e)
    {
      harness.check(true);
View Full Code Here

    Graphics2D g = (Graphics2D)img.getGraphics();
    g.draw(new Line2D.Double(0, 0, 20, 20));
   
    WritableRaster src = img.getRaster();
    AffineTransform xform = new AffineTransform();
    AffineTransformOp op = new AffineTransformOp(xform, type);
   
    // Make sure it works in the first place
    WritableRaster dest = src.createCompatibleWritableRaster();
    try
    {
      op.filter(src, dest);
      harness.check(true);
    }
    catch (IllegalArgumentException e)
    {
      harness.check(false);
    }
   
    // Src and dst cannot be the same
    try
    {
      op.filter(src, src);
      harness.check(false);
    }
    catch (IllegalArgumentException e)
    {
      harness.check(true);
    }
   
    /*
     * This is not allowed on the ref impl, but it can't hurt to allow it
     * here...
     *
    // Different type of raster (not allowed)
    dest = Raster.createBandedRaster(DataBuffer.TYPE_USHORT, 20, 20, 1, new Point(0,0));
    try
    {
      op.filter(src, dest);
      harness.check(false);
    }
    catch (ImagingOpException e)
    {
      harness.check(true);
    }
     */
   
    // Different size (allowed)
    dest = src.createCompatibleWritableRaster(75, 87);
    try
    {
      op.filter(src, dest);
      harness.check(true);
    }
    catch (ImagingOpException e)
    {
      harness.check(false);
    }
   
    // Null destination (allowed - will create one for us)
    WritableRaster dest2 = op.filter(src, null);
    harness.check(dest2 != null);
  }
View Full Code Here

    harness.checkPoint("createCompatibleDestRaster");

    // Simple test
    Raster src = Raster.createBandedRaster(DataBuffer.TYPE_INT, 25, 40, 3, new Point(5, 5));
    AffineTransform xform = new AffineTransform();
    AffineTransformOp op = new AffineTransformOp(xform, AffineTransformOp.TYPE_BILINEAR);
   
    try
    {
      Raster dst = op.createCompatibleDestRaster(src);
      harness.check(dst.getHeight(), src.getHeight());
      harness.check(dst.getWidth(), src.getWidth());
      harness.check(dst.getNumBands(), src.getNumBands());
      harness.check(dst.getTransferType(), src.getTransferType());
      harness.check(dst.getDataBuffer().getDataType(), src.getDataBuffer().getDataType());
      harness.check(dst.getNumDataElements(), src.getNumDataElements());
    }
    catch (IllegalArgumentException e)
    {
      harness.check(false);
    }
   
    // Try a different type
    src = Raster.createBandedRaster(DataBuffer.TYPE_BYTE, 25, 40, 3, new Point(5, 5));
    try
    {
      Raster dst = op.createCompatibleDestRaster(src);
      harness.check(dst.getNumBands(), src.getNumBands());
      harness.check(dst.getTransferType(), src.getTransferType());
      harness.check(dst.getDataBuffer().getDataType(), src.getDataBuffer().getDataType());
      harness.check(dst.getNumDataElements(), src.getNumDataElements());
    }
    catch (IllegalArgumentException e)
    {
      harness.check(false);
    }
   
    // Try a different number of bands
    src = Raster.createBandedRaster(DataBuffer.TYPE_INT, 25, 40, 5, new Point(5, 5));
    try
    {
      Raster dst = op.createCompatibleDestRaster(src);
      harness.check(dst.getNumBands(), src.getNumBands());
      harness.check(dst.getTransferType(), src.getTransferType());
      harness.check(dst.getDataBuffer().getDataType(), src.getDataBuffer().getDataType());
      harness.check(dst.getNumDataElements(), src.getNumDataElements());
    }
View Full Code Here

TOP

Related Classes of java.awt.image.AffineTransformOp

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.