Как обрезать фото квадратом на PHP?

Вот так на GD2 например:

function createsquarethumbnail($filetype, $origfile, $thumbfile, $new_size) {
	$compression = "gd2";
	if ($filetype == 1) { $origimage = imagecreatefromgif($origfile); }
	elseif ($filetype == 2) { $origimage = imagecreatefromjpeg($origfile); }
	elseif ($filetype == 3) { $origimage = imagecreatefrompng($origfile); }

	$old_x = imagesx($origimage);
	$old_y = imagesy($origimage);

	$x = 0; $y = 0;

	if ($old_x > $old_y) {
		$x = ceil(($old_x - $old_y) / 2);
		$old_x = $old_y;
	} elseif ($old_y > $old_x) {
		$y = ceil(($old_y - $old_x) / 2);
		$old_y = $old_x;
	}
	$new_image = imagecreatetruecolor($new_size,$new_size);
	if ($filetype == 3 && $compression != "gd1") {
		imagealphablending($new_image, false);
		imagesavealpha($new_image, true);
	}
	imagecopyresampled($new_image,$origimage,0,0,$x,$y,$new_size,$new_size,$old_x,$old_y);

	if ($filetype == 1) { imagegif($new_image,$thumbfile,100); }
	elseif ($filetype == 2) { imagejpeg($new_image,$thumbfile,100); }
	elseif ($filetype == 3) { imagepng($new_image,$thumbfile,5); }

	imagedestroy($origimage);
	imagedestroy($new_image);
}


Пример:

createsquarethumbnail(3, getcwd()."/photo.png", getcwd()."/photo_box.png", 150);
для PNG например.

Если надо на ImageMagick пишите в комментариях. Прочту сделаю.

Эксперимент с форумами

Как вы знаете я создал хостинг: http://vova1234.com/blog/dev/83.html
Там SSL, вечная лицензия Bill Manager и т.д. Его настройка, баги.

Сегодня настал день чтобы донести о нем людям так как хостинг это не контентный проект где надо только классный уникальный актуальный текст и чтобы поисковики индексировали. Здесь надо по другому делать и я начал постить на разные форумы по запросу: хостинг.

Целый день постил. Форумов где то в районе 70 обошел. С 5 выбранных в 1 вообще можешь зарегистрироваться. То каптча сломана, то ответ на вопрос не работает, то потом слетает кодировка или {SITE_NAME} и прочее не парсерится в локалях.
У некоторых например надо набить 100 сообщений чтобы создать или написать ответ в разделе «хостинг». Еще тупость это когда как гость может зайти на профиль, а когда регистрируется пишет что ограничения на просмотр, такое тоже встречал. А еще есть такое: Размер файла аватары должен находиться в диапазоне от 0 до 6 КБ. Или например чтобы автарка была точно на 90*90 и не более 50КБ. Это ВООБЩЕ, у них нет денег на место или это издевательство над пользователями? Сервера на 1 ТБ и больше стоят как раз где то поесть в какой то забегаловке. Не ужели не можно сделать как у нормальных сайтов что залил изображение, оно автоматически обрезало квадратную аватарочку? Почему еще просят чтобы было например только в .JPG? Это же не формат, а ужас. Лучший формат для web это PNG. Он более четкий и смотрится плавно, в нем нет искажения как в JPG.

А есть такие что с радостью разрешают публиковать и даже не возникают и не банят я рад за таких, им успеха и процветания, у них даже хостинг в OVH. Но есть и исключения.

Это была очень хорошая проверка форумов на пригодность. Для себя сделал хорошие выводы какие раньше не замечал.