public RenderedImage createRendering(RenderContext rc) { // // Get the mask content // Filter maskSrc = getMaskNode().getGraphicsNodeRable(true); PadRable maskPad = new PadRable8Bit(maskSrc, getBounds2D(), PadMode.ZERO_PAD); maskSrc = new FilterAsAlphaRable(maskPad); RenderedImage ri = maskSrc.createRendering(rc); if (ri == null) return null; CachableRed maskCr = RenderedImageCachableRed.wrap(ri); // // Get the masked content // PadRable maskedPad = new PadRable8Bit(getSource(), getBounds2D(), PadMode.ZERO_PAD); ri = maskedPad.createRendering(rc); if (ri == null) return null; CachableRed cr; cr = GraphicsUtil.wrap(ri); cr = GraphicsUtil.convertToLsRGB(cr); // org.apache.batik.test.gvt.ImageDisplay.showImage("Src: ", cr); // org.apache.batik.test.gvt.ImageDisplay.showImage("Mask: ", maskCr); CachableRed ret = new MultiplyAlphaRed(cr, maskCr); // org.apache.batik.test.gvt.ImageDisplay.showImage("Masked: ", ret); // ret = new PadRed(ret, cr.getBounds(), PadMode.ZERO_PAD, rh); return ret; }