生成图片:
createCode.jsp
-----------------------
<%@ page contentType="image/jpeg"
import="java.io.IOException,javax.imageio.ImageIO,java.awt.*,java.awt.image.BufferedImage,java.util.Random,com.sun.image.codec.jpeg.*" %>
<%
//设置页面不缓存
response.setHeader("Pragma", "No-cache"
;
response.setHeader("Cache-Control", "no-cache"
;
response.setDateHeader("Expires", 0);
//设置图片大小
int width = 100; int height = 100;
//初始化内存中的图片
BufferedImage bi = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB);
//获得图片的上下文
Graphics2D g = bi.createGraphics();
//设置图片背景色
g.setBackground( new Color(200,250,200));
//画图片的边框
g.clearRect(0, 0, width, height);
//设置画笔的颜色
g.setColor(Color.RED);
//向图片画一条线
g.drawLine(0, 0, 99, 199);
g.drawString("hehe",10,10);
//结束图片
g.dispose();
//获得图片
bi.flush();
JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(response.getOutputStream());
JPEGEncodeParam param = encoder.getDefaultJPEGEncodeParam(bi);
param.setQuality(1.0f, false);
encoder.setJPEGEncodeParam(param);
//把图片写到response输出流
try {
encoder.encode(bi);
}
catch(IOException ioe) {
ioe.printStackTrace();
}
%>
-------------------------------------------
<%@page language="java" contentType="text/html; charset=GBK"%>
<img src="createCode.jsp">
===============================================================================
以下是修改图片:
<%@page language="java" contentType="text/html; charset=GBK"%>
<img src="modifyJpeg.jsp">
--------------------------
modifyJpeg.jsp:
<%@ page contentType="image/jpeg"
import="java.io.IOException,javax.imageio.ImageIO,java.awt.*,java.awt.image.BufferedImage,java.util.Random,com.sun.image.codec.jpeg.*" %>
<%@ page import="java.io.*"%>
<%
try{
//设置页面不缓存
response.setHeader("Pragma", "No-cache"
;
response.setHeader("Cache-Control", "no-cache"
;
response.setDateHeader("Expires", 0);
//读入文件
File _file = new File("D:/project/testCopy/sintal/test/JavaCreateJpeg/biao.jpg"
;
//构造Image对象
Image src = javax.imageio.ImageIO.read(_file);
//得到源图宽
int wideth=src.getWidth(null);
//得到源图长
int height=src.getHeight(null);
//获得内存
BufferedImage tag = new BufferedImage(wideth/2,height/2,BufferedImage.TYPE_INT_RGB);
//得到图片上下文
Graphics2D g = tag.createGraphics();
//设置图片背景色
g.setBackground( new Color(200,250,200
;
//画图片的边框使用背景色
g.clearRect(0, 0, wideth, height);
//设置画笔的颜色
g.setColor(Color.RED);
//向图片画另一个图片上去
g.drawImage(src,0,0,wideth/2,height/2,null); //绘制缩小后的图
for( int i=10 ; i<wideth; i+=200
{
for( int j=10 ;j<height;j+=100){
g.drawString("("+i+" , "+j +"
", i , j
;
}
}
//向图片画一条线
//g.drawLine(0, 0, 99, 199);
//结束图片
g.dispose();
tag.flush();
//FileOutputStream out=new FileOutputStream("newfile.jpg"
; 如果想生成新的文件需要定义out
JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(response.getOutputStream());
encoder.encode(tag); //近JPEG编码
}catch(Exception e){
e.printStackTrace();
}
//如果生成新文件还需要out.close();
%>
createCode.jsp
-----------------------
<%@ page contentType="image/jpeg"
import="java.io.IOException,javax.imageio.ImageIO,java.awt.*,java.awt.image.BufferedImage,java.util.Random,com.sun.image.codec.jpeg.*" %>
<%
//设置页面不缓存
response.setHeader("Pragma", "No-cache"

response.setHeader("Cache-Control", "no-cache"

response.setDateHeader("Expires", 0);
//设置图片大小
int width = 100; int height = 100;
//初始化内存中的图片
BufferedImage bi = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB);
//获得图片的上下文
Graphics2D g = bi.createGraphics();
//设置图片背景色
g.setBackground( new Color(200,250,200));
//画图片的边框
g.clearRect(0, 0, width, height);
//设置画笔的颜色
g.setColor(Color.RED);
//向图片画一条线
g.drawLine(0, 0, 99, 199);
g.drawString("hehe",10,10);
//结束图片
g.dispose();
//获得图片
bi.flush();
JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(response.getOutputStream());
JPEGEncodeParam param = encoder.getDefaultJPEGEncodeParam(bi);
param.setQuality(1.0f, false);
encoder.setJPEGEncodeParam(param);
//把图片写到response输出流
try {
encoder.encode(bi);
}
catch(IOException ioe) {
ioe.printStackTrace();
}
%>
-------------------------------------------
<%@page language="java" contentType="text/html; charset=GBK"%>
<img src="createCode.jsp">
===============================================================================
以下是修改图片:
<%@page language="java" contentType="text/html; charset=GBK"%>
<img src="modifyJpeg.jsp">
--------------------------
modifyJpeg.jsp:
<%@ page contentType="image/jpeg"
import="java.io.IOException,javax.imageio.ImageIO,java.awt.*,java.awt.image.BufferedImage,java.util.Random,com.sun.image.codec.jpeg.*" %>
<%@ page import="java.io.*"%>
<%
try{
//设置页面不缓存
response.setHeader("Pragma", "No-cache"

response.setHeader("Cache-Control", "no-cache"

response.setDateHeader("Expires", 0);
//读入文件
File _file = new File("D:/project/testCopy/sintal/test/JavaCreateJpeg/biao.jpg"

//构造Image对象
Image src = javax.imageio.ImageIO.read(_file);
//得到源图宽
int wideth=src.getWidth(null);
//得到源图长
int height=src.getHeight(null);
//获得内存
BufferedImage tag = new BufferedImage(wideth/2,height/2,BufferedImage.TYPE_INT_RGB);
//得到图片上下文
Graphics2D g = tag.createGraphics();
//设置图片背景色
g.setBackground( new Color(200,250,200


//画图片的边框使用背景色
g.clearRect(0, 0, wideth, height);
//设置画笔的颜色
g.setColor(Color.RED);
//向图片画另一个图片上去
g.drawImage(src,0,0,wideth/2,height/2,null); //绘制缩小后的图
for( int i=10 ; i<wideth; i+=200

for( int j=10 ;j<height;j+=100){
g.drawString("("+i+" , "+j +"


}
}
//向图片画一条线
//g.drawLine(0, 0, 99, 199);
//结束图片
g.dispose();
tag.flush();
//FileOutputStream out=new FileOutputStream("newfile.jpg"

JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(response.getOutputStream());
encoder.encode(tag); //近JPEG编码
}catch(Exception e){
e.printStackTrace();
}
//如果生成新文件还需要out.close();
%>