<%@ page contentType="image/jpeg" import="javax.imageio.ImageIO,
javax.servlet.ServletOutputStream,
java.awt.*,
java.awt.image.BufferedImage,
java.io.*" %>
<%
//设置页面不缓存
response.setHeader("Pragma", "No-cache");
response.setHeader("Cache-Control", "no-cache");
response.setDateHeader("Expires", 0);// 在内存中创建图象
File file = new java.io.File(pageContext.getServletContext().getRealPath("./servlet/simfang.ttf"));
//File file = new java.io.File("/servlet/simfang.ttf");
java.io.FileInputStream fi = new java.io.FileInputStream(file);
java.io.BufferedInputStream fb = new java.io.BufferedInputStream(fi);
Font font = Font.createFont(Font.TRUETYPE_FONT, fb); GraphicsEnvironment.getLocalGraphicsEnvironment().registerFont(font);
int width = 160, height = 20;
BufferedImage image = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB);
Graphics g = image.getGraphics();
g.setColor(Color.YELLOW);
g.fillRect(0, 0, width, height);
g.setColor(Color.RED);
//g.setFont(font);
String str="\u584c塌abc这是中文";
//g.drawString(new String(str.getBytes("utf-8"),10,15);
//g.drawString(str,10,15);
g.drawString(str,10,15);
g.dispose(); ServletOutputStream outputStream = null;
try {
outputStream = response.getOutputStream();
ImageIO.write(image, "JPEG", outputStream);
} finally {
if (outputStream != null) {
try {
outputStream.close();
} catch (IOException e) {
}
}
}
%>查看APPlication logs发现 BufferedImage image = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB);
Graphics g = image.getGraphics();在Google app engine 里面不可用,那在GAE里面的项目怎么绘图呢?需要输出验证码的地方怎么办?
com.google.appengine.api.images 里面是否有那种功能呢