|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
C#是不行的,比如说美国的航天飞船里就有java开发的程序以上是我的愚见,其实不管那种语言,你学好了,都能找到好的工作,上传|上传图片图片上传到服务器后,会依据情形将图片减少成一个图标,我们能够使用java壮大的图形处置功效,对上传的图片举行缩放处置.
上面的程序利用jdk1.4中最新的ImageIO对图片举行读写.利用AffineTransform对图片举行缩放.
importjava.io.File;
importjava.awt.image.BufferedImage;
importjava.awt.Image;
importjava.awt.image.AffineTransformOp;
importjavax.imageio.ImageIO;
importjava.awt.geom.AffineTransform;
publicclassUploadImg{
/**
*@paramfromdir图片的原始目次
*@paramtodir处置后的图片寄存目次
*@paramimgfile原始图片
*@paramsysimgfile处置后的图片文件名前缀
*
*/
............................
publicbooleanCreateThumbnail()throwsException
{
//ext是图片的格局gifJPG或png
Stringext="";
doubleRatio=0.0;
FileF=newFile(fromdir,imgfile);
if(!F.isFile())
thrownewException(F+"isnotimagefileerrorinCreateThumbnail!");
//起首判别上传的图片是gif仍是JPGImageIO只能将gif转换为png
if(isJpg(imgfile)){
ext="jpg";
}else{
ext="png";
}
FileThF=newFile(todir,sysimgfile+"."+ext);
BufferedImageBi=ImageIO.read(F);
//假定图片宽高最年夜为120120
ImageItemp=Bi.getScaledInstance(120,120,Bi.SCALE_SMOOTH);
if((Bi.getHeight()>120)||(Bi.getWidth()>120)){
if(Bi.getHeight()>Bi.getWidth())
Ratio=120.0/Bi.getHeight();
else
Ratio=120.0/Bi.getWidth();
}
AffineTransformOpop=newAffineTransformOp(AffineTransform.getScaleInstance(Ratio,Ratio),null);
Itemp=op.filter(Bi,null);
try{
ImageIO.write((BufferedImage)Itemp,ext,ThF);
}catch(Exceptionex){
thrownewException("ImageIo.writeerrorinCreatThum.:"+ex.getMessage());
}
return(true);
}
}
该程序利用了Java的AWT,在linux下运转大概报错,有两种办理体例:
(1)jdk1.4之前版本:必要安装XFree86和XFree86-Xvfb,到场exportDISPLAY=hostdomain:0.0
(2)jdk1.4今后版本,在实行命令java到场参数-Djava.awt.headless=true,暗示这是一个没有键盘没有显现器的无头服务器,意称机房托管的服务器。
关于服务器端图形撑持,有良多开源包:PJAVNC或ACMELaboratories。
进而能拉拢大多数程序员用windows产品。并且从ASP.NETAJAX可以跨平台这一点上,间接证明了我们的推断,至少证明了微软做过这方面的研究。所以如果哪一天突然听说了.net可以跨平台了,那么请不要吃惊,如果这一天真的到来,java就到了真正和.net决战的时刻。因为不到万不得以的时候微软是不会推出跨平台的.net的,如果跨平台的.net还不足以对抗java的话,那么微软还剩的手段就是开源了,呵呵。 |
|