PHP создать миниатюру вокруг указанной пользователем точки - PullRequest
0 голосов
/ 29 мая 2011

Итак, у меня есть изображение пользователя и указанная пользователем точка интереса на основе этого изображения.

Я извлек эту точку интереса из файла XML и поместил их в переменные, чтобы у меня было 2 балла.

х = 246 у = 73

Мой вопрос: Как я могу обрезать уменьшенное изображение размером 45 на 53 с указанными выше координатами, являющимися центральной точкой эскиза? Я не хочу, чтобы изображение масштабировалось, просто обрежу.

1 Ответ

2 голосов
/ 29 мая 2011

С GD это должно работать следующим образом:

// Open source image
$srcImg = imagecreatefromjpeg ( $filename );

// Create new image for the cropped version
$destImg = imagecreate ( 45, 53 );

// Calculate the upper left of the image-part we want to crop
$startX = x - 45 / 2;
$startY = y - 53 / 2;

// Copy image part into the new image
imagecopy ( $destImg, $srcImg , 0, 0, $startX, $startY, 45, 53 );

// Write the new image with quality 90
imagejpeg($destImg, 'newfile.jpg', 90);

Возможно, вы захотите проверить округленные координаты, поскольку ваше изображение может размыться, если вы этого не сделаете.Вы должны проверить, соответствуют ли ваши координаты обрезанного изображения исходному изображению, если пользователь, скажем, выбирает угол в качестве точки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...