首页 > 语言 > PHP > 正文

php生成艺术字体图片水印代码

2024-09-04 11:44:20
字体:
来源:转载
供稿:网友
  1. //adv0.jpg就是背景图片,注意函数与图片格式对应    
  2. $im = imagecreatefromjpeg('/www/law/images/demo/adv0.jpg');     
  3. $font_color = imagecolorallocate ($im, 0, 250, 10); //这是文字颜色,绿色    
  4.    
  5. $text = "张三的博客";        //文字内容    
  6.    
  7. $font_file = "/www/font/hyi_xkj.ttf";     //字体的linux绝对路径    
  8.    
  9. //26:字体, 0 是角度, 10,36是坐标, $font_color是文字色, font是字体,  文本是填入的文字    
  10. imagettftext($im, 26,0, 10, 36, $font_color ,$font_file$text);  往图片插入文字    
  11.    
  12. // output image    
  13. header ('content-type: image/png');     //即便是从jpg拷贝的图片,也能以png输出,    
  14. imagepng ($im);    
  15. // clean up    
  16. imagedestroy($im); 
  17.   
  18. //生成水印方法二,代码如下: 
  19.  
  20. public final class imageutils {  
  21. public imageutils() { 
  22.  
  23.  
  24. public final static string getpressimgpath(){  
  25. return applicationcontext.getrealpath("/template/data/util/shuiyin.gif");  
  26.  
  27. /**  
  28. * 把图片印刷到图片上  
  29. * @param pressimg -- 水印文件  
  30. * @param targetimg -- 目标文件  
  31. * @param x  
  32. * @param y  
  33. */  
  34. public final static void pressimage(string pressimg, string targetimg, int x, int y) {  
  35. try {  
  36. file _file = new file(targetimg);  
  37. image src = imageio.read(_file);  
  38. int wideth = src.getwidth(null);  
  39. int height = src.getheight(null);  
  40. bufferedimage image = new bufferedimage(wideth, height,  
  41. bufferedimage.type_int_rgb);  
  42. graphics g = image.creategraphics();  
  43. g.drawimage(src, 0, 0, wideth, height, null); 
  44.  
  45. // 水印文件  
  46. file _filebiao = new file(pressimg);  
  47. image src_biao = imageio.read(_filebiao);  
  48. int wideth_biao = src_biao.getwidth(null);  
  49. int height_biao = src_biao.getheight(null);  
  50. g.drawimage(src_biao, wideth - wideth_biao - x, height - height_biao -y, wideth_biao,  
  51. height_biao, null);  
  52. // /  
  53. g.dispose();  
  54. fileoutputstream out = new fileoutputstream(targetimg);  
  55. jpegimageencoder encoder = jpegcodec.createjpegencoder(out);  
  56. encoder.encode(image);  
  57. out.close();  
  58. } catch (exception e) {  
  59. e.printstacktrace();  
  60. }  
  61.  
  62. /**  
  63. * 打印文字水印图片  
  64. * @param presstext --文字  
  65. * @param targetimg -- 目标图片  
  66. * @param fontname -- 字体名  
  67. * @param fontstyle -- 字体样式  
  68. * @param color -- 字体颜色  
  69. * @param fontsize -- 字体大小  
  70. * @param x -- 偏移量  
  71. * @param y  
  72. */ 
  73.  
  74. public static void presstext(string presstext, string targetimg, string fontname,int fontstyle, int color, int fontsize, int x, int y) {  
  75. try {  
  76. file _file = new file(targetimg);  
  77. image src = imageio.read(_file);  
  78. int wideth = src.getwidth(null);  
  79. int height = src.getheight(null);  
  80. bufferedimage image = new bufferedimage(wideth, height,  
  81. bufferedimage.type_int_rgb);  
  82. graphics g = image.creategraphics();  
  83. g.drawimage(src, 0, 0, wideth, height, null);  
  84. // string s=www.111cn.net;  
  85. g.setcolor(color.red);  
  86. g.setfont(new font(fontname, fontstyle, fontsize)); 
  87.  
  88.  
  89. g.drawstring(presstext, wideth - fontsize - x, height - fontsize/2 - y);  
  90. g.dispose();  
  91. fileoutputstream out = new fileoutputstream(targetimg);  
  92. jpegimageencoder encoder = jpegcodec.createjpegencoder(out);  
  93. encoder.encode(image);  
  94. out.close();  
  95. } catch (exception e) {  
  96. system.out.println(e);  
  97. }  
  98. //开源代码Vevb.com 
  99. public static void main(string[] args) {  
  100. pressimage("c:/shuiyin/shuiyin.gif""c:/shuiyin/dsc02342.jpg", 20 ,20);  
  101. }  

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表