`
cloud21
  • 浏览: 397552 次
  • 性别: Icon_minigender_2
  • 来自: 北京
社区版块
存档分类
最新评论

使用Java等比例缩放图像

阅读更多
    缩放图像的基本原理是创建一个目标大小的画布,然后读取源图像,并将该图像绘制这个画布上。为了使程序通用,源图像和缩放后的目标图像应用分别使用 InputStream和OutputStream来表示,代码如下:

public   static   void  scaleImage(InputStream imgInputStream,
            OutputStream imgOutputStream,  int  scale)
    {
         try 
        {

            Image src  =  javax.imageio.ImageIO.read(imgInputStream);
             int  width  =  ( int ) (src.getWidth( null )  *  scale  /   100.0 );
             int  height  =  ( int ) (src.getHeight( null )  *  scale  /   100.0 );
            BufferedImage bufferedImage  =   new  BufferedImage(width, height,
                    BufferedImage.TYPE_INT_RGB);

             bufferedImage.getGraphics().drawImage(
                    src.getScaledInstance(width, height, Image.SCALE_SMOOTH),
                     0 ,  0 ,  null );
            JPEGImageEncoder encoder  =  JPEGCodec
                    .createJPEGEncoder(imgOutputStream);
            encoder.encode( bufferedImage);

        }
         catch  (IOException e)
        {
            e.printStackTrace();
        }
    } 


其中scale参数表示缩放比例,1至100,当然,也可以大于100,那就是放大图像了。但要注意,放得太大会失真的。
    当然,也可以重构scaleImage方法,使其可以接收图像文件名,代码如下:

public   static   void  scaleImage(String imgSrc, String imgDist,  int  scale)
    {
         try 
        {
            File file  =   new  File(imgSrc);
             if  ( ! file.exists())
            {
                 return ;
            }
            InputStream is  =   new  FileInputStream(file);
            OutputStream os  =   new  FileOutputStream(imgDist);
            scaleImage(is, os, scale);
            is.close();
            os.close();
        }
         catch  (Exception e)
        {

        }
    } 
 


下面的代码按15%缩放
scaleImage( " E:\\pictures\\test.jpg " ,  " e:\\test1.jpg " ,  15 ); 

本文来自CSDN博客:http://blog.csdn.net/nokiaguy/archive/2010/04/16/5493817.aspx
0
0
分享到:
评论

相关推荐

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

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

    图片按比例缩放

    "图片按比例缩放"就是其中一个核心操作,它涉及到图像处理的基本原理和技术。在本篇文章中,我们将深入探讨如何进行图片按比例缩放,以及这一过程中的相关知识点。 首先,我们来理解什么是“按比例缩放”。比例缩放...

    java从图片缩放

    缩放图像通常有两种方式:按比例缩放(等比例缩放)和指定新的尺寸(非等比例缩放)。等比例缩放可以保持原始图像的比例,避免拉伸或压缩图像。非等比例缩放可能会改变图像的宽高比。 - **等比例缩放**:可以使用...

    Java图像缩放 图片缩放

    在Java编程领域,图片处理是一项常见的任务,其中图像缩放是尤为重要的操作。当我们需要调整图片大小,以适应不同的应用场景,如网页、移动设备或打印等,就需要进行图像缩放。本文将深入探讨Java中实现图像缩放的...

    图片按照等比例缩放

    应为图片太大,所以按照一定比例缩放

    阿里巴巴 simpleimage 图片处理工具类 功能 等比例缩放 裁切 加水印 复合操作例子和jar包

    这款工具提供了丰富的功能,包括等比例缩放、裁切、添加水印以及复合操作等,极大地简化了开发者对图像进行后期处理的工作流程。接下来,我们将详细探讨这些功能及其使用方法。 一、等比例缩放 等比例缩放是图像...

    java实现图片缩放

    在Java编程中,处理图像是一项常见的任务,包括但不限于图片的读取、显示、保存以及缩放等操作。本文将深入探讨如何使用ImageMagick库在Java中实现图片的缩放功能。 ImageMagick是一个强大的开源跨平台命令行工具集...

    java图片缩放 java缩略图 缩略图 java图片处理

    java图片缩放 java缩略图 缩略图 java图片处理

    java高清图片缩放、压缩、切割、水印源码例子

    高清缩放图像、切割图像、图像类型转换、彩色转黑白、文字水印、图片水印等 功能非常强大,并且很清晰,请给好评:)

    java gif图片缩放代码及帮助文档

    Java GIF图片缩放是开发过程中常见的一项任务,尤其是在处理动态图像时。GIF是一种支持动画的格式,广泛用于网络上。在Java中处理GIF图片,我们通常会使用到一些库,比如`gif4j`,这是一个轻量级且功能强大的Java库...

    java图片缩放处理

    在Java编程语言中,处理图片是一项常见的任务,包括图片的缩放、比例调整以及压缩等操作。这些功能在各种应用场景中都有所体现,比如网页设计、图像处理软件、移动应用等。下面我们将深入探讨Java中如何进行图片的...

    按比例缩放图片

    在数字图像处理领域,按比例缩放图片是一项常见的需求。它不仅被广泛应用于Web开发中,例如为了优化网页加载速度而对上传的图片进行尺寸调整;同时也常用于移动应用、桌面软件等场景下,以适应不同屏幕尺寸的需求。...

    用JAVA获取视频文件中的帧图片并等比缩放

    通过使用Java语言和javacv库,我们可以快速获取视频文件中的帧图片,并对其进行等比缩放,以满足不同的应用需求。 知识点一:视频文件中的帧图片获取 * 视频文件中的帧图片获取是指从视频文件中抽取出每一帧图片的...

    批量缩放图片的Java实现

    下面,我们将深入探讨如何使用Java来实现批量缩放图片的功能。 首先,Java提供了强大的Java Advanced Imaging (JAI)库和Java 2D API,它们为处理图像提供了丰富的功能,包括缩放、旋转、裁剪等。在这个场景下,我们...

    java绘图 图片缩放 实例代码

    在Java编程语言中,图像处理是一项常见的任务,其中包括图片的加载、显示、保存以及缩放等操作。本实例代码着重讲解如何使用Java进行图片的缩放。Java提供了丰富的图形库,如AWT(Abstract Window Toolkit)和Swing...

    java裁剪、缩放图片工具类

    3. **缩放图片**: 缩放图像可以通过创建一个新的BufferedImage对象,然后使用`Graphics2D.drawImage()`方法以新的尺寸绘制原始图像来完成。 4. **保存图片**: 使用`ImageIO.write()`方法将修改后的图像保存回磁盘。 ...

    yuv图像缩放算法

    在数字视频处理领域,YUV颜色空间是一种广泛使用的格式,特别是在JPEG、MPEG等编码标准中。YUV代表亮度(Y)和两个色差分量(U和V),用于节省带宽并适应不同的显示设备。NV12是YUV格式的一个变种,常见于现代计算机...

    等比例缩放MyPanelMoveScale.rar

    在"等比例缩放MyPanelMoveScale"的示例中,可能包含一个自定义的组件类(如"MyPanel"),该类扩展了标准的容器类(如Java的JPanel或C#的Panel),并重写了布局管理逻辑,以便在容器大小发生变化时,内部的子控件能...

    java 图片的缩放与拉伸

    其中,`AffineTransformOp`是`java.awt.image`包下的一个关键类,它允许我们对图像进行几何变换,如旋转、缩放和位移等。在描述中提到的"打开图片文件,拖动滚动条,控制图片大小",就是通过调整缩放比例来实现的,...

Global site tag (gtag.js) - Google Analytics