jai给tif格式的图片加水印

这段代码展示了如何使用Java处理TIFF图像,包括将其转换为JPEG格式,添加文字水印,然后再转换回TIFF格式。通过`ImageIO`和`javax.media.jai`库,实现了图片的读取、写入、格式转换和水印添加功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

import java.awt.AlphaComposite;
import java.awt.Color;
import java.awt.Font;
import java.awt.Graphics2D;
import java.awt.Image;
import java.awt.image.BufferedImage;
import java.awt.image.RenderedImage;
import java.awt.image.renderable.ParameterBlock;
import java.awt.image.renderable.RenderableImage;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;

import javax.imageio.ImageIO;
import javax.media.jai.JAI;
import javax.media.jai.ParameterBlockJAI;
import javax.media.jai.PlanarImage;

import com.sun.image.codec.jpeg.JPEGCodec;
import com.sun.image.codec.jpeg.JPEGImageEncoder;
import com.sun.media.jai.codec.ImageCodec;
import com.sun.media.jai.codec.ImageDecoder;
import com.sun.media.jai.codec.ImageEncoder;
import com.sun.media.jai.codec.JPEGDecodeParam;
import com.sun.media.jai.codec.JPEGEncodeParam;
import com.sun.media.jai.codec.TIFFDecodeParam;
import com.sun.media.jai.codec.TIFFEncodeParam;

public class ImageWaterMark {
 /**
 * 图片类型-JPEG
 */
 public final static int IMG_TYPE_JPEG = 0;

 /**
 * 图片类型-TIFF
 */
 public final static int IMG_TYPE_TIFF = 1;

 /**
 * 转换图片文件格式为TIFF
 * @param srcFile File 要转换格式的原文件
 * @param resFile File 转换格式后的目标文件
 * @param preType int 原文件的格式,目前只支持JPEG格式-0
 * @throws IOException 抛出IO异常
 */
 public static void convertImageToTIFF(File srcFile,File resFile,int preType) throws IOException {
 if(preType == IMG_TYPE_TIFF) {
 System.out.println("Needn't to convert!");
 return;
 }

 InputStream fis = new FileInputStream(srcFile);
 OutputStream fos = new FileOutputStream(resFile);

 TIFFEncodeParam encodeParam = new TIFFEncodeParam();
 encodeParam.setCompression(TIFFEncodeParam.COMPRESSION_DEFLATE);

 switch(preType) {
 case IMG_TYPE_JPEG:
 JPEGDecodeParam decodeParam = new JPEGDecodeParam();
 ImageDecoder decoder = ImageCodec.createImageDecoder("JPEG",fis,decodeParam);
 RenderedImage image = decoder.decodeAsRenderedImage();
 ImageEncoder encoder = ImageCodec.createImageEncoder("TIFF"

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值