`
rayln
  • 浏览: 433824 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

BufferedImage缩小图片大小

    博客分类:
  • Java
 
阅读更多
通过图片的IO流穿入, 即可输出一张同样高和宽, 大小小很多的图片!!
/**
	 * 穿入Inputstream图片IO流即可
	 * 
	 * @param stream
	 */
public void SavePngImage(InputStream stream) {
        int w = 0;
        int h = 0;
        BufferedImage bufImg = null;
        try {
        	BufferedImage image = ImageIO.read(stream);
        	w = image.getWidth();
        	h = image.getHeight();
	        bufImg = new BufferedImage(w, h, BufferedImage.TYPE_INT_RGB);
	        //bufImg = ImageUtil.createCompatibleImage(w, h, Transparency.OPAQUE);
	        Graphics2D g2d = bufImg.createGraphics();
	        //File file = new File("e:\\2.gif");
	        //javax.imageio.ImageIO.read(file);
        
			g2d.drawImage(image, 0, 0, null);
			g2d.dispose();
		} catch (IOException e) {
			e.printStackTrace();
		}
        
        
        //输出的图片路径
        saveImage(bufImg, "c:/test.jpg");
    }
	// 保存图片
    public void saveImage(BufferedImage img, String path) {
        try {
            String extension = path.substring(path.lastIndexOf('.') + 1);
            extension = isFormatSupported(extension) ? extension : "png";
            ImageIO.write(img, extension, new File(path));
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
    // 判断ImageIO是否支持指定的图片格式
    public static boolean isFormatSupported(String format) {
        for (String f : ImageIO.getWriterFormatNames()) {
            if (f.equalsIgnoreCase(format)) { return true; }
        }

        return false;
    }
    public static void main(String[] args){
        File file = new File("c:/input.jpg");
        xxx.SavePngImage(file.getInputStream());
    }
分享到:
评论

相关推荐

    缩小图片大小,并无刷新上传

    "缩小图片大小,并无刷新上传"的场景通常涉及到前端与后端的交互,以及图像处理技术。这里我们将深入探讨如何实现这一功能,主要关注Java后端处理文件上传以及使用DWR(Direct Web Remoting)进行异步通信。 首先,...

    JAVA缩小图片尺寸

    ### JAVA缩小图片尺寸 在Java开发中,对图像进行处理是一项常见的需求,特别是在涉及大量图像数据的应用场景下。本文将详细介绍如何使用Java内置库`javax.imageio`与`java.awt`中的类来实现图片尺寸的缩放功能。...

    java处理图片大小等比例缩放,自定义修改图片大小,截取,水印

    在Java编程语言中,处理图片是一项常见的任务,包括调整图片大小、等比例缩放、裁剪、压缩以及添加水印等。以下将详细介绍这些知识点: 1. **等比例缩放图片**: 在Java中,我们可以使用`java.awt.image....

    java代码保存宽高不变压缩图片(失真不大).docx

    在这个例子中,创建一个与原始图片相同大小的新`BufferedImage`对象,类型为`TYPE_INT_RGB`,即24位真彩色。 6. **绘制缩放后的图像**:`tag.getGraphics().drawImage()`将缩放后的图像绘制到新创建的`...

    java实现图片中心放大、缩小、移动、鼠标拖移

    实现图片的中心放大和缩小,我们可以维护一个缩放因子,并在每次调整大小时计算新的图片尺寸,保持图片的中心点不变。这可以通过改变`ImageIcon`的尺寸来实现。同时,需要更新显示组件(如`JLabel`)的尺寸以适应...

    java图片放大与缩小

    ### Java 图片放大与缩小:实现与技术细节 在Java编程中,处理图像的缩放是一种常见的需求,尤其是在Web开发、图像处理应用或是任何需要动态调整图像大小的场景下。本文将深入探讨如何使用Java来实现图片的指定放大...

    图片缩小工具(java)

    总的来说,“图片缩小工具(java)”是一个基于Java的实用程序,它利用Java的图像处理能力,帮助用户便捷地缩小图片尺寸并减小文件大小。对于开发者来说,理解并掌握Java的图像处理API和技术,可以扩展到更广泛的图像...

    java 图片放大缩小

    - 缩放后的图像被绘制到`BufferedImage`上,然后通过`FileOutputStream`和`JPEGImageEncoder`写入到指定的目标文件,完成图片的放大或缩小并保存为JPEG格式。 5. **异常处理**: - 在文件读写过程中,可能会出现`...

    Java实现图片的拖拉变形放大缩小.rar

    2. **放大缩小功能**:放大和缩小图片需要使用`AffineTransform`的`scale()`方法。在用户选择放大或缩小操作时(例如通过鼠标滚轮或特定按钮),我们需要获取当前缩放因子,并根据用户的选择更新这个因子,然后应用...

    java对图片进行操作.rar_java 图片剪裁_java图片_图片

    最后,按比例缩小图片是缩放的一种特例,可以通过计算缩放因子实现。假设我们希望将图片缩小到原来的50%,可以这样做: ```java double scale = 0.5; // 缩放因子 int newWidth = (int) (source.getWidth() * scale...

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

    图片压缩的主要目的是减少文件大小,便于存储和快速传输。Java提供了多种库来处理图片压缩,如Apache Commons Imaging(旧称Sanselan)和ImageMagick的Java绑定。其中,Java Advanced Imaging (JAI) 是Java标准扩展...

    Java图像文件的缩小与放大

    在Java编程语言中,处理图像是...通过理解`BufferedImage`、`Graphics2D`和图像插值算法,开发者可以有效地调整图像的大小。在实际应用中,根据需求选择合适的算法和优化策略是关键,以确保图像质量和处理效率的平衡。

    图片过大引起的内存溢出解决方案

    2. **使用inSampleSize属性进行下采样**:在`BitmapFactory.Options`中设置`inSampleSize`属性为大于1的整数,表示对原图进行下采样处理,即按照指定的比例缩小图片尺寸,从而减少内存占用。 3. **释放不再使用的...

    将一图片同比例缩小绘制的源代码

    6. 图像质量:缩小图片可能会导致图像质量下降,特别是在低分辨率输出时。使用高质量的插值算法(如bicubic或lanczos)可以提高缩放后的图像质量,但会增加计算量。 通过理解以上知识点,您可以编写出将图片同比例...

    jsp 图片的旋转

    本文将深入探讨使用JSP(JavaServer Pages)进行图片旋转的技术细节,以及如何实现图片的放大和缩小功能。 JSP是Java平台上的动态网页技术,允许开发者在HTML或XML文档中嵌入Java代码,以实现服务器端的业务逻辑和...

    java 图片缩放处理

    1. **读取图片**:使用`ImageIO.read()`方法从指定的文件路径或输入流中读取图片,将其转换为`BufferedImage`对象。 ```java File file = new File("path/to/your/image.jpg"); BufferedImage originalImage = ...

    Windows电子图片管理系统

    用户可以通过鼠标滚轮或专门的缩放控件来调整图片大小,同时保持图像清晰度。 多线程的应用是该系统的一大亮点。在处理大量图片或执行耗时操作(如缩略图生成、图片转换)时,使用多线程可以避免阻塞主线程,保证...

    JAVA缩放图片.txt

    缩小是指减少图片的分辨率,使其在屏幕上显示得更小;放大则是增加分辨率,使图片显示得更大。在Java中,主要通过`java.awt.Image`类及其子类来实现这些操作。 ##### 2.2 Java中的图片处理类库 Java提供了多种类库...

    java_等比率压缩图片_转

    `BufferedImage`提供了丰富的API,可以用来调整图像的大小。以下是一个简单的图像等比率压缩的步骤: 1. **读取图像**:使用`ImageIO.read()`方法读取指定路径的图像文件到`BufferedImage`对象。 2. **计算新尺寸**...

    java图片编辑软件

    如果需要按比例缩小图片,可以使用`AffineTransformOp`进行缩放。 4. **写入压缩后的图片**:创建一个`ImageWriter`对象,设置输出格式和压缩质量,然后调用`write`方法将处理后的图像写入文件。 ```java File ...

Global site tag (gtag.js) - Google Analytics