• java实现在图片上编辑文本内容


    package com.yin.text;
    
    import java.awt.Color;
    import java.awt.Font;
    import java.awt.Graphics2D;
    import java.awt.image.BufferedImage;
    import java.io.File;
    import java.io.IOException;
    
    import javax.imageio.ImageIO;
    
    /**
     * 在图片上编辑文本内容
     * @version 2018-2-27 上午11:12:09
     *
     */
    public class Picture1
    {
         private Font       font     = new Font("宋体", Font.PLAIN, 12); // 添加字体的属性设置    
         private Graphics2D g        = null;  
         private int        fontsize = 0;  
         private int        x        = 0;  
         private int        y        = 0;  
          
        /**  
         * 导入本地图片到缓冲区  
         */  
        public BufferedImage loadImageLocal(String imgName) {  
            try {  
                return ImageIO.read(new File(imgName));  
            } catch (IOException e) {  
                System.out.println(e.getMessage());  
            }  
            return null;  
        } 
        
        /**  
         * 生成新图片到本地  
         */  
        public void writeImageLocal(String newImage, BufferedImage img) {  
            if (newImage != null && img != null) {  
                try {  
                    File outputfile = new File(newImage);  
                    ImageIO.write(img, "jpg", outputfile);  
                } catch (IOException e) {  
                    System.out.println(e.getMessage());  
                }  
            }  
        } 
        
        /**  
         * 修改图片,返回修改后的图片缓冲区(只输出一行文本)  
         */  
        public BufferedImage modifyImage(BufferedImage img, Object content, int x, int y) {  
      
            try {  
                int w = img.getWidth();  
                int h = img.getHeight();  
                g = img.createGraphics();  
                g.setBackground(Color.RED);//设置背景颜色  
                g.setColor(Color.BLUE);//设置字体颜色    
                if (this.font != null)  
                    g.setFont(this.font);  
                // 验证输出位置的纵坐标和横坐标    
                if (x >= h || y >= w) {  
                    this.x = h - this.fontsize + 2;  
                    this.y = w;  
                } else {  
                    this.x = x;  
                    this.y = y;  
                }  
                if (content != null) {  
                    g.drawString(content.toString(), this.x, this.y);  
                }  
                g.dispose();  
            } catch (Exception e) {  
                System.out.println(e.getMessage());  
            }  
      
            return img;  
        }  
        public static void main(String[] args) {  
            
            Picture1 tt = new Picture1();  
      
            BufferedImage d = tt.loadImageLocal("C:/1.jpg");  
            
            //往图片上编辑内容    
            tt.writeImageLocal("C:/new1.jpg", tt.modifyImage(d, "这是文本内容啦啦啦啦啦", 0, 200));  
          
            System.out.println("success");  
        } 
    }
  • 相关阅读:
    4.Pod控制器
    3.Pod控制器应用进阶
    2.k8s资源清单
    1.使用kubeadm安装kubernetes
    1.Linux命令行快捷键、Vim
    3.docker镜像管理基础
    2019第二周作业
    2019春第一周作业编程总结
    对我影响最大的三位老师
    2018寒假作业学习总结
  • 原文地址:https://www.cnblogs.com/yinyl/p/8478578.html
Copyright © 2020-2023  润新知