当前位置: 代码迷 >> Web前端 >> 向图片下面写字
  详细解决方案

向图片下面写字

热度:382   发布时间:2012-10-12 10:17:04.0
向图片上面写字
/**
 * @Description:
 * @cta-new.com.ctta.dao.impl
 * @FileName:Test.java
 * @Created:2011-10-27 下午02:15:31
 */
package com.ctta.dao.impl;

import java.awt.Color;
import java.awt.Font;
import java.awt.Graphics;
import java.awt.Image;
import java.awt.image.BufferedImage;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;

import javax.imageio.ImageIO;

import com.sun.image.codec.jpeg.JPEGCodec;
import com.sun.image.codec.jpeg.JPEGImageEncoder;

public class Test {
    public static void main(String[] args) throws IOException {
	String fileName = "D:/2011117195627.jpg";// 源图路径
	String outFileName = "D:/test.jpg";// 新生成图片路径
	FileInputStream fis = new FileInputStream(fileName);
	Image src = ImageIO.read(fis);// 创建一个IMAGE对象
	int width = src.getWidth(null);// 得到图片的宽
	int height = src.getHeight(null);// 得到图片的长
	if (width > 200 && height > 100) {
	    BufferedImage image = new BufferedImage(width, height,
		    BufferedImage.TYPE_INT_RGB);// 创建图片容器
	    Graphics g = image.getGraphics();// 创建绘图环境
	    g.drawImage(src, 0, 0, width, height, null);// 将图象载入BUFFEREDIMAGE
	    // cta编号
	    g.setFont(new Font("宋体", Font.PLAIN, 21));
	    g.setColor(Color.RED);// 设置文本颜色
	    g.drawString("QI0001206", 796, 59);// 向BUFFEREDIMAGE写入文字
	    // 企业名称
	    g.setFont(new Font("宋体", Font.BOLD , 30));
	    g.setColor(Color.decode("#f00ff"));// 设置文本颜色
	    g.drawString("张家港富星鞋业有限公司", 280, 472);// 向BUFFEREDIMAGE写入文字
	    // 证书编号
	    g.setFont(new Font("宋体", Font.BOLD, 24));
	    g.setColor(Color.BLACK);// 设置文本颜色
	    g.drawString("JS-911010044", 741, 438);// 向BUFFEREDIMAGE写入文字
	    // 法人代表
	    g.setFont(new Font("宋体", Font.BOLD , 30));
	    g.setColor(Color.BLACK);// 设置文本颜色
	    g.drawString("陈福今", 347, 550);// 向BUFFEREDIMAGE写入文字
	    // 地址
	    g.setFont(new Font("宋体", Font.BOLD, 30));
	    g.setColor(Color.BLACK);// 设置文本颜色
	    g.drawString("江苏省张家港市大新镇大新村(海贝路)", 285, 611);// 向BUFFEREDIMAGE写入文字
	    // 产品类别
	    g.setFont(new Font("宋体", Font.BOLD , 30));
	    g.setColor(Color.BLACK);// 设置文本颜色
	    g.drawString("安格卢特变形鞋", 285, 681);// 向BUFFEREDIMAGE写入文字
	    // 检验标准
	    g.setFont(new Font("宋体", Font.BOLD, 30));
	    g.setColor(Color.BLACK);// 设置文本颜色
	    g.drawString("GB20096-2006", 330, 786);// 向BUFFEREDIMAGE写入文字
	    // 发证日期 年
	    g.setFont(new Font("宋体", Font.BOLD, 24));
	    g.setColor(Color.BLACK);// 设置文本颜色
	    g.drawString("2011", 713, 1088);// 向BUFFEREDIMAGE写入文字
	    // 发证日期 月
	    g.setFont(new Font("宋体", Font.BOLD, 24));
	    g.setColor(Color.BLACK);// 设置文本颜色
	    g.drawString("01", 792, 1088);// 向BUFFEREDIMAGE写入文字
	    // 发证日期 日
	    g.setFont(new Font("宋体", Font.BOLD , 24));
	    g.setColor(Color.BLACK);// 设置文本颜色
	    g.drawString("02", 853, 1088);// 向BUFFEREDIMAGE写入文字
	    // 有效期至 年
	    g.setFont(new Font("宋体", Font.BOLD, 24));
	    g.setColor(Color.BLACK);// 设置文本颜色
	    g.drawString("2012", 713, 1157);// 向BUFFEREDIMAGE写入文字
	    // 有效期至 月
	    g.setFont(new Font("宋体", Font.BOLD, 24));
	    g.setColor(Color.BLACK);// 设置文本颜色
	    g.drawString("01", 792, 1157);// 向BUFFEREDIMAGE写入文字
	    // 有效期至 日
	    g.setFont(new Font("宋体", Font.BOLD, 24));
	    g.setColor(Color.BLACK);// 设置文本颜色
	    g.drawString("01", 853, 1157);// 向BUFFEREDIMAGE写入文字
	    g.dispose();// 更改
	    FileOutputStream out = new FileOutputStream(outFileName);
	    JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(out);// JPEG编码对象
	    encoder.encode(image);// 将BUFFEREDIMAGE对象进行JPEG格式编码
	    out.close();
	}
    }
}

?上传得到图片坐标的山寨版本软件

  相关解决方案