一、引言
如何實現圖片分割?若有園友用到這個模組,使用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++; } } }
說明:可以切分任何圖片,具體的引數園友可以自行配置~之後就可以在配置的目錄下看到切分結果了。
三、總結
要將平時遇到的一些小工具積累起來,以備不時之需。謝謝各位園友的觀看~