欢迎光临
我们一直在努力

上传图片的缩放处理 – 非常实用!(感谢loveyourvv兄弟)-JSP教程,Java技巧及代码

建站超值云服务器,限时71元/月

import java.io.file;
import java.awt.image.bufferedimage;
import java.awt.image;
import java.awt.image.affinetransformop;
import javax.imageio.imageio;
import java.awt.geom.affinetransform;

public class uploadimg {
    
    string fromdir;            // fromdir 图片的原始目录
    string todir;            // todir 处理后的图片存放目录
    string imgfile;            // imgfile 原始图片
    string sysimgfile;        // sysimgfile 处理后的图片文件名前缀

    uploadimg( string fromdirnow, string todirnow, string imgfilenow, string sysimgfilenow ){
        fromdir = fromdirnow;
        todir = todirnow;
        imgfile = imgfilenow;
        sysimgfile = sysimgfilenow;
    }

    public boolean createthumbnail() throws exception
        {
        // fileextnmae是图片的格式 gif jpg 或png
        // string fileextnmae="";
        double ratio = 0.0;
        file f = new file(fromdir,imgfile);
        if ( !f.isfile() )
            throw new exception(f+" is not image file error in createthumbnail!");
        
        //首先判断上传的图片是gif还是jpg imageio只能将gif转换为png
        // if (isjpg(imgfile)){
        //    fileextnmae="jpg";
        //    }
        //else{
        //    fileextnmae="png";
        //    }
        file thf = new file( todir, sysimgfile + ".jpg" );
        
        bufferedimage bi = imageio.read(f);
        //假设图片宽 高 最大为120 120
        image itemp = 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();
            }
        
        affinetransformop op = new affinetransformop(affinetransform.getscaleinstance(ratio, ratio), null);
        itemp = op.filter(bi, null);
        try {
            imageio.write((bufferedimage)itemp, "jpg", thf);
            }
        catch (exception ex) {
            throw new exception(" imageio.write error in creatthum.: "+ex.getmessage());
            }
        return (true);
    }

    public static void main(string[] args)
    {
        uploadimg ui;
        boolean ss = false;

        try{
            ui = new uploadimg( "d:\\javalearn", "d:\\javalearn", "ps_high.jpg", "ps_low" );
            ss = ui.createthumbnail();
            if ( ss ) {
                system.out.println( "success" );
                }
            else{
                system.out.println( "error" );
                }
        }
        catch(exception e){
            system.out.print(e.tostring());
        }
    }
}

赞(0)
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com 特别注意:本站所有转载文章言论不代表本站观点! 本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。未经允许不得转载:IDC资讯中心 » 上传图片的缩放处理 – 非常实用!(感谢loveyourvv兄弟)-JSP教程,Java技巧及代码
分享到: 更多 (0)