zoukankan      html  css  js  c++  java
  • 【知识积累】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++;
            }
        }
    }
    View Code

      说明:可以切分任何图片,具体的参数园友可以自行配置~之后就可以在配置的目录下看到切分结果了。

    三、总结

      要将平时遇到的一些小工具积累起来,以备不时之需。谢谢各位园友的观看~

  • 相关阅读:
    iOS开发
    金额的存储处理及显示
    jquery.validate验证表单
    js获取当前日期时间
    使用Bootstrap插件datapicker获取时间
    使用Bootstrap的suggest下拉插件
    动态菜单树加载过程
    043 组合数据类型小结
    038 序列类型操作-元组类型和列表类型
    033 模块4-PyInstaller库的使用
  • 原文地址:https://www.cnblogs.com/leesf456/p/5229151.html
Copyright © 2011-2022 走看看