我有一个java程序可以做个这个你试试
解决方案 »
- 实现下载功能出现java.net.SocketException: Connection reset by peer: socket write error
- 求一个struts2+hibernate的分页程序,好用的
- 急求JFreechart 折线图 接点显示具体信息的DEMO
- 外循环遍历论坛式版块,再内循环遍历该块内文章的问题!在线等
- (急!!!)哪位同仁帮忙看看是什么错误,提供点解决思路!
- 大哥大姐请进`````进则有分``谢谢```----------JSP输出表格问题```
- 关于对数据库的数据的增删改问题急急急急急急!!!!!!!!!!!
- 怎样在网页中实现上传对话框?
- 菜鸟初级问题,我的tomcat端口是6060 但我的server它调试总是往1234那个端口发请求,请问怎么改成6060端口
- 请问在webservice通过@Autowired 注入为空,如何解决,同时在webservice如何返回多个值呢
- 有关文件文件下载问题 请高手帮忙
- 求jive3.1.3的license
import java.util.*;
import com.sun.image.codec.jpeg.*;
import java.awt.image.*;
import java.awt.*;
import java.net.*;
import java.applet.*;
import java.sql.*;public class Small_pic{
String InputDir; //输入图路径
String OutputDir; //输出图路径
String InputFileName; //输入图文件名
String OutputFileName; //输出图文件名
int OutputWidth=80; //默认输出图片宽
int OutputHeight=80; //默认输出图片高
int rate=0;
boolean proportion=true; //是否等比缩放标记(默认为等比缩放) public Small_pic(){
//初始化变量
InputDir="";
OutputDir="";
InputFileName="";
OutputFileName="";
OutputWidth=80;
OutputHeight=80;
rate=0;
} public void setInputDir(String InputDir){
this.InputDir=InputDir;
} public void setOutputDir(String OutputDir){
this.OutputDir=OutputDir;
} public void setInputFileName(String InputFileName){
this.InputFileName=InputFileName;
} public void setOutputFileName(String OutputFileName){
this.OutputFileName=OutputFileName;
} public void setOutputWidth(int OutputWidth){
this.OutputWidth=OutputWidth;
} public void setOutputHeight(int OutputHeight){
this.OutputHeight=OutputHeight;
} public void setW_H(int width,int height){
this.OutputWidth=width;
this.OutputHeight=height;
} public String s_pic(){
BufferedImage image;
String NewFileName;
//建立输出文件对象
File file = new File(OutputDir+OutputFileName);
FileOutputStream tempout =null;
try{
tempout= new FileOutputStream(file);
}catch(Exception ex){
System.out.println(ex.toString());
}
Image img=null;
Toolkit tk=Toolkit.getDefaultToolkit();
Applet app=new Applet();
MediaTracker mt = new MediaTracker(app);
try {
img=tk.getImage(InputDir+InputFileName);
mt.addImage(img, 0);
mt.waitForID(0);
}catch(Exception e) {
e.printStackTrace();
} if(img.getWidth(null)==-1){
System.out.println(" can't read,retry!"+"<BR>");
return "no";
}else{
int new_w;
int new_h;
if (this.proportion==true) //判断是否是等比缩放.
{
//为等比缩放计算输出的图片宽度及高度
double rate1=((double)img.getWidth(null))/(double)OutputWidth+0.1;
double rate2=((double)img.getHeight(null))/(double)OutputHeight+0.1;
double rate=rate1>rate2?rate1:rate2;
new_w=(int)(((double)img.getWidth(null))/rate);
new_h=(int)(((double)img.getHeight(null))/rate);
}
else{
new_w=OutputWidth; //输出的图片宽度
new_h=OutputHeight; //输出的图片高度
}
BufferedImage buffImg = new BufferedImage(new_w,new_h,BufferedImage.TYPE_INT_RGB); Graphics g = buffImg.createGraphics(); g.setColor(Color.white);
g.fillRect(0,0,new_w,new_h); g.drawImage(img,0,0,new_w,new_h,null);
g.dispose(); JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(tempout);
try{
encoder.encode(buffImg);
tempout.close();
}catch(IOException ex){
System.out.println(ex.toString());
}
}
return "ok";
} public String s_pic(String InputDir,String OutputDir,String InputFileName,String OutputFileName){
//输入图路径
this.InputDir=InputDir;
//输出图路径
this.OutputDir=OutputDir;
//输入图文件名
this.InputFileName=InputFileName;
//输出图文件名
this.OutputFileName=OutputFileName;
return s_pic();
} public String s_pic(String InputDir,String OutputDir,String InputFileName,String OutputFileName,int width,int height,boolean gp){
//输入图路径
this.InputDir=InputDir;
//输出图路径
this.OutputDir=OutputDir;
//输入图文件名
this.InputFileName=InputFileName;
//输出图文件名
this.OutputFileName=OutputFileName;
//设置图片长宽
setW_H(width,height);
//是否是等比缩放 标记
this.proportion=gp;
return s_pic();
}}