$image // resource исходного изображения
$watermark // resource водяного знака
$xi = imagesx($image); // ширина исходного
$yi = imagesy($image); // высота исходного
$xw = imagesx($watermark); // ширина марки
$yw = imagesy($watermark); // высота марки
$newx = $xi / 2 - $xw / 2; // x координата наложения
$newy = $yi / 2 - $yw / 2; y координата наложения
// Вроде у вас так же
imagecopyresampled(
$image,
$watermark,
$newx,
$newy,
0,
0,
$xw,
$yw,
$xw,
$yw
);
Да и тут вроде тоже
Александр Андропов, пока писал, понял что тоже самое, размер водяного знака по какой то стороне больше возможно
Чтоб положить два разных размера по середине, надо совместить оба центра картинок. Сначала ищем центр, потом делаем поправку на размер меньшего.
Сейчас попробую написать как должно быть
Александр Андропов, ну а зачем вам imagecopy? Смысл такой, найти две координаты, левая верхняя точка, откуда будет накладываться марка.
Если как вы будете делить пополам, оно будет смещено на юго-восток
Hemul GM, ну там не обязательно должны быть абстрактные методы, общие методы вполне могут жить, простая сигнатура метода может вполне быть в интерфейсе, если что я про php
Ну как минимум надо ещё учитывать размеры изображения водяного знака, то есть по оси у мы делим на пополам и прибавляем половину высоты водяного знака, ну и для х оси тоже самое
Не поверю, что за три дня не смогли победить не одним способом из пописанных, надо стараться лучше, а не бросать на середине, то же 21 порт легко открыть
Александр Андропов, пока писал, понял что тоже самое, размер водяного знака по какой то стороне больше возможно