成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

PHP給圖片添加文字或圖片水印的實現代碼

開發 前端
有時上傳圖片時,需要給圖片添加水印,水印一般為文字或圖片logo水印,下面就來看看兩種添加方法:文字水印和圖片水印。

有時上傳圖片時,需要給圖片添加水印,水印一般為文字或圖片logo水印,下面就來看看兩種添加方法。

一、文字水印

文字水印就是在圖片上加上文字,主要使用gd庫的imagefttext方法,并且需要字體文件。效果圖如下:

  1. $dst_path = 'dst.jpg'
  2. //創建圖片的實例 
  3. $dst = imagecreatefromstring(file_get_contents($dst_path)); 
  4.  
  5. //打上文字 
  6. $font = './simsun.ttc';//字體路徑 
  7.  
  8. $black = imagecolorallocate($dst, 0x00, 0x00, 0x00);//字體顏色 
  9. imagefttext($dst, 13, 0, 20, 20, $black, $font, '快樂編程'); 
  10. //輸出圖片 
  11. list($dst_w, $dst_h, $dst_type) = getimagesize($dst_path); 
  12. switch ($dst_type) { 
  13.     case 1://GIF 
  14.         header('Content-Type: image/gif'); 
  15.         imagegif($dst); 
  16.         break; 
  17.     case 2://JPG 
  18.         header('Content-Type: image/jpeg'); 
  19.         imagejpeg($dst); 
  20.         break; 
  21.     case 3://PNG 
  22.         header('Content-Type: image/png'); 
  23.         imagepng($dst); 
  24.         break; 
  25.     default
  26.         break; 
  27. imagedestroy($dst);  

新創建一張圖片,然后打印文字水印:

  1. // imagecreatefromstring 
  2. // imageCreateFromPng  Create a new image from file or URL   創建圖片對象 
  3.  
  4. // Create a 300x100 image,新創建一張圖片 
  5. $im = imagecreatetruecolor(500, 300); 
  6.  
  7. // set color 
  8. $red = imagecolorallocate($im, 0xFF, 0x00, 0x00); 
  9. $black = imagecolorallocate($im, 0x00, 0x00, 0x00); 
  10.  
  11. // Make the background red 
  12. // function imagefilledrectangle ($image, $x1, $y1, $x2, $y2, $color) {} 
  13. imagefilledrectangle($im, 0, 0, 300, 100, $red); 
  14.  
  15. // Path to our ttf font file 
  16. $font_file = './font/Arial.ttf'
  17.  
  18.  
  19. // imagefttext ($image, $size, $angle, $x, $y, $color, $fontfile, $text, $extrainfo = null ) 
  20. // Draw the text 'PHP Manual' using font size 13 
  21. imagefttext($im, 13, 0, 150, 50, $black, $font_file, 'PHP Manual'); 
  22.  
  23. // Output image to the browser 
  24. header('Content-Type: image/png'); 
  25.  
  26. imagepng($im); 
  27. imagedestroy($im); 

[[171098]]

 

二、圖片水印

圖片水印就是將一張圖片加在另外一張圖片上,主要使用gd庫的imagecopy和imagecopymerge。

  1. $dst_path = 'myimage.jpg'
  2. $src_path = 'http://www.logodashi.com/FileUpLoad/inspiration/636003768803214440.jpg'
  3. //創建圖片的實例 
  4. $dst = imagecreatefromstring(file_get_contents($dst_path)); 
  5. $src = imagecreatefromstring(file_get_contents($src_path)); 
  6. //獲取水印圖片的寬高 
  7. list($src_w, $src_h) = getimagesize($src_path); 
  8. //將水印圖片復制到目標圖片上,***個參數50是設置透明度,這里實現半透明效果 
  9. imagecopymerge($dst, $src, 10, 10, 0, 0, $src_w, $src_h, 30); 
  10.  
  11. //如果水印圖片本身帶透明色,則使用imagecopy方法 
  12. // imagecopy($dst, $src, 10, 10, 0, 0, $src_w, $src_h); 
  13.  
  14. //輸出圖片 
  15. list($dst_w, $dst_h, $dst_type) = getimagesize($dst_path); 
  16. switch ($dst_type) { 
  17.     case 1://GIF 
  18.         header('Content-Type: image/gif'); 
  19.         imagegif($dst); 
  20.         break; 
  21.     case 2://JPG 
  22.         header('Content-Type: image/jpeg'); 
  23.         imagejpeg($dst); 
  24.         break; 
  25.     case 3://PNG 
  26.         header('Content-Type: image/png'); 
  27.         imagepng($dst); 
  28.         break; 
  29.     default
  30.         break; 
  31. imagedestroy($dst); 
  32. imagedestroy($src);  

效果圖:

[[171099]]

 

三、其他有關圖像處理的函數

  1. /* 
  2.  *返回圖像的大小及圖像類型 
  3. // Get the size of an image 
  4. $size = getimagesize("http://image18-c.poco.cn/mypoco/myphoto/20160901/20/17857099520160901203311082.jpg?750x956_120"); 
  5.  
  6. print_r($size); 
  7.  
  8.  
  9. // 打印結果 
  10. Array 
  11.     [0] => 750 
  12.     [1] => 956 
  13.     [2] => 2 
  14.     [3] => width="750" height="956" 
  15.     [bits] => 8 
  16.     [channels] => 3 
  17.     [mime] => image/jpeg 
  18.  
  19. */ 
  20.  
  21.  
  22. /** 
  23.  * imagecopy — 拷貝圖像的一部分 
  24.  */ 
  25.  
  26. // bool imagecopy ( resource $dst_im , resource $src_im , int $dst_x , int $dst_y , int $src_x , int $src_y , int $src_w , int $src_h ) 
  27. // 將 src_im 圖像中坐標從 src_x,src_y 開始,寬度為 src_w,高度為 src_h 的一部分拷貝到 dst_im 圖像中坐標為 dst_x 和 dst_y 的位置上。 
  28.  
  29.  
  30.  
  31. /* 
  32.  * 
  33.  * http://php.net/manual/zh/function.imagecopymerge.php 
  34.  *imagecopymerge — 拷貝并合并圖像的一部分 
  35.  *bool imagecopymerge ( resource $dst_im , resource $src_im , int $dst_x , int $dst_y , int $src_x , int $src_y , int $src_w , int $src_h , int $pct ) 
  36.  * 
  37.  * 
  38.  */  
責任編輯:龐桂玉 來源: segmentfault
相關推薦

2012-06-12 15:43:22

PHP

2009-08-12 17:19:51

ASP.NET圖片加水

2009-12-07 15:41:51

PHP圖片加水印

2015-04-17 10:31:11

PHP下載美女圖片實現代碼

2009-11-24 15:43:17

PHP給圖片加水印

2024-08-01 08:37:46

vue圖片性能

2010-08-04 11:37:44

PHP NFS

2025-04-09 08:00:00

2023-09-27 12:11:08

Python水印Pillow

2025-06-18 10:05:26

2009-12-02 17:22:22

PHP抓取圖片

2009-11-24 14:45:08

PHP批量上傳圖片

2009-11-16 13:18:10

PHP上傳圖片代碼

2024-01-09 16:02:44

Python開源

2009-07-29 16:06:42

圖片增加水印

2021-09-08 11:02:32

Java代碼圖片

2022-05-04 18:26:25

PDF水印Python

2010-06-24 17:57:45

chkconfig h

2018-09-17 14:06:46

UCloudUGC

2018-09-17 13:52:39

UCloudUGC
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 午夜精品久久久久久久久久久久久 | av一区二区三区四区 | 久久亚洲国产精品 | 久久国产欧美日韩精品 | 欧美在线看片 | 国产乱码精品一品二品 | 亚洲人精品午夜 | 日韩欧美亚洲 | 青青草av在线播放 | 永久网站 | 97福利在线 | www4虎| 国产不卡在线观看 | 亚洲精品国产成人 | 亚洲视频国产 | 国产欧美在线视频 | 成人aaa视频 | 一级网站| 国产精品精品3d动漫 | 欧美一区中文字幕 | 国产精品久久久久久久久免费樱桃 | 欧美日韩成人影院 | 国产精品免费大片 | 日韩第一页 | 九九热精品视频 | 日韩人体视频 | 久久草在线视频 | 在线亚洲欧美 | 日本韩国欧美在线观看 | 国产精品综合久久 | 日韩伦理电影免费在线观看 | 欧美日韩在线观看视频 | 久久精品欧美一区二区三区不卡 | 亚洲精品久久久一区二区三区 | 成年人在线 | 日韩成人免费av | 婷婷亚洲综合 | 日韩视频免费 | 黄色大全免费看 | 亚洲成人精品在线 | 伊人久久成人 |