Java怎么实现上传图片的等比缩放,原文件和缩放的文件都要上传到服务器 50

Java怎么实现上传图片的等比缩放,原文件和缩放的文件都要上传到服务器,这个不太会,请教各位,最好有demo,或者代码,谢谢了... Java怎么实现上传图片的等比缩放,原文件和缩放的文件都要上传到服务器,这个不太会,请教各位,最好有demo,或者代码,谢谢了 展开
 我来答
张真源丶
2016-07-09 · 超过22用户采纳过TA的回答
知道答主
回答量:55
采纳率:0%
帮助的人:44.1万
展开全部
/**
     * 等比例缩放图片
     * @param infile
     * @param outfile
     * @param width
     * @param height
     * @param quality
     * @throws IOException
     * @throws InterruptedException
     */
    public static void Thumbnail(String infile, String outfile, int width, int height, int quality) throws IOException, InterruptedException {
        // save thumbnail image to OUTFILE
        //System.out.println("infile:" + infile);
        BufferedImage thumbImage = null;
        BufferedOutputStream out = null;
        Image image = null;
        image = Toolkit.getDefaultToolkit().createImage(infile);
        MediaTracker mediaTracker = new MediaTracker(new Container());
        mediaTracker.addImage(image, 0);
        mediaTracker.waitForID(0);
        int thumbWidth = width;
        int thumbHeight = height;
        double thumbRatio = (double) thumbWidth / (double) thumbHeight;
        int imageWidth = image.getWidth(null);
        int imageHeight = image.getHeight(null);
        double imageRatio = (double) imageWidth / (double) imageHeight;
        if (thumbRatio < imageRatio) {
            thumbHeight = (int) (thumbWidth / imageRatio);
        } else {
            thumbWidth = (int) (thumbHeight * imageRatio);
        }
        thumbImage = new BufferedImage(thumbWidth, thumbHeight, BufferedImage.TYPE_INT_RGB);
        Graphics2D graphics2D = thumbImage.createGraphics();
        graphics2D.setRenderingHint(RenderingHints.KEY_INTERPOLATION, RenderingHints.VALUE_INTERPOLATION_BILINEAR);
        graphics2D.drawImage(image,0,0, thumbWidth, thumbHeight, null);
        out = new BufferedOutputStream(new FileOutputStream(outfile));
        JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(out);
        JPEGEncodeParam param = encoder.getDefaultJPEGEncodeParam(thumbImage);
        quality = Math.max(0, Math.min(quality, 100));
        param.setQuality((float) quality / 100.0f, false);
        encoder.setJPEGEncodeParam(param);
        encoder.encode(thumbImage);
        out.close();
        thumbImage = null;
        out = null;
        image = null;
    }


原文转载自:http://blog.chinaunix.net/uid-29337460-id-5035058.html

扑火的飞蛾06
2016-06-20 · TA获得超过1156个赞
知道小有建树答主
回答量:1895
采纳率:62%
帮助的人:304万
展开全部
可以使用java中的image类,对图片进行转换。并输出成一张新的图片文件,保存下来即可。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
1332079274
2016-06-04 · 超过25用户采纳过TA的回答
知道答主
回答量:109
采纳率:0%
帮助的人:40.6万
展开全部
这个可以使用图像处理的ij.jar包
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
东方丶逸诺
2016-07-15
知道答主
回答量:4
采纳率:0%
帮助的人:4491
展开全部
首先上传原图片,在调用一个缩略图方法,生成一个缩略图再上传到服务器就行了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
爱笑的神老念
2016-05-06 · 超过25用户采纳过TA的回答
知道答主
回答量:49
采纳率:100%
帮助的人:21万
展开全部
代码很多,几个类,技术用image scale就可以了,什么事image scale你在网上上搜一下源码就可以了,看看如何实现,这是目前比较常用的技术
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(5)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式