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

Java怎么实现上传图片的等比缩放,原文件和缩放的文件都要上传到服务器,第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
        //Systemoutprintln("infile:" + infile);
        BufferedImage thumbImage = null;
        BufferedOutputStream out = null;
        Image image = null;
        image = ToolkitgetDefaultToolkit()createImage(infile);
        MediaTracker mediaTracker = new MediaTracker(new Container());
        mediaTrackeraddImage(image, 0);
        mediaTrackerwaitForID(0);
        int thumbWidth = width;
        int thumbHeight = height;
        double thumbRatio = (double) thumbWidth / (double) thumbHeight;
        int imageWidth = imagegetWidth(null);
        int imageHeight = imagegetHeight(null);
        double imageRatio = (double) imageWidth / (double) imageHeight;
        if (thumbRatio < imageRatio) {
            thumbHeight = (int) (thumbWidth / imageRatio);
        } else {
            thumbWidth = (int) (thumbHeight  imageRatio);
        }
        thumbImage = new BufferedImage(thumbWidth, thumbHeight, BufferedImageTYPE_INT_RGB);
        Graphics2D graphics2D = thumbImagecreateGraphics();
        graphics2DsetRenderingHint(RenderingHintsKEY_INTERPOLATION, RenderingHintsVALUE_INTERPOLATION_BILINEAR);
        graphics2DdrawImage(image,0,0, thumbWidth, thumbHeight, null);
        out = new BufferedOutputStream(new FileOutputStream(outfile));
        JPEGImageEncoder encoder = JPEGCodeccreateJPEGEncoder(out);
        JPEGEncodeParam param = encodergetDefaultJPEGEncodeParam(thumbImage);
        quality = Mathmax(0, Mathmin(quality, 100));
        paramsetQuality((float) quality / 1000f, false);
        encodersetJPEGEncodeParam(param);
        encoderencode(thumbImage);
        outclose();
        thumbImage = null;
        out = null;
        image = null;
    }

原文转载自:>

&照片文件压缩变小100K,但是&照片画面清晰质量不变,可以使用以下 *** 作方法:

1、获取工具“秒会压缩大师”,选择 *** 作

2、导入&照片进行 *** 作。

3、最后等待压缩完成。

4、说明压缩模式:

缩小优先(适合用于个人资料和缩率图)

均衡压缩(适合用于电子邮件和消息发送)

清晰优先(适合查看)

推荐理由:

1    模式压缩:可根据需求选择压缩模式(如缩小优先、清晰优先),并支持自定义设压缩的清晰度、分辨率、格式以及希望大小。

2    *** 作简单快速:可一次性上传多张需要压缩的文件,批量进行压缩处理,支持根据压缩前与压缩后的文件大小对比确认压缩结果是否符合预期效果,节约压缩的时间成本。

3    保障文件安全:压缩在线版对压缩过程进行了多重加密处理,并且在压缩完文件的30分钟后,便会将所有文件从服务器中永久删除,期间无人能查阅或下载这些文件,让你的文件与隐私得到保障。

支持多种格式::支持JPG、PNG、GIF、BMP等格式;视频:支持MP4、MKV、MOV、AVI、WMV、M4V、MPEG等视频格式;PDF:PDF文档均可压缩;Word:支持doc、docx等Word格式;PPT:支持ppt、pptx等PPT格式

照片文件压缩变小100K,但是照片画面清晰质量不变,可以使用以下 *** 作方法:

1、获取工具“秒会压缩大师”,选择 *** 作

2、导入照片进行 *** 作。

3、最后等待压缩完成。

4、说明压缩模式:

缩小优先(适合用于个人资料和缩率图)

均衡压缩(适合用于电子邮件和消息发送)

清晰优先(适合查看)

推荐理由:

1    模式压缩:可根据需求选择压缩模式(如缩小优先、清晰优先),并支持自定义设压缩的清晰度、分辨率、格式以及希望大小。

2    *** 作简单快速:可一次性上传多张需要压缩的文件,批量进行压缩处理,支持根据压缩前与压缩后的文件大小对比确认压缩结果是否符合预期效果,节约压缩的时间成本。

3    保障文件安全:压缩在线版对压缩过程进行了多重加密处理,并且在压缩完文件的30分钟后,便会将所有文件从服务器中永久删除,期间无人能查阅或下载这些文件,让你的文件与隐私得到保障。

支持多种格式::支持JPG、PNG、GIF、BMP等格式;视频:支持MP4、MKV、MOV、AVI、WMV、M4V、MPEG等视频格式;PDF:PDF文档均可压缩;Word:支持doc、docx等Word格式;PPT:支持ppt、pptx等PPT格式;

文件压缩变小,但是文件画面清晰质量不变,可以使用以下 *** 作方法:

1、获取工具“秒会压缩大师”,选择 *** 作

2、导入文件进行 *** 作。

3、最后等待压缩完成。

4、说明压缩模式:

缩小优先(适合用于个人资料和缩率图)

均衡压缩(适合用于电子邮件和消息发送)

清晰优先(适合查看)

推荐理由:

1    模式压缩:可根据需求选择压缩模式(如缩小优先、清晰优先),并支持自定义设压缩的清晰度、分辨率、格式以及希望大小。

2    *** 作简单快速:可一次性上传多张需要压缩的文件,批量进行压缩处理,支持根据压缩前与压缩后的文件大小对比确认压缩结果是否符合预期效果,节约压缩的时间成本。

3    保障文件安全:压缩在线版对压缩过程进行了多重加密处理,并且在压缩完文件的30分钟后,便会将所有文件从服务器中永久删除,期间无人能查阅或下载这些文件,让你的文件与隐私得到保障。

支持多种格式::支持JPG、PNG、GIF、BMP等格式;视频:支持MP4、MKV、MOV、AVI、WMV、M4V、MPEG等视频格式;PDF:PDF文档均可压缩;Word:支持doc、docx等Word格式;PPT:支持ppt、pptx等PPT格式;


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/10738903.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-10
下一篇 2023-05-10

发表评论

登录后才能评论

评论列表(0条)

保存