Вход Регистрация
* [Mc]Laren

Добавление водяных знаков

  1. function watermark($file, $watermark, $pos = null, $x = 0, $y = 0){
  2. $details = getimagesize($file);
  3. $wDetails = getimagesize($watermark);
  4. if(!is_null($pos)){
  5. switch($pos){
  6. case TOP_LEFT:
  7. $x = 0;
  8. $y = 0;
  9. break;
  10. case TOP_RIGHT:
  11. $x = $details[0] - $wDetails[0];
  12. $y = 0;
  13. break;
  14. case BOTTOM_LEFT:
  15. $x = 0;
  16. $y = $details[1] - $wDetails[1];
  17. break;
  18. case BOTTOM_RIGHT:
  19. $x = $details[0] - $wDetails[0];
  20. $y = $details[1] - $wDetails[1];
  21. break;
  22. case CENTER:
  23. $x = round(($details[0] - $wDetails[0])/2);
  24. $y = round(($details[1] - $wDetails[1])/2);
  25. break;
  26. }
  27. }
  28. switch($details['mime']){
  29. case 'image/jpeg':$im = imagecreatefromjpeg($file);break;
  30. case 'image/gif':$im = imagecreatefromgif($file);break;
  31. case 'image/png':$im = imagecreatefrompng($file);break;
  32. }
  33. switch($wDetails['mime']){
  34. case 'image/jpeg':$newWater = imagecreatefromjpeg($watermark);break;
  35. case 'image/gif':$newWater = imagecreatefromgif($watermark);$colorTransparent = imagecolortransparent($newWater);imagefill($newWater, 0, 0, $colorTransparent);imagecolortransparent($newWater, $colorTransparent);break;
  36. case 'image/png':$newWater = imagecreatefrompng($watermark);imagealphablending($newWater, false);imagesavealpha($newWater,true);break;
  37. }
  38. imagecopyresampled($im, $newWater, $x, $y, 0, 0, $wDetails[0], $wDetails[1], $wDetails[0], $wDetails[1]);
  39. // Вывод изображения
  40. switch($details['mime']){
  41. case 'image/jpeg':header('Content-type: image/jpeg');imagejpeg($im);break;
  42. case 'image/gif':header('Content-type: image/gif');imagegif($im);break;
  43. case 'image/png':header('Content-type: image/png');imagepng($im);break;
  44. }
  45.  
  46. // Освобождаем память
  47. imagedestroy($im);
  48. }
  49.  
  50. // Водяной знак, используя только по умолчанию
  51. watermark('girl.jpg','watermark.png');
  52.  
  53. // Водяной знак, используя предварительно определенные позиции
  54. // Valid values: TOP_LEFT, TOP_RIGHT, BOTTOM_LEFT, BOTTOM_RIGHT, CENTER
  55. watermark('girl.jpg','watermark.png', BOTTOM_RIGHT);
  56.  
  57. // Водяной знак с помощью точного позиционирования
  58. watermark('girl.jpg','watermark.png', null, 150, 150);
» Описание: Берем изображение и ставим на него водяной знак.
» Время добавления: 28 Янв 2015 в 12:47
» Посмотров: 1554
» textarea
» Рейтинг: [+3 | -0]
Комментарии [1]
Онлайн: 3
Реклама