缩放图像的基本原理是创建一个目标大小的画布,然后读取源图像,并将该图像绘制这个画布上。为了使程序通用,源图像和缩放后的目标图像应用分别使用 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
分享到:
相关推荐
在Java编程语言中,处理图片是一项常见的任务,包括调整图片大小、等比例缩放、裁剪、压缩以及添加水印等。以下将详细介绍这些知识点: 1. **等比例缩放图片**: 在Java中,我们可以使用`java.awt.image....
"图片按比例缩放"就是其中一个核心操作,它涉及到图像处理的基本原理和技术。在本篇文章中,我们将深入探讨如何进行图片按比例缩放,以及这一过程中的相关知识点。 首先,我们来理解什么是“按比例缩放”。比例缩放...
缩放图像通常有两种方式:按比例缩放(等比例缩放)和指定新的尺寸(非等比例缩放)。等比例缩放可以保持原始图像的比例,避免拉伸或压缩图像。非等比例缩放可能会改变图像的宽高比。 - **等比例缩放**:可以使用...
在Java编程领域,图片处理是一项常见的任务,其中图像缩放是尤为重要的操作。当我们需要调整图片大小,以适应不同的应用场景,如网页、移动设备或打印等,就需要进行图像缩放。本文将深入探讨Java中实现图像缩放的...
应为图片太大,所以按照一定比例缩放
这款工具提供了丰富的功能,包括等比例缩放、裁切、添加水印以及复合操作等,极大地简化了开发者对图像进行后期处理的工作流程。接下来,我们将详细探讨这些功能及其使用方法。 一、等比例缩放 等比例缩放是图像...
在Java编程中,处理图像是一项常见的任务,包括但不限于图片的读取、显示、保存以及缩放等操作。本文将深入探讨如何使用ImageMagick库在Java中实现图片的缩放功能。 ImageMagick是一个强大的开源跨平台命令行工具集...
java图片缩放 java缩略图 缩略图 java图片处理
高清缩放图像、切割图像、图像类型转换、彩色转黑白、文字水印、图片水印等 功能非常强大,并且很清晰,请给好评:)
Java GIF图片缩放是开发过程中常见的一项任务,尤其是在处理动态图像时。GIF是一种支持动画的格式,广泛用于网络上。在Java中处理GIF图片,我们通常会使用到一些库,比如`gif4j`,这是一个轻量级且功能强大的Java库...
在Java编程语言中,处理图片是一项常见的任务,包括图片的缩放、比例调整以及压缩等操作。这些功能在各种应用场景中都有所体现,比如网页设计、图像处理软件、移动应用等。下面我们将深入探讨Java中如何进行图片的...
在数字图像处理领域,按比例缩放图片是一项常见的需求。它不仅被广泛应用于Web开发中,例如为了优化网页加载速度而对上传的图片进行尺寸调整;同时也常用于移动应用、桌面软件等场景下,以适应不同屏幕尺寸的需求。...
通过使用Java语言和javacv库,我们可以快速获取视频文件中的帧图片,并对其进行等比缩放,以满足不同的应用需求。 知识点一:视频文件中的帧图片获取 * 视频文件中的帧图片获取是指从视频文件中抽取出每一帧图片的...
下面,我们将深入探讨如何使用Java来实现批量缩放图片的功能。 首先,Java提供了强大的Java Advanced Imaging (JAI)库和Java 2D API,它们为处理图像提供了丰富的功能,包括缩放、旋转、裁剪等。在这个场景下,我们...
在Java编程语言中,图像处理是一项常见的任务,其中包括图片的加载、显示、保存以及缩放等操作。本实例代码着重讲解如何使用Java进行图片的缩放。Java提供了丰富的图形库,如AWT(Abstract Window Toolkit)和Swing...
3. **缩放图片**: 缩放图像可以通过创建一个新的BufferedImage对象,然后使用`Graphics2D.drawImage()`方法以新的尺寸绘制原始图像来完成。 4. **保存图片**: 使用`ImageIO.write()`方法将修改后的图像保存回磁盘。 ...
在数字视频处理领域,YUV颜色空间是一种广泛使用的格式,特别是在JPEG、MPEG等编码标准中。YUV代表亮度(Y)和两个色差分量(U和V),用于节省带宽并适应不同的显示设备。NV12是YUV格式的一个变种,常见于现代计算机...
在"等比例缩放MyPanelMoveScale"的示例中,可能包含一个自定义的组件类(如"MyPanel"),该类扩展了标准的容器类(如Java的JPanel或C#的Panel),并重写了布局管理逻辑,以便在容器大小发生变化时,内部的子控件能...
其中,`AffineTransformOp`是`java.awt.image`包下的一个关键类,它允许我们对图像进行几何变换,如旋转、缩放和位移等。在描述中提到的"打开图片文件,拖动滚动条,控制图片大小",就是通过调整缩放比例来实现的,...