java中的接口是类吗
311
2023-07-31
Java实现给网站上传图片盖章的方法
本文实例讲述了java实现给网站上传图片盖章的方法。分享给大家供大家参考。具体如下:
最近无聊,上了一会校友录,觉的校友录的图片都会加入一个章,呵呵,自己也就做了一个,不过只适合jpg格式。发出来给大家研究研究。欢迎讨论!
很老的代码了
/************************************************
*
java对图片的操作(只能使用jpg)
* 对图片的签章
* 对图片的缩图
*
Title:java对图片的操作(只能使用jpg)
*
CreateData: 2004-12-2
*
Description:
*
Copyright: Copyright (c) 2004
* @author 王凯
* @version 1.0
*******************http://****************************/
package com.cn.wangk.test;
import java.io.*;
import com.sun.image.codec.jpeg.*;//sun公司仅提供了jpg图片文件的编码api
import 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:\\Documenhttp://ts 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);
//http://得到编码后的图片对象
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();
}
}
}
希望本文所述对大家的java程序设计有所帮助。
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~