java中调整图片的大小并给图片加水印(或是文字)
前几天给图片加水印一张一张的处理,相当的麻烦,相当的累,最近有时间写了一个动态实现这种效果的java类
package ouc.sei.test.servlet;
import java.io.*;
import java.awt.*;
import java.awt.image.*;
import java.util.*;
import org.apache.log4j.Logger;
import javax.imageio.ImageIO;
import com.sun.image.codec.jpeg.JPEGCodec;
import com.sun.image.codec.jpeg.JPEGImageEncoder;
public
final class
ImageUtils {
public static Logger logger =
Logger.getLogger(ImageUtils.class);
public
static void
main(String[] args) {
File sourceimage=new File("c:/image/") ;
File flist[]=sourceimage.listFiles();
for(int
i=0;i<flist.length;i++){
System.out.println("flist[i] is
"+flist[i].getName());
adjustpic("c:/image/"+flist[i].getName(),"c:/adjimage/ddddd"+i+".jpg",500,333);
pressImage("C:/33.PNG","c:/adjimage/ddddd"+i+".jpg",20,20);
//pressText("ybc","c:/adjimage/ddddd"+i+".jpg","宋体",800,234,12,20,20);
}
}
public final
static void adjustpic(String originalpic,String adjustedpic,int
imgwidth,int imgheight){
String
filecreate=adjustedpic.substring(0,adjustedpic.lastIndexOf("/")+1);//获取最后一个“/”的位置,并把取得它之前的文件路径
try{
File adjfile=new File(filecreate);
if(!adjfile.exists()){
adjfile.mkdir();
}
}catch(Exception e){
System.out.println("新建文件夹操作出错");
e.printStackTrace();
}
try {
File _file =
new File(originalpic);
Image src =
ImageIO.read(_file);
int wideth =
src.getWidth( null );
int height =
src.getHeight( null );
boolean flag=true;
if (wideth >= height)
{
flag = true;