import javax.media.jai.JAI; import javax.media.jai.iterator.RandomIter; import javax.media.jai.iterator.RandomIterFactory; import javax.media.jai.iterator.WritableRandomIter; import javax.imageio.ImageIO; import javax.imageio.ImageWriteParam; import javax.imageio.IIOImage; import javax.imageio.ImageWriter; import javax.imageio.stream.ImageOutputStream; import java.awt.image.BufferedImage; import java.awt.image.DataBufferByte; import java.awt.image.DataBufferInt; import java.awt.image.PixelGrabber; import java.awt.image.Raster; import java.io.File; File imageFile = new File("image.jpg"); BufferedImage image = ImageIO.read(imageFile); BufferedImage resizedImage = new BufferedImage(newWidth, newHeight, image.getType()); resizedImage.getGraphics().drawImage(image, 0, 0, newWidth, newHeight, null); OpImageFilter filter = new OpImageFilter(new float[]{0.1f, 0.1f, 0.1f, 0.1f, 0.3f, 0.1f, 0.1f, 0.1f, 0.1f}); ParameterBlock pb = new ParameterBlock(); pb.addSource(image); pb.add(filter); RenderingHints hints = new RenderingHints(RenderingHints.KEY_RENDERING, RenderingHints.VALUE_RENDER_QUALITY); RenderedOp result = JAI.create("convolve", pb, hints); BufferedImage filteredImage = result.getAsBufferedImage(); String watermarkText = "My Watermark"; Graphics2D g2d = image.createGraphics(); g2d.setColor(Color.RED); g2d.setFont(new Font("Arial", Font.BOLD, 20)); g2d.drawString(watermarkText, 10, 20); g2d.dispose(); File outputImageFile = new File("output.jpg"); ImageIO.write(filteredImage, "JPEG", outputImageFile); image.flush(); filteredImage.flush();


上一篇:
下一篇:
切换中文