Kod
<?php
function watermark($imgName, $text, $font, $size) {
if(!($img = imagecreatefromjpeg($imgName))) {
echo "Nie mogę otworzyć pliku: ".$imgName;
return false;
}
$sW = imagesx($img);
echo "sw: ".$sW."<br />";
$arr = imagettfbbox($size, 0, $font, $text);
echo "arr: ".$arr."<br />";
$width = abs($arr[2] - $arr[0]) + 5;
echo $width."<br />";
$height = abs($arr[1] - $arr[7]) + 1;
echo $height."<Br />";
$white = imagecolorallocate($img, 0, 0, 0);
echo $white."<br />";
$posX = $sW - $width;
$posY = $sW;
imagettftext($img, $size, 0, $posX, $posY - 5, $white, $font, $text);
$name = substr($imgName, 0, strlen($imgName) - 4);
$name = $name."-watermarked.jpg";
echo $name."<br />";
echo $img."<br />";
imagejpeg($img, $name);
imagedestroy($img);
}
watermark('gory.jpg', 'napis wodny', 'verdana.ttf', 14);
?>
<img src='gory-watermarked.jpg' />
function watermark($imgName, $text, $font, $size) {
if(!($img = imagecreatefromjpeg($imgName))) {
echo "Nie mogę otworzyć pliku: ".$imgName;
return false;
}
$sW = imagesx($img);
echo "sw: ".$sW."<br />";
$arr = imagettfbbox($size, 0, $font, $text);
echo "arr: ".$arr."<br />";
$width = abs($arr[2] - $arr[0]) + 5;
echo $width."<br />";
$height = abs($arr[1] - $arr[7]) + 1;
echo $height."<Br />";
$white = imagecolorallocate($img, 0, 0, 0);
echo $white."<br />";
$posX = $sW - $width;
$posY = $sW;
imagettftext($img, $size, 0, $posX, $posY - 5, $white, $font, $text);
$name = substr($imgName, 0, strlen($imgName) - 4);
$name = $name."-watermarked.jpg";
echo $name."<br />";
echo $img."<br />";
imagejpeg($img, $name);
imagedestroy($img);
}
watermark('gory.jpg', 'napis wodny', 'verdana.ttf', 14);
?>
<img src='gory-watermarked.jpg' />
Zdjęcie jest otwierane, potem jest tworzone gory-watermarked.jpg ale...ale gdy wyświetlam to zdjęcie (albo otwieram w katalogu) to jest bez znaku wodnego. ktoś wie gdzie jest problem?