zoukankan      html  css  js  c++  java
  • 图片拆分

    图片拆分

    public class ReadPicNum1 {
    
        
    
        private static final String IMAGE_FILE_PATH = "D:\Pic\1.jpg";
    
        //横向分隔个数
    
        private static final int SEP_X_NUM = 1;
    
        //纵向分隔个数
    
        private static final int SEP_Y_NUM = 3;
    
        public static void main(String[] args) throws Exception {
    
           cutPic();
    
        }
    
        public static String cutPic() throws Exception {
    
            File file = new File(IMAGE_FILE_PATH);
    
            if (!file.exists() || !file.isFile()) {
    
                throw new RuntimeException("file not exists or un-file:" + IMAGE_FILE_PATH);
    
            }
    
            BufferedImage image = ImageIO.read(file);
    
            int totalWidth = image.getWidth();
    
            int totalHeight = image.getHeight();
    
            int width = totalWidth / SEP_X_NUM;
    
            int height = totalHeight / SEP_Y_NUM;
    
            File dirFile = new File(file.getParent(), file.getName().substring(0, file.getName().lastIndexOf(".")));
    
            if (!dirFile.exists()) {
    
                dirFile.mkdir();
    
            }
    
            for (int y = 0, j = 1; y <= totalHeight - height; y += height, j++) {
    
                for (int x = 0, i = 1; x <= totalWidth - width; x += width, i++) {
    
                    File targetFile = new File(dirFile, j + "_" + i + ".jpg");
    
                    BufferedImage targetImage = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB);
    
                    Graphics g = targetImage.getGraphics();
    
                    g.drawImage(image.getSubimage(x, y, width, height), 0, 0, null);
    
                    ImageIO.write(targetImage, "JPG", targetFile);
    
                }
    
            }
    
            return dirFile.getPath();
    
        }
    
    }

    原文: https://www.cnblogs.com/thisiswhy/p/15337601.html

  • 相关阅读:
    win10 Administrator
    笔记
    一步一步建MVC
    安装mysql数据库
    为什么工具监测不出内存泄漏
    实现客户端服务端编译分离
    session
    JavasScript基数排序
    asp.net C# 导出EXCEL数据
    (Excel导出失败)检索COM类工厂中CLSID为{00024500-0000-0000-C000-000000000046}的组件时失
  • 原文地址:https://www.cnblogs.com/yrjns/p/15362115.html
Copyright © 2011-2022 走看看