centos下没有所需的中文字体,所以图片画图中文都成了方框,
安装字体需要重启服务器,
其实,构造Font时指定字体文件就可以解决对操作系统的依赖
设<img src=c_vcode.jsp
c_vcode.jsp代码如下
<%@page import="com.anzhi.ucenter.utils.ComUtils"%>
<%@ page contentType="image/jpeg"
import="java.io.*,java.awt.*,java.awt.image.*,java.util.*,javax.imageio.*"
pageEncoding="utf-8"%>
<%!
public static String path=null;
public static Font font1=null;
public static Font getFontOfPath(String path){
try{
java.io.FileInputStream fi = new java.io.FileInputStream(path);
java.io.BufferedInputStream fb = new java.io.BufferedInputStream(fi);
Font nf = Font.createFont(Font.TRUETYPE_FONT, fb);
return nf;
}
catch(Exception e){
e.printStackTrace();
}
return null;
}
public static Font getFont1() {
if(font1==null){
String fontPath=path+File.separator+"font"+File.separator+"SIMYOU.TTF";
font1=getFontOfPath(fontPath);
}
font1=font1.deriveFont(Font.BOLD, 15 + random.nextInt(6));
return font1;
//return new Font("幼圆", Font.BOLD, 15 + random .nextInt(6));
}
%>
<%
try {
if(path==null){
path=request.getRealPath("");
}
//设置页面不缓存
response.setHeader("P3P", "CP=CAO PSA OUR");
response.setHeader("Pragma", "No-cache");
response.setHeader("Cache-Control", "n