О сайтах и не о сайтах

Теперь и в tg!

tg

Переехал с твиттера на t.me/tulvit_blog, если что.

Функции ресайза изображений в PHP

Иногда так бывает, что из года в год постоянно пользуешься чем-то не тем. Ну или тем, но не так. Подсмотрел где-то не совсем корректный пример. Перенял чужой опыт, опять же не совсем корректный. А подумать забыл. И понеслось.

Собственно, о резайзе картинок средствами библиотечки GD. В ней для ресайза доступны две функции: imagecopyresized() и imagecopyresampled(), с одинаковыми аргументами и возвращаемым значением.
И в подавляющем большинстве случаев для ресайза изображений надо использовать именно вторую функцию. Да, она работает сильно медленней, но и алгоритмы использует сложней (smoothly interpolating pixel values ... retains a great deal of clarity ... blah-blah-blah). За что и любим.

А imagecopyresized() выдает изображения зачастую с неприемлемо низким качеством. На вскидку даже не придумать, где использование данной функции было бы уместным. И вот именно ее я почему-то повсеместно и применял последние n лет, даже не задумываясь о наличии альтернативы.