`
luozhonghua2014
  • 浏览: 62517 次
文章分类
社区版块
存档分类
最新评论

java图片高清压缩(1)

 
阅读更多
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.FileOutputStream;

import javax.imageio.ImageIO;

import com.sun.image.codec.jpeg.JPEGCodec;
import com.sun.image.codec.jpeg.JPEGEncodeParam;
import com.sun.image.codec.jpeg.JPEGImageEncoder;

 public class NarrowImage {

    /**
     * @param im
     *            原始图像
     * @param resizeTimes
     *            倍数,比如0.5就是缩小一半,0.98等等double类型
     * @return 返回处理后的图像
     */
    public BufferedImage zoomImage(String src) {

        BufferedImage result = null;

        try {
            File srcfile = new File(src);
            if (!srcfile.exists()) {
                System.out.println("文件不存在");

            }
            BufferedImage im = ImageIO.read(srcfile);

            /* 原始图像的宽度和高度 */
            int width = im.getWidth();
            int height = im.getHeight();

            //压缩计算
            float resizeTimes = 0.3f;  /*这个参数是要转化成的倍数,如果是1就是转化成1倍*/

            /* 调整后的图片的宽度和高度 */
            int toWidth = (int) (width * resizeTimes);
            int toHeight = (int) (height * resizeTimes);

            /* 新生成结果图片 */
            result = new BufferedImage(toWidth, toHeight,
                    BufferedImage.TYPE_INT_RGB);

            result.getGraphics().drawImage(
                    im.getScaledInstance(toWidth, toHeight,
                            java.awt.Image.SCALE_SMOOTH), 0, 0, null);


        } catch (Exception e) {
            System.out.println("创建缩略图发生异常" + e.getMessage());
        }

        return result;

    }

     public boolean writeHighQuality(BufferedImage im, String fileFullPath) {
            try {
                /*输出到文件流*/
                FileOutputStream newimage = new FileOutputStream(fileFullPath);
                JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(newimage);
                JPEGEncodeParam jep = JPEGCodec.getDefaultJPEGEncodeParam(im);
                /* 压缩质量 */
                jep.setQuality(0.9f, true);
                encoder.encode(im, jep);
               /*近JPEG编码*/
                newimage.close();
                return true;
            } catch (Exception e) {
                return false;
            }
        }


     public static void main(String[] args) {

         String inputFoler = "E:\\11.jpg" ; 
         /*这儿填写你存放要缩小图片的文件夹全地址*/
        String outputFolder = "E:\\12.jpg";  
        /*这儿填写你转化后的图片存放的文件夹*/



         NarrowImage narrowImage = new NarrowImage();
         narrowImage.writeHighQuality(narrowImage.zoomImage(inputFoler), outputFolder);

    }

}
<script type="text/javascript"> $(function () { $('pre.prettyprint code').each(function () { var lines = $(this).text().split('\n').length; var $numbering = $('<ul/>').addClass('pre-numbering').hide(); $(this).addClass('has-numbering').parent().append($numbering); for (i = 1; i <= lines; i++) { $numbering.append($('<li/>').text(i)); }; $numbering.fadeIn(1700); }); }); </script>
分享到:
评论

相关推荐

    java高清图片压缩的2种方法

    总结一下,Java高清图片压缩的两种常见方法: 1. 使用Java标准库`javax.imageio.ImageIO`,通过调整JPEG的压缩质量来实现图片的压缩。这种方法适合简单场景,但压缩效果有限。 2. 结合第三方库,如Apache Commons ...

    java图片压缩处理(可以压缩为任意大小

    在Java编程语言中,处理图片压缩是一项常见的任务,特别是在存储、传输或展示大量图像资源时。本主题将深入探讨如何使用Java实现图片压缩,并能够将其调整到任意大小,同时保持图片质量并避免变形。 首先,我们需要...

    [原创] 高清晰高品质Java图片压缩

    &lt;br&gt;在jdk1.6以下的版本环境下,压缩部分图片会很慢,经过我测试,如果图片的DPI越高,速度越慢,一般WEB使用图片DPI都是72,速度很快。大家可以试下。我测试了几张DPI为300,印刷品质的图片,大概要35秒左右,...

    java各种方式压缩图片

    在Java编程环境中,图片压缩是一项常见的任务,尤其在处理用户上传的图像时,为了节省存储空间、优化网页加载速度或符合服务器对文件大小的限制,往往需要对图片进行压缩。以下是一些Java实现图片压缩的方法: 1. *...

    Java 图片压缩

    以下是一个简单的Java图片压缩示例: ```java import javax.imageio.ImageIO; import java.awt.image.BufferedImage; import java.io.File; import java.io.IOException; public class ImageCompressor { public ...

    java图片压缩处理

    java图片压缩处理java图片压缩处理java图片压缩处理java图片压缩处理java图片压缩处理java图片压缩处理

    java生成高清缩略图不丢真,java压缩图片

    网上找的缩略图生成方法都不够清晰,于是决定自己研究和改进生成缩略图...此方法压缩后的图片小,清晰度高,压缩速度快。5000张图片大概抽根烟的功夫就压缩完了。高清的哦。各种参数都是可配的,方便移植到自己项目中。

    java图片压缩文件大小图片大小(支持gif动态图)

    在Java编程语言中,处理图片压缩是一个常见的任务,特别是在网页开发、存储优化或者移动应用中。这个主题主要涉及如何利用Java来减少图片文件的大小,包括静态图片(如JPEG、PNG)以及动态图片(如GIF)。下面我们将...

    java实现视频压缩

    例如,可以使用JPEG或PNG等图片压缩算法对每一帧进行压缩。 4. **音频处理**:如果视频包含音频,也需要进行压缩。可以使用MP3、AAC等音频编码格式。 5. **打包与写入**:将压缩后的音频和视频数据按照特定的容器...

    java实现对图片的压缩上传

    二、限制文件的大小,如果是图片则对图片进行压缩,如果是非图片,大于设定则不能上传 upLoad(String uploadPath,String filePath,String fileName,int commitSize,boolean flag) uploadPath代表上传目录,...

    PngEncoder.java针对java平台处理png压缩算法

    PngEncoder.java针对java平台处理png压缩算法

    java图片压缩处理 支持gif

    "java图片压缩处理 支持gif"这个标题表明我们将探讨如何使用Java来处理和压缩GIF动态图,因为GIF格式支持动画,处理起来相对复杂。 首先,Java标准库提供了`javax.imageio`包,它包含`ImageIO`类,可以用来读取、...

    Java+PDF批量压缩图片格式的PDF档(源码Demo)

    Java批量压缩图片格式的PDF档(源码Demo) 适用:仅针对纯图片型的pdf(类似扫描版)进行压缩 原理:压缩图片然后再另存成新文件 实例如下: ├── META-INF │ └── MANIFEST.MF ├── pom.xml └── src ├...

    图片缩放、压缩技术java实现

    Java提供了多种库来处理图片压缩,如Apache Commons Imaging(旧称Sanselan)和ImageMagick的Java绑定。其中,Java Advanced Imaging (JAI) 是Java标准扩展的一部分,它提供了丰富的图像处理功能,包括压缩。 使用...

    图片压缩(java)将图片压缩后以二进制的形式输出

    * 压缩图片,将图片压缩后以二进制的形式输出 * * @param file * 将要压缩的图片 * @param width * 压缩宽(长度短的做宽) * @param height * 压缩长(长度长的做长) * @return byte[]二进制流 */

    java版图片压缩方法

    #### Java图片压缩代码解析 给定的代码示例主要展示了如何使用Java进行图片的无损压缩处理。具体步骤如下: 1. **读取源图像**:首先,通过`ImageIO.read()`方法读取源图片文件到`Image`对象中。 2. **缩放图像**...

    Java做图片压缩的代码

    在Java编程环境中,图片压缩和生成缩略图是常见的任务,尤其在处理大量图像数据或者优化网站性能时显得尤为重要。本文将深入探讨如何利用Java进行图片处理,包括压缩和生成缩略图的关键技术。 首先,Java提供了丰富...

    java图片压缩通用类

    "java图片压缩通用类"是一个实用的工具,它提供了便捷的方法来压缩图片,适用于各种项目需求。这个通用类库简化了处理图像的复杂性,使得开发者可以快速地集成图片压缩功能到他们的应用程序中。 在Java中,我们可以...

    java压缩图片文件大小

    java 开发压缩图片文件大小,2m--&gt;200k 不是压缩宽高的

    java高清处理图片

    传统的Java库虽然能够实现这些功能,但往往在图片质量方面不尽如人意,尤其是当图片尺寸被大幅度压缩时,画质下降明显,难以满足高清展示的需求。为了解决这一问题,本篇将详细介绍如何使用ImageMagick及其Java接口...

Global site tag (gtag.js) - Google Analytics