Использование: imagecopyresized
или imagecopyresampled
$watermark = imagecreatefrompng ('watermark.png');
$watermark_width = imagesx($watermark);
$watermark_height = imagesy($watermark);
// this is an example to resized your watermark to 0.5% from their original size.
// You can change this with your specific new sizes.
$percent = 0.5;
$newwidth = $watermark_width * $percent;
$newheight = $watermark_height * $percent;
// create a new image with the new dimension.
$new_watermark = imagecreatetruecolor($newwidth, $newheight);
// Retain image transparency for your watermark, if any.
imagealphablending($new_watermark, false);
imagesavealpha($new_watermark, true);
// copy $watermark, and resized, into $new_watermark
// change to `imagecopyresampled` for better quality
imagecopyresized($new_watermark, $watermark, 0, 0, 0, 0, $newwidth, $newheight, $watermark_width, $watermark_height);
$_Dim[x] = imageSX($destImage);
$_Dim[y] = imageSY($destImage);
$logo_Dim[x] = imageSX($new_watermark);
$logo_Dim[y] = imageSY($new_watermark);
$x = $_Dim[x] - $logo_Dim[x];
$y = $_Dim[y] - $logo_Dim[y];
imagecopy ($destImage, $new_watermark, $x, $y, 0, 0, $newwidth, $newheight);
imagedestroy ($new_watermark);
Примечание: Я предполагаю, что у вас есть еще imageSX
& imageSY
функции, так как встроенные в функциях во всех случаях: imagesx
& imagesy
.
Редактировать 1: имя функции в php не чувствительно к регистру, но это хорошая практика для вызова функций, как они появляются в их объявлении.
Редактировать 2: Добавить код для сохранения прозрачности.
Все в PHP чувствителен к регистру. Печально, но верно. – miken32
Это работает как шарм. Вы спасли мой вечер, спасибо, cwps. – AlesTom
@ miken32 По крайней мере, это непротиворечиво :-) –