디렉토리의 모든 이미지에 워터 마크를 추가하려고합니다. www.example.com/private를 예로 들어 보겠습니다. 이 이미지 중 일부는 방대한 해상도를 가지고 있지만 다른 이미지는 상대적으로 정상이므로 내 워터 마크가 작은 이미지에서 잘 작동합니다. 워터 마크를 센터링하여도 큰 이미지의 원하는 부분을 잘라낼 수 있습니다.PHP를 사용하여 요청 된 이미지 전체에 워터 마크를 반복 할 수 있습니까?
그럼 내 질문은 수직 및 수평으로 이미지 전체에 워터 마크를 반복하는 PHP 스크립트를 작성하는 방법입니까? 적절한 워터 마킹 보호 기능을 제공해야한다는 것을 제외하고는 백엔드 개발에 대해 충분히 알지 못하므로 Google을 둘러 보았고 작동하지 않는 http://www.regardadesign.co.uk/blog/post/php-image-manipulation/15 만 찾을 수있었습니다.
<IfModule mod_rewrite.c>
RewriteCond %{REQUEST_FILENAME} -f
RewriteRule \.(gif|jpeg|jpg|png)$ /admin/watermark.php [QSA,NC]
</ifModule>"
그리고이 watermark.php 파일의 스크립트입니다 :
<?php
ini_set('memory_limit','200M');
$path = $_SERVER['DOCUMENT_ROOT'].$_SERVER['REQUEST_URI'];
$image = imagecreatefromstring(file_get_contents($path));
$w = imagesx($image);
$h = imagesy($image);
$watermark = imagecreatefrompng('watermark.png');
$ww = imagesx($watermark);
$wh = imagesy($watermark);
imagecopy($image, $watermark, (($w/2)-($ww/2)), (($h/2)-($wh/2)), 0, 0, $ww, $wh);
header('Content-type: image/jpeg');
imagejpeg($image);
imagedestroy($image);
imagedestroy($watermark);
exit();
?>
내가 지금 시험이 코드를 coudn't,하지만 난 그것을 작동 희망 :
이 대한 imagecopy 라인을 교체합니다. – v42
아니요, 불행히도이 작업이 효과가 없었습니다. 여전히 워터 마크가 중앙에 하나씩 만 배치되어 있으며 이제 워터 마크 이미지 대신 단색의 검정색 사각형이됩니다. – Ben
오, 매개 변수가 잘못되었습니다. 나는 그것을 고쳤다 고 생각한다. – v42