Search in sources :

Example 6 with Kernel

use of java.awt.image.Kernel in project jdk8u_jdk by JetBrains.

the class BufferedBufImgOps method isConvolveOpValid.

/**************************** ConvolveOp support ****************************/
public static boolean isConvolveOpValid(ConvolveOp cop) {
    Kernel kernel = cop.getKernel();
    int kw = kernel.getWidth();
    int kh = kernel.getHeight();
    //         see native shader comments for more details
    if (!(kw == 3 && kh == 3) && !(kw == 5 && kh == 5)) {
        return false;
    }
    return true;
}
Also used : Kernel(java.awt.image.Kernel)

Example 7 with Kernel

use of java.awt.image.Kernel in project libgdx by libgdx.

the class ShadowEffect method blur.

private void blur(BufferedImage image) {
    float[] matrix = GAUSSIAN_BLUR_KERNELS[blurKernelSize - 1];
    Kernel gaussianBlur1 = new Kernel(matrix.length, 1, matrix);
    Kernel gaussianBlur2 = new Kernel(1, matrix.length, matrix);
    RenderingHints hints = new RenderingHints(RenderingHints.KEY_RENDERING, RenderingHints.VALUE_RENDER_SPEED);
    ConvolveOp gaussianOp1 = new ConvolveOp(gaussianBlur1, ConvolveOp.EDGE_NO_OP, hints);
    ConvolveOp gaussianOp2 = new ConvolveOp(gaussianBlur2, ConvolveOp.EDGE_NO_OP, hints);
    BufferedImage scratchImage = EffectUtil.getScratchImage();
    for (int i = 0; i < blurPasses; i++) {
        gaussianOp1.filter(image, scratchImage);
        gaussianOp2.filter(scratchImage, image);
    }
}
Also used : ConvolveOp(java.awt.image.ConvolveOp) Kernel(java.awt.image.Kernel) RenderingHints(java.awt.RenderingHints) BufferedImage(java.awt.image.BufferedImage)

Example 8 with Kernel

use of java.awt.image.Kernel in project jdk8u_jdk by JetBrains.

the class BufferedBufImgOps method enableConvolveOp.

private static void enableConvolveOp(RenderQueue rq, SurfaceData srcData, ConvolveOp cop) {
    // assert rq.lock.isHeldByCurrentThread();
    boolean edgeZero = cop.getEdgeCondition() == ConvolveOp.EDGE_ZERO_FILL;
    Kernel kernel = cop.getKernel();
    int kernelWidth = kernel.getWidth();
    int kernelHeight = kernel.getHeight();
    int kernelSize = kernelWidth * kernelHeight;
    int sizeofFloat = 4;
    int totalBytesRequired = 4 + 8 + 12 + (kernelSize * sizeofFloat);
    RenderBuffer buf = rq.getBuffer();
    rq.ensureCapacityAndAlignment(totalBytesRequired, 4);
    buf.putInt(ENABLE_CONVOLVE_OP);
    buf.putLong(srcData.getNativeOps());
    buf.putInt(edgeZero ? 1 : 0);
    buf.putInt(kernelWidth);
    buf.putInt(kernelHeight);
    buf.put(kernel.getKernelData(null));
}
Also used : Kernel(java.awt.image.Kernel)

Example 9 with Kernel

use of java.awt.image.Kernel in project jdk8u_jdk by JetBrains.

the class MlibOpsTest method getConvolveOp.

private static BufferedImageOp getConvolveOp() {
    int kw = 3;
    int kh = 3;
    int size = kw * kh;
    float[] kdata = new float[size];
    Arrays.fill(kdata, 1.0f / size);
    Kernel k = new Kernel(kw, kh, kdata);
    return new ConvolveOp(k);
}
Also used : ConvolveOp(java.awt.image.ConvolveOp) Kernel(java.awt.image.Kernel) RadialGradientPaint(java.awt.RadialGradientPaint)

Aggregations

Kernel (java.awt.image.Kernel)9 ConvolveOp (java.awt.image.ConvolveOp)7 BufferedImage (java.awt.image.BufferedImage)4 Color (java.awt.Color)3 GradientPaint (java.awt.GradientPaint)3 Graphics2D (java.awt.Graphics2D)3 Font (java.awt.Font)2 FontMetrics (java.awt.FontMetrics)2 Rectangle2D (java.awt.geom.Rectangle2D)2 RoundRectangle2D (java.awt.geom.RoundRectangle2D)2 BasicStroke (java.awt.BasicStroke)1 Point (java.awt.Point)1 RadialGradientPaint (java.awt.RadialGradientPaint)1 RenderingHints (java.awt.RenderingHints)1 Ellipse2D (java.awt.geom.Ellipse2D)1