Авторизация

Работа с system makeThumbnail

При переодическом использовании метода makeThumbnail класса system постоянно возникает путаница с параметром flags, дабы решить эту проблему рас и навсегда написана эта статья.

Для теста были взяты следующие картинки:

Название файла: yastreb.png.
Ширина: 700px;
Высота: 400px

Название файла: golub.png.
Ширина: 600px;
Высота: 600px

Название файла: sova.jpg.
Ширина: 500px;
Высота: 600px

flags

Если значения высоты и ширины заданы

Если одно из значений получается автоматически

0 (4)

использовать указанные

% system makeThumbnail(% filepath%,300,300,default,0,4,100)%

% system makeThumbnail(% filepath%,500,300,default,0,4,100)%

% system makeThumbnail(% filepath%,2000,2000,default,0,4,100)%

изменить пропорционально

% system makeThumbnail(% filepath%,300,auto,default,0,4,100)%

% system makeThumbnail(% filepath%,2000,auto,default,0,4,100)%

1

изменить пропорционально (выбрать максимальное изменение)

% system makeThumbnail(% filepath%,300,300,default,0,1,100)%

% system makeThumbnail(% filepath%,500,300,default,0,1,100)%

% system makeThumbnail(% filepath%,2000,2000,default,0,1,100)%

изменить пропорционально

% system makeThumbnail(% filepath%,300,auto,default,0,1,100)%

% system makeThumbnail(% filepath%,2000,auto,default,0,1,100)%

2

использовать указанные

% system makeThumbnail(% filepath%,300,300,default,0,2,100)%

% system makeThumbnail(% filepath%,500,300,default,0,2,100)%

% system makeThumbnail(% filepath%,2000,2000,default,0,2,100)%

при увеличении - использовать исходный размер (не увеличивать)
при уменьшении - уменьшить пропорционально

% system makeThumbnail(% filepath%,300,auto,default,0,2,100)%

% system makeThumbnail(% filepath%,2000,auto,default,0,2,100)%

3

уменьшать пропорционально, иначе использовать заданные значения (не увеличивать)

% system makeThumbnail(% filepath%,300,300,default,0,3,100)%

% system makeThumbnail(% filepath%,500,300,default,0,3,100)%

% system makeThumbnail(% filepath%,2000,2000,default,0,3,100)%

уменьшать пропорционально, иначе использовать исходные значения (не увеличивать)

% system makeThumbnail(% filepath%, 300, auto,default,0,3,100)%

% system makeThumbnail(% filepath%, 2000, auto,default,0,3,100)%

Вывод: Зачастую в практике с помощью makeThumbnail мне нужно создавать из большой картинки маленькую (миниатюру), ещё не разу мне не приходилось делать на сайте увеличенную копию картинки или искажённую миниатюру, так что просто вызвать эту функцию и забыть обо всём, не получится. Придётся доделать под свои нужды.

Для этого существует например такой кастыль

[ Saitadmin.ru || с 2006 по текущий год || Санкт-Петербург || Антон Панченко ]