• 【知识积累】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

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

    三、总结

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

  • 相关阅读:
    构建之法阅读笔记04
    学习进度条10
    描绘用户场景并将典型用户和用户场景描述
    学习进度条09
    构建之法阅读笔记03
    学习进度条08
    每日站立会议10(完成)
    每日站立会议09
    团队成员细节工作项估计
    JS实现全选、不选、反选
  • 原文地址:https://www.cnblogs.com/leesf456/p/5229151.html
Copyright © 2020-2023  润新知