国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

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

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - Java教程 - java實現(xiàn)給圖片加鋪滿的網(wǎng)格式文字水印

java實現(xiàn)給圖片加鋪滿的網(wǎng)格式文字水印

2021-08-02 10:31笙簫123 Java教程

這篇文章主要給大家介紹了關于java實現(xiàn)給圖片加鋪滿的網(wǎng)格式文字水印的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧

效果:

原圖

java實現(xiàn)給圖片加鋪滿的網(wǎng)格式文字水印

加水印后的圖片

java實現(xiàn)給圖片加鋪滿的網(wǎng)格式文字水印

廢話不多說,直接上代碼

代碼:

?
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
package com.example.demo;
 
import java.awt.alphacomposite;
import java.awt.color;
import java.awt.font;
import java.awt.graphics2d;
import java.awt.image;
import java.awt.renderinghints;
import java.awt.image.bufferedimage;
import java.io.file;
import java.io.fileoutputstream;
import java.io.inputstream;
import java.io.outputstream;
 
import javax.imageio.imageio;
 
/**
 * @author xuyangwei
 * @date 2021/1/28 09:10
 */
public class watermarkutils {
 // 水印透明度
 private static float alpha = 0.5f;
 // 水印文字大小
 public static final int font_size = 18;
 // 水印文字字體
 private static font font = new font("宋體", font.plain, font_size);
 // 水印文字顏色
 private static color color = color.gray;
 // 水印之間的間隔
 private static final int xmove = 80;
 // 水印之間的間隔
 private static final int ymove = 80;
 
 /**
  * 給圖片添加水印文字
  *
  * @param logotext 水印文字
  * @param srcimgpath 源圖片路徑
  * @param targerpath 目標圖片路徑
  */
 public static void imagebytext(string logotext, string srcimgpath, string targerpath) {
  imagebytext(logotext, srcimgpath, targerpath, null);
 }
 
 
 /**
  * 獲取文本長度。漢字為1:1,英文和數(shù)字為2:1
  */
 private static int gettextlength(string text) {
  int length = text.length();
  for (int i = 0; i < text.length(); i++) {
   string s = string.valueof(text.charat(i));
   if (s.getbytes().length > 1) {
    length++;
   }
  }
  length = length % 2 == 0 ? length / 2 : length / 2 + 1;
  return length;
 }
 
 
 /**
  * 給圖片添加水印文字、可設置水印文字的旋轉角度
  *
  * @param logotext
  * @param srcimgpath
  * @param targerpath
  * @param degree
  */
 public static void imagebytext(string logotext, string srcimgpath, string targerpath, integer degree) {
 
  inputstream is = null;
  outputstream os = null;
  try {
   // 源圖片
   image srcimg = imageio.read(new file(srcimgpath));
   int width = srcimg.getwidth(null);// 原圖寬度
   int height = srcimg.getheight(null);// 原圖高度
   bufferedimage buffimg = new bufferedimage(srcimg.getwidth(null), srcimg.getheight(null),
     bufferedimage.type_int_rgb);
   // 得到畫筆對象
   graphics2d g = buffimg.creategraphics();
   // 設置對線段的鋸齒狀邊緣處理
   g.setrenderinghint(renderinghints.key_interpolation, renderinghints.value_interpolation_bilinear);
   g.drawimage(srcimg.getscaledinstance(srcimg.getwidth(null), srcimg.getheight(null), image.scale_smooth),
     0, 0, null);
   // 設置水印旋轉
   if (null != degree) {
    g.rotate(math.toradians(degree), (double) buffimg.getwidth() / 2, (double) buffimg.getheight() / 2);
   }
   // 設置水印文字顏色
   g.setcolor(color);
   // 設置水印文字font
   g.setfont(font);
   // 設置水印文字透明度
   g.setcomposite(alphacomposite.getinstance(alphacomposite.src_atop, alpha));
 
   int x = -width / 2;
   int y = -height / 2;
   int markwidth = font_size * gettextlength(logotext);// 字體長度
   int markheight = font_size;// 字體高度
 
   // 循環(huán)添加水印
   while (x < width * 1.5) {
    y = -height / 2;
    while (y < height * 1.5) {
     g.drawstring(logotext, x, y);
 
     y += markheight + ymove;
    }
    x += markwidth + xmove;
   }
   // 釋放資源
   g.dispose();
   // 生成圖片
   os = new fileoutputstream(targerpath);
   imageio.write(buffimg, "jpg", os);
   system.out.println("添加水印文字成功!");
  } catch (exception e) {
   e.printstacktrace();
  } finally {
   try {
    if (null != is)
     is.close();
   } catch (exception e) {
    e.printstacktrace();
   }
   try {
    if (null != os)
     os.close();
   } catch (exception e) {
    e.printstacktrace();
   }
  }
 }
 
 public static void main(string[] args) {
  string srcimgpath = "d:/1.jpg";
  // 水印文字
  string logotext = "打印無效";
  string targertextpath2 = "d:/2.jpg";
  system.out.println("給圖片添加水印文字開始...");
  // 給圖片添加斜水印文字
  watermarkutils.imagebytext(logotext, srcimgpath, targertextpath2, -40);
  system.out.println("給圖片添加水印文字結束...");
 }
}

總結

到此這篇關于java實現(xiàn)給圖片加鋪滿的網(wǎng)格式文字水印的文章就介紹到這了,更多相關java圖片加鋪網(wǎng)格式文字水印內(nèi)容請搜索服務器之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持服務器之家!

原文鏈接:https://blog.csdn.net/q15102780705/article/details/113307631

延伸 · 閱讀

精彩推薦
Weibo Article 1 Weibo Article 2 Weibo Article 3 Weibo Article 4 Weibo Article 5 Weibo Article 6 Weibo Article 7 Weibo Article 8 Weibo Article 9 Weibo Article 10 Weibo Article 11 Weibo Article 12 Weibo Article 13 Weibo Article 14 Weibo Article 15 Weibo Article 16 Weibo Article 17 Weibo Article 18 Weibo Article 19 Weibo Article 20 Weibo Article 21 Weibo Article 22 Weibo Article 23 Weibo Article 24 Weibo Article 25 Weibo Article 26 Weibo Article 27 Weibo Article 28 Weibo Article 29 Weibo Article 30 Weibo Article 31 Weibo Article 32 Weibo Article 33 Weibo Article 34 Weibo Article 35 Weibo Article 36 Weibo Article 37 Weibo Article 38 Weibo Article 39 Weibo Article 40
主站蜘蛛池模板: 欧美成人一区二区三区片免费 | 中文在线资源 | 欧美日韩国产一区二区三区不卡 | 一级电影中文字幕 | 精品一区二区不卡 | 五月激情综合 | 亚洲激情一区二区 | 欧美成人性生活 | 国产精品久久久久久亚洲调教 | 俺去俺来也在线www色官网 | 久久综合亚洲精品 | 久久久中文字 | 欧美久久精品一级黑人c片 成人在线视频免费观看 | 午夜成人免费电影 | 色婷婷影院 | 91国内视频在线观看 | 日韩精品一区二区三区丰满 | 中文字幕一区二区三区日韩精品 | 午夜大片男女免费观看爽爽爽尤物 | 国产精品亚洲精品 | www.欧美日韩 | 国产中文在线 | 精品国产区 | 一区二区三区在线播放 | 91久久精品视频 | 欧美一区二区三区在线 | 国产激情久久久久久 | 国产综合精品一区二区三区 | 日韩精品在线一区 | 成人午夜性a一级毛片免费看 | 国产高清av在线一区二区三区 | 91午夜视频 | 天堂99x99es久久精品免费 | av网站免费在线观看 | 欧美一区二区三区在线看 | 日本黄a三级三级三级 | 中文字幕视频在线 | 97精品一区二区三区 | 久久com| 不卡一区二区三区视频 | 精品国产乱码久久久久久1区2区 |