• 图片合成文本,输入合成后的图片


    package image;
    
    import java.awt.*;
    import java.awt.image.BufferedImage;
    import java.io.File;
    import java.io.IOException;
    import java.util.Date;
    import javax.imageio.ImageIO;
    
    public class Image {
        
        public static void main(String[] args) throws Exception {
            //缓存位图对象,水平和垂直像素同原始位图
            BufferedImage background =new BufferedImage(1078, 1522, BufferedImage.TYPE_INT_RGB);
            int[] numbers ;
            BufferedImage srcImage;
            Graphics2D  g;
            Date date;
            int width = 1078;
            int height = 1522;
    //        String  text = "008971";
            
            //读取磁盘原始位图
            File srcFile = new File("C:/Users/Administrator/Desktop/file/picture/backgroud.jpg");
            numbers = new int[5];
            for(int i=0;i<numbers.length;i++){
                srcImage = ImageIO.read(srcFile);
                //获取缓存位图的画笔对象
                g = srcImage.createGraphics();
                g.setColor(Color.red);
                g.setFont(new Font("宋体", Font.PLAIN, 30));
                numbers[i] = i + 1;
                g.drawImage(srcImage,0,0,width,height,null);
                g.drawString(String.valueOf(numbers[i]), 489, 486);
    //            ImageIO.write(srcImage, "jpg", new File("C:/Users/Administrator/Desktop/file/picture/"+String.valueOf(numbers[i])+".jpg"));
                ImageIO.write(srcImage, "jpg", new File("C:/Users/Administrator/Desktop/file/picture/"+System.currentTimeMillis()+".jpg"));
                //dispose后将BufferedImage的所有资源都释放掉了
                g.dispose();
            }
        }
    }
    package image;
    
    import java.awt.*;
    import java.awt.image.BufferedImage;
    import java.io.*;
    import java.io.BufferedReader;
    import java.io.File;
    import java.util.Arrays;
    import java.util.List;
    import javax.imageio.ImageIO;
    
    /*从cvs中读取数据,将图片和文本进行合成*/
    public class Image2 {
        
        public static void main(String[] args) throws Exception {
            //缓存位图对象,水平和垂直像素同原始位图
            BufferedImage background =new BufferedImage(1078, 1522, BufferedImage.TYPE_INT_RGB);
            BufferedImage srcImage;
            Graphics2D  g;
            int width = 1078;
            int height = 1522;
            
            //读取磁盘原始位图
            File srcFile = new File("C:/Users/Administrator/Desktop/file/picture/backgroud.jpg");
            File cvsFils = new File("D:/odins/db/Odins1000KS/1000用户数据/01.csv");
            try {
                BufferedReader in =new BufferedReader(new InputStreamReader(new FileInputStream(cvsFils),"UTF-8"));
                String line;
                String[] onerow;
                while ((line=in.readLine())!=null) {
                     onerow = line.split(",");  //默认分割符为逗号,可以不使用逗号
                     List<String> onerowlist = Arrays.asList(onerow);
                     String ksh = onerowlist.get(0);
                     String picR = onerowlist.get(1);
                     String picF = onerowlist.get(2);
                     srcImage = ImageIO.read(srcFile);
                     //获取缓存位图的画笔对象
                     g = srcImage.createGraphics();
                     g.setColor(Color.red);
                     g.setFont(new Font("宋体", Font.PLAIN, 30));
                     g.drawImage(srcImage,0,0,width,height,null);
                     g.drawString(ksh, 489, 486);
    //                 ImageIO.write(srcImage, "jpg", new File("C:/Users/Administrator/Desktop/file/picture/"+String.valueOf(numbers[i])+".jpg"));
                     ImageIO.write(srcImage, "jpg", new File("C:/Users/Administrator/Desktop/file/picture/"+picR));
                     ImageIO.write(srcImage, "jpg", new File("C:/Users/Administrator/Desktop/file/picture/"+picF));
                     //dispose后将BufferedImage的所有资源都释放掉了
                     g.dispose();
                }
                in.close();
            } catch (Exception e) {
                e.printStackTrace();;
            }
            
        }
    }

    运行结果:

  • 相关阅读:
    vim的script、function及command
    Vim中如何移动光标
    command模式下命令的匹配及help内容的搜索
    为什么vim编辑模式下ctrl-w可以前向删除单词及按键映射的展开
    gcc如何实现C++中函数auto返回类型推导
    sqlserver 列转行
    【java笔记】可变长参数(...)
    【c#笔记】可变长参数(params)
    【c#笔记】c#与java的差异:接口定义实现
    【java笔记】Calendar类的陷阱
  • 原文地址:https://www.cnblogs.com/celine/p/9460541.html
Copyright © 2020-2023  润新知