Examples of AffineTransformOp


Examples of java.awt.image.AffineTransformOp

    // 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

Examples of java.awt.image.AffineTransformOp

    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

Examples of java.awt.image.AffineTransformOp

    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

Examples of java.awt.image.AffineTransformOp

  private void testIdentity(TestHarness harness)
  {
    harness.checkPoint("testIdentity");

    AffineTransform xform = new AffineTransform();
    AffineTransformOp op = new AffineTransformOp(xform, AffineTransformOp.TYPE_BICUBIC);
    BufferedImage img = new BufferedImage(30, 40, BufferedImage.TYPE_INT_RGB);
    harness.check(op.getBounds2D(img), new Rectangle2D.Float(0, 0, 30, 40));
  }
View Full Code Here

Examples of java.awt.image.AffineTransformOp

  private void testRotation(TestHarness harness)
  {
    harness.checkPoint("testRotation");

    AffineTransform xform = AffineTransform.getRotateInstance(Math.PI / 2);
    AffineTransformOp op = new AffineTransformOp(xform, AffineTransformOp.TYPE_BICUBIC);
    BufferedImage img = new BufferedImage(30, 40, BufferedImage.TYPE_INT_RGB);
    harness.check(op.getBounds2D(img), new Rectangle2D.Float(-40, 0, 40, 30));

    // Do it again, but result in a diamond (not another level rectangle)
    xform.rotate(Math.PI / 3);
    op = new AffineTransformOp(xform, AffineTransformOp.TYPE_BICUBIC);
    harness.check(op.getBounds2D(img), new Rectangle2D.Float(-45.980762f,
                                                             -34.641018f,
                                                             45.980762f,
                                                             49.641018f));
   
    // Rotation about a point
    xform.setToIdentity();
    xform.rotate(Math.PI / 2, 10, 15);
    op = new AffineTransformOp(xform, AffineTransformOp.TYPE_BICUBIC);
    harness.check(op.getBounds2D(img), new Rectangle2D.Float(-15, 5, 40, 30));
  }
View Full Code Here

Examples of java.awt.image.AffineTransformOp

  {
    harness.checkPoint("testScale");
   
    AffineTransform xform = AffineTransform.getScaleInstance(1.0, 1.0);
    BufferedImage img = new BufferedImage(30, 40, BufferedImage.TYPE_INT_RGB);
    AffineTransformOp op = new AffineTransformOp(xform, AffineTransformOp.TYPE_BICUBIC);
    harness.check(op.getBounds2D(img), new Rectangle2D.Float(0, 0, 30, 40));
   
    xform.scale(2.5, 4.75);
    op = new AffineTransformOp(xform, AffineTransformOp.TYPE_BICUBIC);
    harness.check(op.getBounds2D(img), new Rectangle2D.Float(0, 0, 75, 190));  
  }
View Full Code Here

Examples of java.awt.image.AffineTransformOp

  {
    harness.checkPoint("testHarness");
   
    AffineTransform xform = AffineTransform.getShearInstance(1.5, 3.25);
    BufferedImage img = new BufferedImage(30, 40, BufferedImage.TYPE_INT_RGB);
    AffineTransformOp op = new AffineTransformOp(xform, AffineTransformOp.TYPE_BICUBIC);
    harness.check(op.getBounds2D(img), new Rectangle2D.Float(0, 0, 90, 137.5f));
  }
View Full Code Here

Examples of java.awt.image.AffineTransformOp

  {
    harness.checkPoint("testTranslation");

    AffineTransform xform = AffineTransform.getTranslateInstance(75, 50);
    BufferedImage img = new BufferedImage(30, 40, BufferedImage.TYPE_INT_RGB);
    AffineTransformOp op = new AffineTransformOp(xform, AffineTransformOp.TYPE_BICUBIC);
    harness.check(op.getBounds2D(img), new Rectangle2D.Float(75, 50, 30, 40));
  }
View Full Code Here

Examples of java.awt.image.AffineTransformOp

    BufferedImage img = new BufferedImage(20, 20, BufferedImage.TYPE_USHORT_GRAY);
    Graphics2D g = (Graphics2D)img.getGraphics();
    g.draw(new Line2D.Double(0, 0, 20, 20));
   
    AffineTransform xform = new AffineTransform();
    AffineTransformOp op = new AffineTransformOp(xform, AffineTransformOp.TYPE_BICUBIC);
   
    // Src and dst images cannot be the same
    try
    {
      op.filter(img, img);
      harness.check(false);
    }
    catch (IllegalArgumentException e)
    {
      harness.check(true);
    }
   
    // Src and dst are different sizes (allowed)
    BufferedImage dst = new BufferedImage(30, 40, BufferedImage.TYPE_USHORT_GRAY);
    try
    {
      op.filter(img, dst);
      harness.check(true);
    }
    catch (IllegalArgumentException e)
    {
      harness.check(false);
    }
   
    // Src and dst have different tpyes (allowed)
    dst = new BufferedImage(20, 20, BufferedImage.TYPE_INT_ARGB);
    try
    {
      op.filter(img, dst);
      harness.check(true);
    }
    catch (IllegalArgumentException e)
    {
      harness.check(false);
    }
   
    // Src and dst are different sizes AND different types (not allowed)
    /*
     * Fails on the ref impl...
     *
    dst = new BufferedImage(30, 40, BufferedImage.TYPE_INT_ARGB);
    try
    {
      op.filter(img, dst);
      harness.check(false);
    }
    catch (IllegalArgumentException e)
    {
      harness.check(true);
    }
     */
   
    // Checks the destination image type
    dst = op.filter(img, null);
    harness.check(dst.getType(), op.createCompatibleDestImage(img, null).getType());
  }
View Full Code Here

Examples of java.awt.image.AffineTransformOp

  private void testIdentity(TestHarness harness)
  {
    harness.checkPoint("testIdentity");

    AffineTransform xform = new AffineTransform();
    AffineTransformOp op = new AffineTransformOp(xform, AffineTransformOp.TYPE_BICUBIC);
    harness.check(op.getPoint2D(new Point2D.Double(5, 5), null), new Point2D.Double(5,5));
   
    Point2D pt = null;
    Point2D pt2 = op.getPoint2D(new Point2D.Double(10,-5), pt);
    harness.check(pt, null);        // this is what the ref impl does...
    harness.check(pt2, new Point2D.Double(10, -5));
   
    pt = new Point2D.Double(0,0);
    pt2 = op.getPoint2D(new Point2D.Double(10,-5), pt);
    harness.check(pt, new Point2D.Double(10, -5));
    harness.check(pt, pt2);
   
    pt = new Point2D.Float(0,0);
    op.getPoint2D(new Point2D.Float(-10,-5), pt);
    harness.check(pt, new Point2D.Float(-10, -5));
  }
View Full Code Here
TOP
Copyright © 2018 www.massapi.com. 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.