Доброго времени суток друзья. Накладываю водяной знак на загружаемые изображения через форму. Пытаюсь оцентровать водяной знак, чтобы вне зависимости от загружаемого изображения, водяной знак ложился по центру. Делаю так: PHP: <?php $sx = imagesx($watermark); $sy = imagesy($watermark); $imgg = imagecreatefromstring(file_get_contents($tmp_name)); imagecopy($imgg, $watermark, (imagesx($imgg) / 2) - (($sx) / 2), (imagesy($imgg) / 2) - (($sy) / 2), 0, 0, imagesx($watermark), imagesy($watermark)); ?> Но в итоге так не выходит. В итоге для изображений с вертикальной ориентацией, видна только середина водяного знака, права и левая часть обрезается. Подскажите пожалуйста как правильно сделать, чтобы вне зависимости от размера изображения, водяной знак был строго по центру (по высоте и ширине). Спасибо.
PHP: <?php $im = new stdclass; $im -> logo = imagecreatefrompng ( 'logo.png' ); $x = imagesx ( $im -> logo ); $y = imagesy ( $im -> logo ); #-------- $im -> watermark = imagecreatefrompng ( 'watermark.png' ); imagecopyresampled ( $im -> logo, $im -> watermark, ( int ) ceil ( ( $x - imagesx ( $im -> watermark ) ) / 2 ), ( int ) ceil ( ( $y - imagesy ( $im -> watermark ) ) / 2 ), 0, 0, imagesx ( $im -> watermark ), imagesx ( $im -> watermark ), imagesx ( $im -> watermark ), imagesy ( $im -> watermark ) ); imagepng ( $im -> logo, 'new.png' ); foreach ( [ 'logo', 'watermark' ] AS $name ) { imagedestroy ( $im -> {$name} ); } Посмотреть вложение 4456