<%@ page contentType="text/html; charset=GBK"%>
<%@ page import="javax.servlet.*"%>
<%@ page import="javax.servlet.http.*"%>
<%@ page import="com.yourcompany.util.*"%>
<html>
<head>
<link href="js/default.css" rel="stylesheet" type="text/css" />
<script type="text/javascript" src="js/swfupload.js"></script>
<script type="text/javascript" src="js/handlers.js"></script>
<script src="js/jquery.js" type="text/javascript"></script>
<script type="text/javacript">
function g(){
$.ajax({
url: 'upload2.jsp',
date: {c: $('#c').val(), c: $('#c').val()},
error: function() { alert"fail"},
success: function(response) { ... }
});
}
</script>
<script type="text/javascript">
var swfu;
window.onload = function () {
swfu = new SWFUpload({
// Backend Settings
upload_url: "upload2.jsp", // Relative to the SWF file
post_params: {"product1": "1"},
use_query_string:false,
// File Upload Settings
file_size_limit : "2048", // 2MB
file_types : "*.jpg",
file_types_description : "JPG Images",
file_upload_limit : "0",
// Event Handler Settings - these functions as defined in Handlers.js
// The handlers are not part of SWFUpload but are part of my website and control how
// my website reacts to the SWFUpload events.
file_queue_error_handler : fileQueueError,
file_dialog_complete_handler : fileDialogComplete,
upload_progress_handler : uploadProgress,
upload_start_handler : uploadStart,
upload_error_handler : uploadError,
upload_success_handler : uploadSuccess,
upload_complete_handler : uploadComplete,
// Flash Settings
flash_url : "js/swfupload_f9.swf", // Relative to this file
custom_settings : {
upload_target : "divFileProgressContainer"
},
// Debug Settings
debug: false
});
}
function uploadStart(file) {
var post_params = this.settings.post_params;
post_params.product = document.getElementById("product").value;
this.setPostParams(post_params);
return true;
}
</script>
</head>
<div id="SWFUploadTarget">
<body>
<div>
<form action="upload2.jsp" method="get">
<button id="btnBrowse" type="button" style="padding: 5px;" onClick="swfu.selectFiles(); this.blur();"><img src="images/page_white_add.png" style="padding-right: 3px; vertical-align: bottom;">璇烽夋嫨鍥劇墖<span style="font-size: 7pt;">(2 MB Max)</span></button>
璇瘋緭鍏ヤ駭鍝両D<input type="text" name="product" id="product" value="">
</form>
</div>
<div id="divFileProgressContainer" style="height: 75px;"></div>
<div id="thumbnails"></div>
</div>
</body>
<html>
鍚庡彴浣跨敤SmartUpload錛?br />
<%@ page contentType="text/html;charset=gb2312" language="java" import="java.io.*,java.awt.Image,java.awt.image.*,com.sun.image.codec.jpeg.*,
java.sql.*,com.jspsmart.upload.*,java.util.*,com.yourcompany.util.*"%>
<%
SmartUpload mySmartUpload =new SmartUpload();
long file_size_max=4000000;
//add
//鍒濆鍖?br />
mySmartUpload.initialize(pageContext);
//鍙厑璁鎬笂杞芥綾繪枃浠?br />
try {
mySmartUpload.setAllowedFilesList("jpg,gif");
//涓婅澆鏂囦歡
mySmartUpload.upload();
} catch (Exception e){
%>
<SCRIPT language=javascript>
alert("鍙厑璁鎬笂浼?jpg鍜?gif綾誨瀷鍥劇墖鏂囦歡");
window.location=''upfile.jsp'';
</script>
<%
}
//try{
com.jspsmart.upload.File myFile = mySmartUpload.getFiles().getFile(0);
if (myFile.isMissing()){%>
<SCRIPT language=javascript>
alert("璇峰厛閫夋嫨瑕佷笂浼犵殑鏂囦歡");
window.location=''upfile.jsp'';
</script>
<%}
else{
String fileName2="",ext="",testvar="";
String productname=mySmartUpload.getRequest().getParameter("product");
String url="/uploadfile/"+productname+"/"; //搴斾繚璇佸湪鏍圭洰褰曚腑鏈夋鐩綍鐨勫瓨鍦?/p>
java.io.File file1 = new java.io.File(request.getRealPath("/") + url );
if(!file1.exists())
{
file1.mkdir();
}
//String myFileName=myFile.getFileName(); //鍙栧緱涓婅澆鐨勬枃浠剁殑鏂囦歡鍚?br />
ext= myFile.getFileExt(); //鍙栧緱鍚庣紑鍚?br />
int file_size=myFile.getSize(); //鍙栧緱鏂囦歡鐨勫ぇ灝?nbsp;
String saveurl="";
if(file_size<file_size_max){
int temp=1,temp2=0;
String[] a=myFile.getFileName().split(".jpg");
String myFileNameo = productname+"_00_pic_big";
String myFileName = productname+"_0"+temp;
Calendar calendar = Calendar.getInstance();
String filename = String.valueOf(calendar.getTimeInMillis());
saveurl=request.getRealPath("/")+url;
saveurl+=myFileNameo+"."+ext; //淇濆瓨璺緞
myFile.saveAs(saveurl,mySmartUpload.SAVE_PHYSICAL);
// java.io.File f1 = new java.io.File (saveurl);
// java.io.File f2 = new java.io.File (request.getRealPath("/")+url+myFileName+"_0_big.jpg");
// f1.renameTo(f2);
//out.print(filename);
//-----------------------涓婁紶瀹屾垚錛屽紑濮嬬敓鎴愮緝鐣ュ浘-------------------------
com.yourcompany.util.DirList dirlist = new com.pixel.util.DirList();
String[] dir =dirlist.list(request.getRealPath("/") + url );
for(int i=0;i<dir.length;i++){
//for (String i : dir){
String[] split = dir[i].split("\\.");
if(split[1].equals("jpg")){
String[] split2=split[0].split("\\_");
//split2[1]=01
if(Integer.parseInt(split2[1])>0&Integer.parseInt(split2[1])>=temp2){
temp2=Integer.parseInt(split2[1])+1;
}
if(Integer.parseInt(split2[1])==0){
temp2=1;
}
}
}
if(temp2<=10){
myFileName = productname+"_0"+temp2;
}else{
myFileName = productname+"_"+temp2;
}
//myFileName = mySmartUpload.getRequest().getParameter("product");
java.io.File file = new java.io.File(saveurl); //璇誨叆鍒氭墠涓婁紶鐨勬枃浠?br />
String newurl=request.getRealPath("/")+url+myFileName+"_70_min."+ext; //鏂扮殑緙╃暐鍥句繚瀛樺湴鍧
Image src = javax.imageio.ImageIO.read(file); //鏋勯營mage瀵硅薄
float tagsize=70;
int old_w=src.getWidth(null); //寰楀埌婧愬浘瀹?br />
int old_h=src.getHeight(null);
int new_w=0;
int new_h=0; //寰楀埌婧愬浘闀?br />
int tempsize;
float tempdouble;
if(old_w>old_h){
tempdouble=old_w/tagsize;
}else{
tempdouble=old_h/tagsize;
}
new_w=Math.round(old_w/tempdouble);
new_h=Math.round(old_h/tempdouble);//璁$畻鏂板浘闀垮
BufferedImage tag = new BufferedImage(new_w,new_h,BufferedImage.TYPE_INT_RGB);
tag.getGraphics().drawImage(src,0,0,new_w,new_h,null); //緇樺埗緙╁皬鍚庣殑鍥?br />
FileOutputStream newimage=new FileOutputStream(newurl); //杈撳嚭鍒版枃浠舵祦
JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(newimage);
encoder.encode(tag); //榪慗PEG緙栫爜
//璇誨叆鍒氭墠涓婁紶鐨勬枃浠?br />
newurl=request.getRealPath("/")+url+myFileName+"_130_min."+ext; //鏂扮殑緙╃暐鍥句繚瀛樺湴鍧
//Image src = javax.imageio.ImageIO.read(file); //鏋勯營mage瀵硅薄
tagsize=130;
// int old_w2=src2.getWidth(null); //寰楀埌婧愬浘瀹?br />
// int old_h2=src2.getHeight(null);
// int new_w=0;
// int new_h=0; //寰楀埌婧愬浘闀?br />
// int tempsize;
// float tempdouble;
if(old_w>old_h){
tempdouble=old_w/tagsize;
}else{
tempdouble=old_h/tagsize;
}
new_w=Math.round(old_w/tempdouble);
new_h=Math.round(old_h/tempdouble);//璁$畻鏂板浘闀垮
tag = new BufferedImage(new_w,new_h,BufferedImage.TYPE_INT_RGB);
tag.getGraphics().drawImage(src,0,0,new_w,new_h,null); //緇樺埗緙╁皬鍚庣殑鍥?br />
newimage=new FileOutputStream(newurl); //杈撳嚭鍒版枃浠舵祦
encoder = JPEGCodec.createJPEGEncoder(newimage);
encoder.encode(tag); //榪慗PEG緙栫爜
newurl=request.getRealPath("/")+url+myFileName+"_180_min."+ext; //鏂扮殑緙╃暐鍥句繚瀛樺湴鍧
//Image src = javax.imageio.ImageIO.read(file); //鏋勯營mage瀵硅薄
tagsize=180;
// int old_w2=src2.getWidth(null); //寰楀埌婧愬浘瀹?br />
// int old_h2=src2.getHeight(null);
// int new_w=0;
// int new_h=0; //寰楀埌婧愬浘闀?br />
// int tempsize;
// float tempdouble;
if(old_w>old_h){
tempdouble=old_w/tagsize;
}else{
tempdouble=old_h/tagsize;
}
new_w=Math.round(old_w/tempdouble);
new_h=Math.round(old_h/tempdouble);//璁$畻鏂板浘闀垮
tag = new BufferedImage(new_w,new_h,BufferedImage.TYPE_INT_RGB);
tag.getGraphics().drawImage(src,0,0,new_w,new_h,null); //緇樺埗緙╁皬鍚庣殑鍥?br />
newimage=new FileOutputStream(newurl); //杈撳嚭鍒版枃浠舵祦
encoder = JPEGCodec.createJPEGEncoder(newimage);
encoder.encode(tag); //榪慗PEG緙栫爜
newurl=request.getRealPath("/")+url+myFileName+"_500_min."+ext; //鏂扮殑緙╃暐鍥句繚瀛樺湴鍧
//Image src = javax.imageio.ImageIO.read(file); //鏋勯營mage瀵硅薄
tagsize=500;
// int old_w2=src2.getWidth(null); //寰楀埌婧愬浘瀹?br />
// int old_h2=src2.getHeight(null);
// int new_w=0;
// int new_h=0; //寰楀埌婧愬浘闀?br />
// int tempsize;
// float tempdouble;
if(old_w>old_h){
tempdouble=old_w/tagsize;
}else{
tempdouble=old_h/tagsize;
}
new_w=Math.round(old_w/tempdouble);
new_h=Math.round(old_h/tempdouble);//璁$畻鏂板浘闀垮
tag = new BufferedImage(new_w,new_h,BufferedImage.TYPE_INT_RGB);
tag.getGraphics().drawImage(src,0,0,new_w,new_h,null); //緇樺埗緙╁皬鍚庣殑鍥?br />
newimage=new FileOutputStream(newurl); //杈撳嚭鍒版枃浠舵祦
encoder = JPEGCodec.createJPEGEncoder(newimage);
encoder.encode(tag); //榪慗PEG緙栫爜
newurl=request.getRealPath("/")+url+myFileName+"_800_min."+ext; //鏂扮殑緙╃暐鍥句繚瀛樺湴鍧
//Image src = javax.imageio.ImageIO.read(file); //鏋勯營mage瀵硅薄
tagsize=800;
// int old_w2=src2.getWidth(null); //寰楀埌婧愬浘瀹?br />
// int old_h2=src2.getHeight(null);
// int new_w=0;
// int new_h=0; //寰楀埌婧愬浘闀?br />
// int tempsize;
// float tempdouble;
if(old_w>old_h){
tempdouble=old_w/tagsize;
}else{
tempdouble=old_h/tagsize;
}
new_w=Math.round(old_w/tempdouble);
new_h=Math.round(old_h/tempdouble);//璁$畻鏂板浘闀垮
tag = new BufferedImage(new_w,new_h,BufferedImage.TYPE_INT_RGB);
tag.getGraphics().drawImage(src,0,0,new_w,new_h,null); //緇樺埗緙╁皬鍚庣殑鍥?br />
newimage=new FileOutputStream(newurl); //杈撳嚭鍒版枃浠舵祦
encoder = JPEGCodec.createJPEGEncoder(newimage);
encoder.encode(tag); //榪慗PEG緙栫爜
newimage.close();
}
else{
out.print("<SCRIPT language=''javascript''>");
out.print("alert(''涓婁紶鏂囦歡澶у皬涓嶈兘瓚呰繃"+(file_size_max/1000)+"K'');");
out.print("window.location=''upfile.jsp;''");
out.print("</SCRIPT>");
}
}
//}catch (Exception e){
//e.toString();
//}
%>
for(int i=0;i<dir.length;i++){
//for (String i : dir){
String[] split = dir[i].split("\\.");
if(split[1].equals("jpg")){
String[] split2=split[0].split("\\_");
//split2[1]=01
if(Integer.parseInt(split2[1])>0&Integer.parseInt(split2[1])>=temp2){
temp2=Integer.parseInt(split2[1])+1;
}
if(Integer.parseInt(split2[1])==0){
temp2=1;
}
}
}
if(temp2<=10){
myFileName = productname+"_0"+temp2;
}else{
myFileName = productname+"_"+temp2;
}
import java.io.File;
import java.io.FilenameFilter;
import java.util.Arrays;
import java.util.Comparator;
import java.util.regex.Pattern;
public class DirList {
public String[] list(String thepath) {
File path = new File(thepath);
String[] list;
list = path.list();
Arrays.sort(list, new AlphabeticComparator());
return list;
}
}
class DirFilter implements FilenameFilter {
private Pattern pattern; public DirFilter(String regex) {
pattern = Pattern.compile(regex); }
public boolean accept(File dir, String name) {
// Strip path information, search for regex:
return pattern.matcher(new File(name).getName()).matches();
}
}
class AlphabeticComparator implements Comparator {
public int compare(Object o1, Object o2) {
String s1 = (String) o1; String s2 = (String) o2;
return s1.toLowerCase().compareTo(s2.toLowerCase());
}
}
import java.awt.*;
import java.awt.image.BufferedImage;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import javax.imageio.ImageIO;
import com.sun.image.codec.jpeg.*;
public class TestDrawFont {
public static void main(String[] args) {
try {
BufferedImage image = ImageIO.read(new FileInputStream("c:\\bg.jpg"));
Graphics2D g = image.createGraphics();
BufferedImage image_template = ImageIO.read(new FileInputStream("c:\\template.gif"));
g.setColor(Color.red);
g.setFont(new Font("姹夐紟綆涓粦",Font.ITALIC + Font.BOLD + Font.LAYOUT_LEFT_TO_RIGHT, 23));//鍐欏叆絳懼悕
g.drawString("甯呭摜",22, image.getHeight() - 50);
g.drawString("鍗扮珷",22, image.getHeight()-30);
g.drawImage(image_template, 5,image.getHeight() - 85, image_template.getWidth(null),image_template.getHeight(null), null);
g.dispose();
FileOutputStream out = new FileOutputStream("c:\\all.jpg");
JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(out);
encoder.encode(image);
out.close();
} catch(Exception e) {
e.printStackTrace();
}
}
}
Java 2 騫沖彴鍙互鍖哄垎涓ょ瀛椾綋錛氱墿鐞?瀛椾綋鍜岄昏緫 瀛椾綋銆?
鐗╃悊 瀛椾綋鏄疄闄呯殑瀛椾綋搴擄紝鍖呭惈瀛楀艦鏁版嵁鍜岃〃錛岃繖浜涙暟鎹拰琛ㄤ嬌鐢ㄥ瓧浣撴妧鏈紙濡?TrueType 鎴?PostScript Type 1錛夊皢瀛楃搴忓垪鏄犲皠鍒板瓧褰㈠簭鍒椼侸ava 2 騫沖彴鐨勬墍鏈夊疄鐜伴兘鏀寔 TrueType 瀛椾綋錛涘鍏朵粬瀛椾綋鎶鏈殑鏀寔鏄笌瀹炵幇鐩稿叧鐨勩傜墿鐞嗗瓧浣撳彲浠ヤ嬌鐢ㄥ瓧浣撳悕縐幫紝濡?Helvetica銆丳alatino銆丠onMincho 鎴栦換鎰忔暟閲忕殑鍏朵粬瀛椾綋鍚嶇О銆傞氬父錛屾瘡縐嶇墿鐞嗗瓧浣撳彧鏀寔鏈夐檺鐨勪功鍐欑郴緇熼泦鍚堬紝渚嬪錛屽彧鏀寔鎷変竵鏂囧瓧絎︽垨鍙敮鎸佹棩鏂囧拰鍩烘湰鎷変竵鏂囥傚彲鐢ㄧ殑鐗╃悊瀛椾綋闆嗗悎闅忛厤緗殑涓嶅悓鑰屼笉鍚屻傝姹傜壒瀹氬瓧浣撶殑搴旂敤紼嬪簭鍙互浣跨敤 createFont 鏂規硶鏉ユ崋緇戣繖浜涘瓧浣擄紝騫跺鍏惰繘琛屽疄渚嬪寲銆?/p>
鏋勯犳柟娉曟憳瑕?br />
Font(String name, int style, int size)
鏍規嵁鎸囧畾鍚嶇О銆佹牱寮忓拰鐐瑰ぇ灝忥紝鍒涘緩涓涓柊 Font
public abstract void drawString(String s,
float x,
float y)
public abstract void drawImage(BufferedImage img,
BufferedImageOp op,
int x,
int y)