【知识积累】BufferedImage类实现图片的切分
一、引言
如何实现图片分割?若有园友用到这个模块,使用Java的BufferedImage类来实现,图片切分也可以作为一个小工具积累起来,以备不时之需。
二、代码清单
package com.leesf.util; import java.awt.image.BufferedImage; import java.io.File; import java.io.IOException; import java.util.ArrayList; import javax.imageio.ImageIO; public class ImageUtil { // 切图 public static ArrayList<BufferedImage> cutImage(String fileUrl, int rows, int cols, int nums) { ArrayList<BufferedImage> list = new ArrayList<BufferedImage>(); try { BufferedImage img = ImageIO.read(new File(fileUrl)); int lw = img.getWidth() / cols; int lh = img.getHeight() / rows; for (int i = 0; i < nums; i++) { BufferedImage buffImg = img.getSubimage(i % cols * lw, i / cols * lh, lw, lh); list.add(buffImg); } return list; } catch (IOException e) { e.printStackTrace(); } return list; } public static void main(String[] args) throws IOException { ArrayList<BufferedImage> biLists = ImageUtil.cutImage("img/image2.jpg", 2, 2, 4); String fileNameString = "E:"; int number = 0; String format = "jpg"; for (BufferedImage bi : biLists) { File file1 = new File(fileNameString + File.separator + number + "." + format); ImageIO.write(bi, format, file1); number++; } } }
说明:可以切分任何图片,具体的参数园友可以自行配置~之后就可以在配置的目录下看到切分结果了。
三、总结
要将平时遇到的一些小工具积累起来,以备不时之需。谢谢各位园友的观看~
PS:如果您觉得阅读本文对您有帮助,请点一下“推荐”按钮,您的“推荐”,将会是我不竭的动力!
作者:leesf 掌控之中,才会成功;掌控之外,注定失败。
出处:http://www.cnblogs.com/leesf456/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
如果觉得本文对您有帮助,您可以请我喝杯咖啡!