Package java.awt.image

Examples of java.awt.image.ConvolveOp


 
  // Test all the default color models
  private void colorModelTest(TestHarness harness)
  {
    Kernel kern = new Kernel(3, 3, new float[] {1f, 2f, 3f, 4f, 5f, 6f, 7f, 8f, 9f});
    ConvolveOp op = new ConvolveOp(kern, ConvolveOp.EDGE_NO_OP, null);

    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);
       
        // Unlike most Ops, this one creates a clone of the original image
        harness.check(dest.getColorModel().getPixelSize(),
                      img.getColorModel().getPixelSize());
View Full Code Here


  public void testConstructor1(TestHarness harness)
  {
    harness.checkPoint("(Kernel)");
    Kernel k1 = new Kernel(3, 3, new float[] {1f, 2f, 3f, 4f, 5f, 6f, 7f, 8f, 9f});
    ConvolveOp op1 = new ConvolveOp(k1);
    harness.check(op1.getKernel() != k1);
    harness.check(Arrays.equals(op1.getKernel().getKernelData(null), k1.getKernelData(null)));
    harness.check(op1.getEdgeCondition(), ConvolveOp.EDGE_ZERO_FILL);
    harness.check(op1.getRenderingHints(), null);
   
    // using a null Kernel doesn't throw an immediate exception...
    boolean pass = true;
    try
    {
      /*ConvolveOp op2 =*/ new ConvolveOp(null);   
    }
    catch (NullPointerException e)
    {
      pass = false;  
    }
    harness.check(pass);
   
    // ...but it does later
    pass = false;
    try
    {
      ConvolveOp op2 = new ConvolveOp(null);   
      /*Kernel k2 =*/ op2.getKernel();  
    }
    catch (NullPointerException e)
    {
      pass = true;  
    }
View Full Code Here

  public void testConstructor2(TestHarness harness)
  {
    harness.checkPoint("(Kernel, int, RenderingHints)");
    Kernel k1 = new Kernel(3, 3, new float[] {1f, 2f, 3f, 4f, 5f, 6f, 7f, 8f, 9f});
    ConvolveOp op1 = new ConvolveOp(k1, ConvolveOp.EDGE_NO_OP, null);
    harness.check(op1.getKernel() != k1);
    harness.check(Arrays.equals(op1.getKernel().getKernelData(null), k1.getKernelData(null)));
    harness.check(op1.getEdgeCondition(), ConvolveOp.EDGE_NO_OP);
    harness.check(op1.getRenderingHints(), null);
   
    // a null kernel will fail when you try to access it
    boolean pass = false;
    ConvolveOp op2 = new ConvolveOp(null, ConvolveOp.EDGE_NO_OP, null);
    try
    {
      /*Kernel k =*/ op2.getKernel();  
    }
    catch (NullPointerException e)
    {
      pass = true;  
    }
    harness.check(pass);
   
    // try an invalid edge operation code
    pass = false;
    op1 = new ConvolveOp(k1, -1, null);
    harness.check(op1.getEdgeCondition(), -1);
  }
View Full Code Here

    g.draw(new Line2D.Double(0, 0, 20, 20));
   
    Kernel k1 = new Kernel(3, 3, new float[] {0.1f,0.2f,0.3f,
                                              0.4f,0.5f,0.6f,
                                              0.7f,0.8f,0.9f});
    ConvolveOp op = new ConvolveOp(k1, ConvolveOp.EDGE_ZERO_FILL, null);
   
    // 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);
View Full Code Here

        }
   
    Kernel k1 = new Kernel(3, 3, new float[] {0.2f,0.3f,0.5f,
                                              0.4f,0.6f,0.7f,
                                              0.6f,0.9f,0.8f});
    ConvolveOp op = new ConvolveOp(k1, ConvolveOp.EDGE_ZERO_FILL, null);
   
    BufferedImage dst = op.filter(img, null);
    WritableRaster dest = dst.getRaster();
   
    harness.check(img.isAlphaPremultiplied(), false);
    harness.check(dst.isAlphaPremultiplied(), false);
   
View Full Code Here

        }

    Kernel k1 = new Kernel(3, 3, new float[] {0.2f,0.3f,0.5f,
                                              0.4f,0.6f,0.7f,
                                              0.6f,0.9f,0.8f});
    ConvolveOp op = new ConvolveOp(k1, ConvolveOp.EDGE_ZERO_FILL, null);
   
    BufferedImage dst = new BufferedImage(5, 5, BufferedImage.TYPE_INT_ARGB);
   
    dst = op.filter(img, dst);
    WritableRaster dest = dst.getRaster();
   
    harness.check(img.isAlphaPremultiplied(), true);
    harness.check(dst.isAlphaPremultiplied(), false);
View Full Code Here

{
  public void test(TestHarness harness)
  {
    Kernel k1 = new Kernel(3, 3, new float[] {1f, 2f, 3f, 4f, 5f, 6f, 7f, 8f,
            9f});
    ConvolveOp op = new ConvolveOp(k1, ConvolveOp.EDGE_NO_OP, null);

    Point2D p = new Point(7, 8);
    Point2D dest = new Point(0, 0);
    Point2D p1 = op.getPoint2D(p, dest);
    harness.check(p1, p);
    harness.check(p1 == dest);
   
    p1 = op.getPoint2D(p, null);
    harness.check(p1, p);
    harness.check(p1 != dest);
   
    // try null point
    boolean pass = false;
    try
    {
      op.getPoint2D(null, dest);
    }
    catch (NullPointerException e)
    {
      pass = true;
    }
View Full Code Here

        for (int k = 0; k < blurRadius2; k++)
          elements[k] = weight;
        Kernel myKernel = new Kernel(blurRadius, blurRadius, elements);

        //if EDGE_NO_OP is not selected, EDGE_ZERO_FILL is the default which creates a black border
        ConvolveOp simpleBlur =
          new ConvolveOp(myKernel, ConvolveOp.EDGE_NO_OP, null);
               
        BufferedImage destination =
          new BufferedImage(
            image.getWidth(),
            image.getHeight(),
            image.getType());

        simpleBlur.filter(image, (BufferedImage) destination);

        //destination = destination.getSubimage(blurRadius/2, blurRadius/2, image.getWidth(), image.getHeight());
        g2 = (Graphics2D) destination.getGraphics();
        g2.setRenderingHint(RenderingHints.KEY_ANTIALIASING, antialiasSetting);
        renderedImage = (RenderedImage) destination;
View Full Code Here

        float[] kernel = new float[blurMagnitude * blurMagnitude];
        for (int i = 0, n = kernel.length; i < n; i++) {
            kernel[i] = 1f / n;
        }

        ConvolveOp blur = new ConvolveOp(new Kernel(blurMagnitude, blurMagnitude,
            kernel), ConvolveOp.EDGE_NO_OP, null);
        bufferedImage = blur.filter(bufferedImage, null);

        graphics.drawImage(bufferedImage, 0, 0, null);

        bufferedImage = null;
        graphics = null;
View Full Code Here

        float[] data = new float[size * size];
        float value = 1 / (float) (size * size);
        for (int i = 0; i < data.length; i++) {
            data[i] = value;
        }
        return new ConvolveOp(new Kernel(size, size, data));
    }
View Full Code Here

TOP

Related Classes of java.awt.image.ConvolveOp

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.