概述:
基于Sun自带lib进行图片的操作,此处主要展示图片的缩放和图片剪裁
实现:
图片缩放:
/** * 图片伸缩,不破坏图片 * * @param srcFile 原图片路径 * @param dstFile 目标图片路径 * @param dstWidth 目标宽度 * @param dstHeight 目标高度 * @date 2013-11-1 */ public static void scale(String srcFile, String dstFile, int dstWidth, int dstHeight) { try { ImageInputStream iis = ImageIO.createImageInputStream(new File(srcFile)); Iterator<ImageReader> iterator = ImageIO.getImageReaders(iis); ImageReader reader = (ImageReader) iterator.next(); reader.setInput(iis, true); BufferedImage source = reader.read(0); BufferedImage tag = new BufferedImage(dstWidth, dstHeight, source.getType()); tag.getGraphics().drawImage(source, 0, 0, dstWidth, dstHeight, null); File file = new File(dstFile); ImageIO.write(tag, reader.getFormatName(), file); } catch (Exception e) { e.printStackTrace(); } }
图片剪裁:
/** * 图片剪裁,基于起始坐标(x,y)和范围[widthRange,heightRange] * * @param srcFile 原图片路径 * @param dstFile 目标图片路径 * @param x 起始X * @param y 起始Y * @param widthRange 范围width * @param heightRange 范围height * @date 2013-11-1 */ public static void cut(String srcFile, String dstFile, int x, int y, int widthRange, int heightRange) { try { ImageInputStream iis = ImageIO.createImageInputStream(new File(srcFile)); Iterator<ImageReader> iterator = ImageIO.getImageReaders(iis); ImageReader reader = (ImageReader) iterator.next(); reader.setInput(iis, true); ImageReadParam param = reader.getDefaultReadParam(); Rectangle rectangle = new Rectangle(x, y, widthRange, heightRange); param.setSourceRegion(rectangle); BufferedImage bi = reader.read(0, param); File file = new File(dstFile); ImageIO.write(bi, reader.getFormatName(), file); } catch (Exception e) { e.printStackTrace(); } }
测试:
public static void main(String[] args) { String srcFile = "G:/1.jpg"; String dstFile = "G:/test.jpg"; int width = 120; int height = 12000; cut(srcFile, dstFile, 10, 10, width, height); scale(srcFile, dstFile, width, height); }
评价:
效率很低
相关推荐
下面,我们将详细讲解这两个关键步骤:图片缩放和图片截剪。 **图片缩放** 图片缩放通常涉及到调整图像的宽度和高度。有两种主要的缩放方法:按比例缩放和固定尺寸缩放。按比例缩放保持了原图的宽高比,而固定尺寸...
首先,我们要了解Java中的核心类库`java.awt.image`和`javax.imageio`,它们提供了读取和操作图像的基本功能。其中,`javax.imageio.ImageIO`是关键,它包含了读取不同格式图像的方法。 要读取一个图片文件,我们...
5. **图像操作**: 在Java中,可以进行裁剪、缩放、旋转、色彩调整、滤镜应用等多种图像操作。这些操作通常涉及到`Graphics2D`对象,它是`Graphics`的子类,提供了更多的绘图功能。 6. **Graphics2D对象**: `...
2. **读取和加载图片**:使用`javax.imageio.ImageIO`类的静态方法`read()`可以从文件或输入流中读取图像。例如: ```java File imageFile = new File("path_to_your_image.jpg"); BufferedImage image = ImageIO...
而`javax.swing.ImageIcon`是Swing中专门用于在组件上显示图像的类,它简化了图片的加载和显示过程。 1. 加载图片: 在Java中,我们通常使用`ImageIcon`类的构造函数来加载图片。以下代码展示了如何从文件系统中...
在这个过程中,我们可以使用Java的`javax.imageio.ImageIO`类和`java.awt.image.BufferedImage`类来实现。 首先,让我们了解一下`javax.imageio.ImageIO`类。这是Java标准库中的一个关键组件,用于读取、写入和处理...
在Java中,可以使用`javax.imageio.ImageIO`类来读取和写入图像,同时利用`BufferedImage`对象进行处理。以下是一个简单的例子,展示了如何使用Java 2D API压缩图片: ```java import javax.imageio.ImageIO; ...
4. **图片缩放**:读取图片,并按一定比例缩放后保存。 #### 三、代码分析 下面是对上述功能的核心代码段进行详细解读: ```java public String onload(FormFile ff, HttpServletRequest request) throws ...
Java Advanced Imaging (JAI) 是一个强大的Java库,它提供了丰富的图像处理功能,如图像缩放、裁剪、旋转、色彩调整、滤镜应用以及复杂的图像运算等。对于TIFF文件的支持,JAI也提供了相应的API接口,能够帮助开发者...
在Java编程中,图片的上传和裁剪是常见的功能需求,尤其在开发Web应用或移动应用时。这个功能涉及到客户端的文件上传、服务器端的文件处理以及可能的图像操作库的使用。以下是对这一主题的详细说明: 1. **文件上传...
在Java编程中,处理图像操作是一项常见的任务,其中包括裁剪图片和更改图片尺寸。下面将详细介绍这三种方法。 首先,我们来谈谈使用第三方工具ImageMagick。ImageMagick是一款强大的命令行工具,能够处理各种图像...
本例中使用了Java标准库中的`java.awt.image.BufferedImage`类和`javax.imageio.ImageIO`接口来读取、处理并保存图片。此外,还使用了`java.awt.geom.AffineTransformOp`来进行图片的缩放操作。 #### 2. 实现原理 -...
以上就是使用Java对图片进行处理的关键知识点,包括获取图片尺寸、缩放图片、裁剪图像以及添加文字和图片水印的方法。通过熟练掌握这些技术,开发者可以轻松地在各种应用中实现图片处理功能。在实际项目中,可能还...
此外,Java的`BufferedImage`类还支持图像的缩放、裁剪和颜色转换等操作。 其次,虽然标签是"java",但要实现一个飞机大战游戏,我们还需要了解一些Java的图形库,比如JavaFX或Swing。JavaFX提供了丰富的UI组件和...
本文将详细介绍如何使用Java实现图片处理,具体包括图片的尺寸调整和指定位置的裁剪。 #### 1. 调整图片尺寸 在Java中,可以通过`BufferedImage`类来加载和操作图片,并使用`Image`接口提供的方法来进行图片尺寸的...
4. **ImageIO类**:`javax.imageio.ImageIO`类用于读取和写入图像文件,支持多种图像格式,如JPEG、PNG、GIF等。`ImageIO.read()`和`ImageIO.write()`是两个常用的方法,分别用于读取和保存图像。 5. **图像处理...
7. **配置参数**:在`PictureResize.java`程序中,很可能包含了配置图片缩放大小的参数,这样用户可以根据需求调整缩放比例。 总之,批量缩放图片的Java实现是一个结合了文件操作、图像处理和可能的并发编程的技术...
不过在这个项目中,可能使用了更简单的库,如Imgscalr,它提供了简单的API来进行图片缩放和裁剪。裁剪操作通常包括设置裁剪区域的坐标和大小,然后使用`CropImageOp`类进行实际的裁剪操作。 4. 图片缩放: 缩放是...
例如,可以使用`ImageIO`类读取图片文件,`BufferedImage`类进行图像操作,如缩放、裁剪、旋转等。 2. 图片显示:Java Swing或JavaFX是构建用户界面的主要工具。在电子相册中,`JFrame`作为主窗口,`JLabel`或者`...
在Java编程语言中,处理图片是一项常见的任务,包括调整图片大小、等比例缩放、裁剪、压缩以及添加水印等。以下将详细介绍这些知识点: 1. **等比例缩放图片**: 在Java中,我们可以使用`java.awt.image....