public void draw (BufferedImage image, Graphics2D g, UnicodeFont unicodeFont, Glyph glyph) { BufferedImage scratchImage = EffectUtil.getScratchImage(); filter.filter(image, scratchImage); image.getGraphics().drawImage(scratchImage, 0, 0, null); }
public void draw (BufferedImage image, Graphics2D g, UnicodeFont unicodeFont, Glyph glyph) { BufferedImage scratchImage = EffectUtil.getScratchImage(); filter.filter(image, scratchImage); image.getGraphics().drawImage(scratchImage, 0, 0, null); }
public void drawImage(BufferedImage bufferedimage, BufferedImageOp op, int x, int y) { BufferedImage img = op.filter(bufferedimage, null); drawImage(img, new AffineTransform(1.0F, 0.0F, 0.0F, 1.0F, x, y), null); }
public BufferedImage applyFilters(BufferedImage source) { BufferedImage dest = source; for (BufferedImageOp filter : getFilters()) { dest = filter.filter(dest, null); } int x = (source.getWidth() - dest.getWidth()) / 2; int y = (source.getHeight() - dest.getHeight()) / 2; source = new BufferedImage(source.getWidth(), source.getHeight(), source.getType()); source.getGraphics().drawImage(dest, x, y, null); return source; }
/** * Renders a <code>BufferedImage</code> that is * filtered with a * {@link BufferedImageOp}. * The rendering attributes applied include the <code>Clip</code>, * <code>Transform</code> * and <code>Composite</code> attributes. This is equivalent to: * <pre> * img1 = op.filter(img, null); * drawImage(img1, new AffineTransform(1f,0f,0f,1f,x,y), null); * </pre> * @param img the <code>BufferedImage</code> to be rendered * @param op the filter to be applied to the image before rendering * @param x the x coordinate in user space where the image is rendered * @param y the y coordinate in user space where the image is rendered * @see #_transform * @see #setTransform * @see #setComposite * @see #clip * @see #setClip(Shape) */ public void drawImage(BufferedImage img, BufferedImageOp op, int x, int y){ img = op.filter(img, null); drawImage(img, x, y, null); }
public InputStream convert(InputStream artifactStream, BufferedImageOp filter) throws Exception { ImageInputStream iis = ImageIO.createImageInputStream(artifactStream); Iterator<ImageReader> iter = ImageIO.getImageReaders(iis); ImageReader reader = iter.next(); String formatName = reader.getFormatName(); artifactStream.reset(); BufferedImage image = ImageIO.read(ImageIO.createImageInputStream(artifactStream)); //before if (formatName.toLowerCase().equals("jpeg") || formatName.toLowerCase().equals("jpg")) { image = stripAlpha(image); } image = filter.filter(image, null); if (formatName.toLowerCase().equals("gif")) { formatName = "png"; } InputStream result = compress(image, formatName); if (formatName.equals("png")) { result = compressPNG(result); } return result; }
BufferedImage result = op.filter(src, dest);
protected RenderedImage doFilter(BufferedImage pImage, ServletRequest pRequest, ImageServletResponse pResponse) { // Filter & return return filter.filter(pImage, null); } }
public void applyFilter(BufferedImageOp filter) { image = filter.filter(image, image); }
public BufferedImage grayscale(BufferedImage source) { BufferedImageOp op = new ColorConvertOp(ColorSpace.getInstance(ColorSpace.CS_GRAY), null); return op.filter(source, null); }
public BufferedImage grayscale(BufferedImage source) { BufferedImageOp op = new ColorConvertOp(ColorSpace.getInstance(ColorSpace.CS_GRAY), null); return op.filter(source, null); }
private BufferedImage applyInvertFilter(BufferedImage src) { final BufferedImage newSrc; if (src.getColorModel() instanceof IndexColorModel) { newSrc = new BufferedImage(src.getWidth(), src.getHeight(), src.getColorModel().getNumComponents() == 3 ? BufferedImage.TYPE_INT_RGB : BufferedImage.TYPE_INT_ARGB); Graphics2D g2 = newSrc.createGraphics(); g2.drawImage(src, 0, 0, null); g2.dispose(); } else { newSrc = src; } BufferedImage dest = new BufferedImage(newSrc.getWidth(), newSrc.getHeight(), newSrc.getType()); switch (newSrc.getColorModel().getNumComponents()) { case 3: this.invertOp.filter(newSrc, dest); break; case 4: this.invertOp4.filter(newSrc, dest); break; } return dest; }
private BufferedImage applyFilter(BufferedImage src, Filter filter) { if (filter == Filter.NONE) { return src; } BufferedImage dest = null; switch (filter) { case GRAYSCALE: dest = new BufferedImage(src.getWidth(), src.getHeight(), src.getType()); this.grayscaleOp.filter(src, dest); break; case GRAYSCALE_INVERT: dest = new BufferedImage(src.getWidth(), src.getHeight(), src.getType()); this.grayscaleOp.filter(src, dest); dest = applyInvertFilter(dest); break; case INVERT: dest = applyInvertFilter(src); break; } return dest; }
/** * Inverts image color. * * @param image input image * @return an inverted-color image */ public static BufferedImage invertImageColor(BufferedImage image) { BufferedImage tmp = new BufferedImage(image.getWidth(), image.getHeight(), image.getType()); BufferedImageOp invertOp = new LookupOp(new ShortLookupTable(0, invertTable), null); return invertOp.filter(image, tmp); }
op.filter(temp, image);
@Test public void testFilterRotateBIStandard() { BufferedImageOp jreOp = new java.awt.image.AffineTransformOp(AffineTransform.getQuadrantRotateInstance(1, Math.min(width, height) / 2, Math.min(width, height) / 2), null); BufferedImageOp tmOp = new com.twelvemonkeys.image.AffineTransformOp(AffineTransform.getQuadrantRotateInstance(1, Math.min(width, height) / 2, Math.min(width, height) / 2), null); for (Integer type : TYPES) { BufferedImage image = new BufferedImage(width, height, type); BufferedImage jreResult = jreOp.filter(image, null); BufferedImage tmResult = tmOp.filter(image, null); assertNotNull("No result!", tmResult); assertEquals("Bad type", jreResult.getType(), tmResult.getType()); assertEquals("Incorrect color model", jreResult.getColorModel(), tmResult.getColorModel()); assertEquals("Incorrect width", jreResult.getWidth(), tmResult.getWidth()); assertEquals("Incorrect height", jreResult.getHeight(), tmResult.getHeight()); } }
@Test public void testFilterRotateBICustom() { BufferedImageOp jreOp = new java.awt.image.AffineTransformOp(AffineTransform.getQuadrantRotateInstance(1, Math.min(width, height) / 2, Math.min(width, height) / 2), null); BufferedImageOp tmOp = new com.twelvemonkeys.image.AffineTransformOp(AffineTransform.getQuadrantRotateInstance(1, Math.min(width, height) / 2, Math.min(width, height) / 2), null); for (ImageTypeSpecifier spec : SPECS) { BufferedImage image = spec.createBufferedImage(width, height); BufferedImage tmResult = tmOp.filter(image, null); assertNotNull("No result!", tmResult); BufferedImage jreResult = null; try { jreResult = jreOp.filter(image, null); } catch (ImagingOpException ignore) { // We expect this to fail for certain cases, that's why we crated the class in the first place } if (jreResult != null) { assertEquals("Bad type", jreResult.getType(), tmResult.getType()); assertEquals("Incorrect color model", jreResult.getColorModel(), tmResult.getColorModel()); assertEquals("Incorrect width", jreResult.getWidth(), tmResult.getWidth()); assertEquals("Incorrect height", jreResult.getHeight(), tmResult.getHeight()); } else { assertEquals("Bad type", spec.getBufferedImageType(), tmResult.getType()); assertEquals("Incorrect color model", spec.getColorModel(), tmResult.getColorModel()); assertEquals("Incorrect width", height, tmResult.getWidth()); assertEquals("Incorrect height", width, tmResult.getHeight()); } } }
protected void filter() { BufferedImageOp grayscaleConv = new ColorConvertOp(colorFrame.getColorModel().getColorSpace(), grayFrame.getColorModel().getColorSpace(), null); grayscaleConv.filter(colorFrame, grayFrame); }
float[] matrix = { 1/16f, 1/8f, 1/16f, 1/8f, 1/4f, 1/8f, 1/16f, 1/8f, 1/16f, }; BufferedImageOp op = new ConvolveOp( new Kernel(3, 3, matrix) ); blurredImage = op.filter(sourceImage, destImage);
public BufferedImage applyFilters(BufferedImage source) { BufferedImage dest = source; for (BufferedImageOp filter : getFilters()) { dest = filter.filter(dest, null); } int x = (source.getWidth() - dest.getWidth()) / 2; int y = (source.getHeight() - dest.getHeight()) / 2; source = new BufferedImage(source.getWidth(), source.getHeight(), source.getType()); source.getGraphics().drawImage(dest, x, y, null); return source; }