Привет. Я хочу добавить изображение водяного знака с различными позициями, такими как
top-left
,
top-right
,
bottom-left
,
bottom-right
center
.
Admin выберите одну из указанных выше позиций на вкладке setting
.Я использую плагин Orakuploader
, и в этом плагине водяной знак находится в центре загруженного изображения.
Вот код изображения водяного знака дляcenter
позиция:
function addWatermark($watermark, $imageDirectory, $imageName, $x = 0, $y = 0)
{
if(file_exists($watermark))
{
$marge_right = 0;
$marge_bottom = 0;
$stamp = imagecreatefrompng($watermark);
$image_extension = @end(explode(".", $imageName));
switch($image_extension)
{
case "jpg":
$im = imagecreatefromjpeg("$imageDirectory/$imageName");
break;
case "jpeg":
$im = imagecreatefromjpeg("$imageDirectory/$imageName");
break;
case "png":
$im = imagecreatefrompng("$imageDirectory/$imageName");
break;
}
$imageSize = getimagesize("$imageDirectory/$imageName");
$watermark_o_width = imagesx($stamp);
$watermark_o_height = imagesy($stamp);
$newWatermarkWidth = $imageSize[0];
$newWatermarkHeight = $watermark_o_height * $newWatermarkWidth / $watermark_o_width;
if((int)$x <= 0)
$x = $imageSize[0]/2 - $newWatermarkWidth/2;
if((int)$y <= 0)
$y = $imageSize[1]/2 - $newWatermarkHeight/2;
imagecopyresized($im, $stamp, $x, $y, 0, 0, $newWatermarkWidth, $newWatermarkHeight, imagesx($stamp), imagesy($stamp));
switch($image_extension)
{
case "jpg":
header('Content-type: image/jpeg');
imagejpeg($im, "$imageDirectory/$imageName", 100);
break;
case "jpeg":
header('Content-type: image/jpeg');
imagejpeg($im, "$imageDirectory/$imageName", 100);
break;
case "png":
header('Content-type: image/png');
imagepng($im, "$imageDirectory/$imageName");
break;
}
}
}
Как добавить водяной знак с остальными позициями, такими как (top-left
, top-right
, bottom-left
и bottom-right
)?
Очень признателен за вашу помощь.Спасибо