一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|JAVA教程|ASP教程|編程技術|

服務器之家 - 編程語言 - JAVA教程 - java 在圖片上寫字,兩個圖片合并的實現方法

java 在圖片上寫字,兩個圖片合并的實現方法

2020-07-04 11:14java之家 JAVA教程

下面小編就為大家帶來一篇java 在圖片上寫字,兩個圖片合并的實現方法。小編覺得挺不錯的,現在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

實例如下:

java" id="highlighter_157798">
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
package writeimg;
import javax.imageio.ImageIO;
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 java.net.URL;
  
  
public class pic {
  
  private Font font = new Font("華文彩云", Font.PLAIN, 40);// 添加字體的屬性設置
  
  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 BufferedImage loadImageUrl(String imgName) {
    try {
      URL url = new URL(imgName);
      return ImageIO.read(url);
    } 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 void setFont(String fontStyle, int fontSize) {
    this.fontsize = fontSize;
    this.font = new Font(fontStyle, Font.PLAIN, fontSize);
  }
  
  /**
   * 修改圖片,返回修改后的圖片緩沖區(只輸出一行文本)
   */
  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.WHITE);
      g.setColor(Color.orange);//設置字體顏色
      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;
  }
  
  /**
   * 修改圖片,返回修改后的圖片緩沖區(輸出多個文本段) xory:true表示將內容在一行中輸出;false表示將內容多行輸出
   */
  public BufferedImage modifyImage(BufferedImage img, Object[] contentArr,
      int x, int y, boolean xory) {
    try {
      int w = img.getWidth();
      int h = img.getHeight();
      g = img.createGraphics();
      g.setBackground(Color.WHITE);
      g.setColor(Color.RED);
      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 (contentArr != null) {
        int arrlen = contentArr.length;
        if (xory) {
          for (int i = 0; i < arrlen; i++) {
            g.drawString(contentArr[i].toString(), this.x, this.y);
            this.x += contentArr[i].toString().length()
                * this.fontsize / 2 + 5;// 重新計算文本輸出位置
          }
        } else {
          for (int i = 0; i < arrlen; i++) {
            g.drawString(contentArr[i].toString(), this.x, this.y);
            this.y += this.fontsize + 2;// 重新計算文本輸出位置
          }
        }
      }
      g.dispose();
    } catch (Exception e) {
      System.out.println(e.getMessage());
    }
  
    return img;
  }
  
  /**
   * 修改圖片,返回修改后的圖片緩沖區(只輸出一行文本)
   *
   * 時間:2007-10-8
   *
   * @param img
   * @return
   */
  public BufferedImage modifyImageYe(BufferedImage img) {
  
    try {
      int w = img.getWidth();
      int h = img.getHeight();
      g = img.createGraphics();
      g.setBackground(Color.WHITE);
      g.setColor(Color.blue);//設置字體顏色
      if (this.font != null)
        g.setFont(this.font);
      g.drawString("reyo.cn", w - 85, h - 5);
      g.dispose();
    } catch (Exception e) {
      System.out.println(e.getMessage());
    }
  
    return img;
  }
  
  public BufferedImage modifyImagetogeter(BufferedImage b, BufferedImage d) {
  
    try {
      int w = b.getWidth();
      int h = b.getHeight();
        
  
      g = d.createGraphics();
      g.drawImage(b, 100, 10, w, h, null);
      g.dispose();
    } catch (Exception e) {
      System.out.println(e.getMessage());
    }
  
    return d;
  }
  
  public static void main(String[] args) {
  
    pic tt = new pic();
  
    BufferedImage d = tt.loadImageLocal("D:\\11.jpg");
//   BufferedImage b = tt
//       .loadImageLocal("E:\\文件(word,excel,pdf,ppt.txt)\\zte-logo.png");
     tt.writeImageLocal("D:\\cc.jpg",tt.modifyImage(d,"西昌蘋果",90,90)
    //往圖片上寫文件
     );
  
    //tt.writeImageLocal("D:\\cc.jpg", tt.modifyImagetogeter(b, d));
    //將多張圖片合在一起
    System.out.println("success");
  }
  
}

以上就是小編為大家帶來的java 在圖片上寫字,兩個圖片合并的實現方法全部內容了,希望大家多多支持服務器之家~

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 欧洲另类一二三四区 | 水多多www视频在线观看高清 | 天美传媒果冻传媒星空传媒 | 午夜片无码区在线观看 | 俺来操 | 1769亚洲资源站365在线 | 国产66| 好大好硬快点好爽公 | 天美传媒影视在线免费观看 | 精品国产91久久久久 | 五月桃花网婷婷亚洲综合 | 50度灰破解版v5.7.0 | 日本欧美强乱视频在线 | 午夜亚洲WWW湿好爽 午夜想想爱午夜剧场 | 美女禁区视频免费观看精选 | 亚洲精品 欧美 | 草女人逼| 亚偷熟乱区视频在线观看 | 亚洲欧美优优色在线影院 | 国产v视频 | 欧美午夜网站 | 亚洲色图综合网 | 超级乱淫寡妇 | 国产精品视频一区二区三区经 | 99re热精品这里精品 | www.色老板| lilisha李丽莎喷水大胆在线 | 欧美a一级片 | 免费国产高清精品一区在线 | 精品久久久久久久久久久 | ferr孕妇videos毛茸茸 | 青青青国产 | 国产精品微拍 | 婷婷中文网| 99在线观看视频免费 | 毛片一区二区三区提莫影院 | 精品老司机在线视频香蕉 | 给我免费观看的视频在线播放 | 国产午夜亚洲精品一区网站 | 99久久免费国产特黄 | 精品视频99 |