首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > Web前端 >

[转]给网站下传的图片盖章

2012-09-13 
[转]给网站上传的图片盖章/************************************************* pjava对图片的操作(只能

[转]给网站上传的图片盖章

/************************************************* <p>java对图片的操作(只能使用jpg)</p>* 对图片的签章<br>* 对图片的缩图<br>* <p>Title:java对图片的操作(只能使用jpg)</p>* <p>CreateData: 2004-12-2</p>* <p>Description:</p>* <p>Copyright: Copyright (c) 2004</p>* @author 王凯* @version 1.0***********************************************/package com.cn.wangk.test;import java.io.*;import com.sun.image.codec.jpeg.*;//sun公司仅提供了jpg图片文件的编码apiimport java.awt.Font;import java.awt.Graphics;import java.awt.Image;import java.awt.geom.AffineTransform;import java.awt.image.AffineTransformOp;import java.awt.image.BufferedImage;import java.awt.image.ImageObserver;import javax.imageio.ImageIO;/*** @author wangkai*/public class Test {  /**   *    */  public Test() {    try {      //生成以后新的图片地址      File fo = new File("c:\\4.jpg");      //读取的图片文件      String imagePath = "C:\\Documents and Settings\\Administrator"          + "\\My Documents\\My Pictures\\1.jpg";      //盖章的图片文件      String toimagepth = "C:\\1.jpg";      //得到图片的文件流      InputStream imageIn;      imageIn = new FileInputStream(new File(imagePath));      //得到输入的编码器,将文件流进行jpg格式编码      JPEGImageDecoder decoder = JPEGCodec.createJPEGDecoder(imageIn);      //得到编码后的图片对象      BufferedImage image = decoder.decodeAsBufferedImage();      Graphics g = image.getGraphics();      try {        InputStream imageIn2 = null;        imageIn2 = new FileInputStream(new File(toimagepth));        //得到输入的编码器,将文件流进行jpg格式编码        JPEGImageDecoder decoder2 = JPEGCodec            .createJPEGDecoder(imageIn2);        //得到编码后的图片对象        BufferedImage image2 = decoder2.decodeAsBufferedImage();        //加盖图片章        ImageObserver obser = null;        int x = image.getWidth() - image2.getWidth();        int y = image.getHeight() - image2.getHeight();        g.drawImage(image2, x, y, obser);      } catch (FileNotFoundException e) {        //打开文件失败,表示章图片不存在,这时候直接加盖文件章(签名)        g.setFont(new Font("宋体", Font.PLAIN, 18));        g.drawString("秋水工作室", image.getWidth() - 100,            image.getHeight() - 20);        g.drawString("water_wang@xs.zj.cn", image.getWidth() - 180,            image.getHeight() - 10);      }      g.dispose();      ImageIO.write(image, "jpeg", fo);      System.out.println("ok");    } catch (FileNotFoundException e) {      // 自动生成 catch 块      e.printStackTrace();    } catch (ImageFormatException e) {      // 自动生成 catch 块      e.printStackTrace();    } catch (IOException e) {      // 自动生成 catch 块      e.printStackTrace();    }  }  public static void saveFixedBoundIcon(File imageFile, int height, int width)      throws Exception {    double Ratio = 0.0;    if (imageFile == null || !imageFile.isFile())      throw new Exception(imageFile + "找不到指定的文件!");    String filePath = imageFile.getPath();    BufferedImage Bi = ImageIO.read(imageFile);    if ((Bi.getHeight() > height) || (Bi.getWidth() > width)) {      if (Bi.getHeight() > Bi.getWidth()) {        Ratio = (new Integer(height)).doubleValue() / Bi.getHeight();      } else {        Ratio = (new Integer(width)).doubleValue() / Bi.getWidth();      }      File savefile = new File(filePath + "_" + height + "_" + width          + ".jpg");      Image Itemp = Bi.getScaledInstance(width, height,          Image.SCALE_SMOOTH);      AffineTransformOp op = new AffineTransformOp(AffineTransform          .getScaleInstance(Ratio, Ratio), null);      Itemp = op.filter(Bi, null);      try {        ImageIO.write((BufferedImage) Itemp, "jpeg", savefile);      } catch (Exception ex) {      }    }  }  public static void main(String[] args) {    //    Test ts = new Test();    try {      Test.saveFixedBoundIcon(new File(          "C:\\test.jpg"), 200, 200);    } catch (Exception e) {      // 自动生成 catch 块      e.printStackTrace();    }  }}

?

热点排行