phpThumb(), параметры и возможности
Отредактировано: 19 Февраля 2019
phpThumb() использует библиотеку GD для создания миниатюр из изображений (JPEG, PNG, GIF, BMP и т. д.) на лету. Размер вывода настраивается (может быть больше или меньше, чем источник), источником может быть все изображение или только часть исходного изображения.
Официальный сайт библиотеки phpThumb
Параметры phpThumb():
-
src — имя файла исходного изображения.
-
new — создать новую картинку, не миниатюру из существующего изображения. Требует набор параметров "w" и "h". Пример: &new=FF0000|75 — красный background, 75% opacity. Для фона устанавливаются цвета в формате hex. Параметр Opacity опциональный, по умолчанию 100%.
-
w — максимальная ширина выходной миниатюры в пикселях.
-
h — максимальная высота выходной миниатюры в пикселях.
-
wp — максимальная ширина для портретных изображений.
-
hp — максимальная высота для портретных изображений.
-
wl — максимальная ширина для пейзажных изображений.
-
hl — максимальная высота для пейзажных изображений.
-
ws — максимальная ширина для квадратных изображений.
-
hs — максимальная высота для квадратных изображений.
-
f — формат изображения после обработки ("webp", "jpeg", "png", or "gif").
-
q — компрессия JPEG (качество) (1 = наихудшее, 95 = отличное, 75 = по умолчанию)
-
sx — left side of source rectangle (по умолчанию: 0) (values 0 < sx < 1 represent percentage)
-
sy — top side of source rectangle (по умолчанию: 0) (values 0 < sy < 1 represent percentage)
-
sw — width of source rectangle (по умолчанию: fullwidth) (values 0 < sw < 1 represent percentage)
-
sh — height of source rectangle (по умолчанию: fullheight) (values 0 < sh < 1 represent percentage)
-
zc — масштабирование при обрезке (zoom-crop). С авто кропом, будет обрезаться по большему размеру, чтобы изображение заполняло меньший размер (требует указания обоих параметров "w" и "h", переопределяет "iar", "far"). Установка значения в "1" или "C" зум-кропит к центру, значения "T", "B", "L", "R", "TL", "TR", "BL", "BR" стремяться в top/left/bottom/right направлениях (необходим ImageMagick для значений отличных от "C" или "1")
-
bg — цвет фона в hex (default: FFFFFF).
-
bc — цвет границы hex (default: 000000).
-
fltr — система фильтров. Вызывается в виде массива со следующими параметрами:
-
"brit" (Brightness | Яркость ) [ex: &fltr[]=brit|<value>] где <value> это значение +/- регулиовки яркости (range -255 to 255). Доступно в PHP5 в связке с GD.
-
"cont" (Constrast | Контрастность) [ex: &fltr[]=cont|<value>] где <value> это значение +/- регулиовки контраста (range -255 to 255) Доступно в PHP5 в связке с GD.
-
"gam" (Gamma Correction | Гамма-корекция) [ex: &fltr[]=gam|<value>] где <value> может быть числом от 0.01 до 10 (default 1.0) Должен быть больше 0 (0 не дает эффекта). Тут нет максимума, но числа выше 10 достаточно бесполезны. Отрицательные числа тоже делают кое-что, возможно не совсем желаемый эффект, но тем не менее интересный.
-
"sat" (SATuration | Насыщенность) [ex: &fltr[]=sat|<value>] где <value> это число между нулем (no change) и -100 (полностью десатурированный — черно-белое изображение), или это может быть положительным числом, для повышения яркости.
-
"ds" (DeSaturate | Обесцвечивание) [ex: &fltr[]=ds|<value>] псевдоним для "sat" кроме значений инвертированных (положительные значения удаляют цвет, отрицательные значения повышают насыщенность)
-
"gray" (Grayscale | Оттенки серого) [ex: &fltr[]=gray] убирает все цвета с изображения, отображая его состоящим из оттенков серого.
-
"th" (Threshold | Уровни) [ex: &fltr[]=th|<value>] делать изображение черно-белым, затем делает все пиксели ярче, чем <value> (в промежутке от 0 до 255) для белого, и все пиксели темнее чем <value> для черного.
-
"rcd" (Reduce Color Depth | Уменьшить глубину цвета) [ex: &fltr[]=rcd|<c>|<d>] где <c> это количество цветов (2-256) которое вы хотите получить в итоговом изображении, и <d> это "1" для размытия (deault) or "0" для отсутствия размытия.
-
"clr" (Colorize | Наложение цвета) [ex: &fltr[]=clr|<value>|<color>] где <value> числа между 0 и 100 процент раскрашивания, а <color> цвет в шестнадцатеричном формате (hex) в который надо раскрасить.
-
"sep" (Sepia | Сепия ) [ex: &fltr[]=sep|<value>|<color>] where <value> число между 0 и 100 означающее силу окраски (default=50), и <color> это цвет в формате hexв который надо окрасить (по умолчанию: A28065). Примечание: это происходит по-разному, когда применяется ImageMagick, в этом случае 80 по умолчанию, и более низкие значения дают более яркие / желтые изображения, а более высокие значения дают более темные / более голубые изображения.
-
"usm" (UnSharpMask | Усиление резкости) [ex: &fltr[]=usm|<a>|<r>|<t>] где:
-
<a> это значение (по умолчанию: 80, диапазон: 0-255),
-
<r> это радиус (по умолчанию: 0.5, диапазон: 0.0-10.0),
-
<t> это предел (по умолчанию: 3, диапазон: 0-50).
-
-
"blur" (Blur | Размытие) [ex: &fltr[]=blur|<radius>] где (0 < <radius> < 25) (по умолчанию: 1).
-
"gblr" (Gaussian Blur | Размытие по Гаусу) [ex: &fltr[]=gblr] Доступно в PHP5 только в комплекте с GD.
-
"sblr" (Selective Blur | Избирательное размытие) [ex: &fltr[]=gblr] Доступно в PHP5 только в комплекте с GD.
-
"smth" (Smooth | Сглаживание) [ex: &fltr[]=smth|<value>] где <value> отягощающее значение для матрицы (диапазон от -10 до 10, по умолчанию 6) Доступно в PHP5 только в комплекте с GD.
-
"lvl" (Levels | Уровни) [ex: &fltr[]=lvl|<channel>|<method>|<threshold> где:
-
<channel> может быть одним из 'r', 'g', 'b', 'a' (цветовая схема Red, Green, Blue, Alpha), или '*' для всех RGB каналов (по умолчанию) на основе среднего оттенка серого. ImageMagick методы могут поддерживать несколько каналов (eg "lvl|rg|3") но внутренние методы не могут (они будут использовать первый символ строки в качестве канала)
-
<method> может быть одним из: 0 = Internal RGB; 1 = Internal Grayscale; 2 = ImageMagick Contrast-Stretch (default) 3 = ImageMagick Normalize (may appear over-saturated)
-
<threshold> сколько ярких / темных пикселей будет вырезано в процентах (по умолчанию — 0.1%). Использование параметров по умолчанию (&fltr[]=lvl) похож на Автоконтраст в Adobe Photoshop.
-
-
"wb" (White Balance | Баланс белого) [ex: &fltr[]=wb|<c>] где <c> — это цвет в формате hex для определения баланса белого, этот цвет — то, что «должно быть» белым или светло-серым. Фильтр пытается поддерживать яркость, поэтому теоретически можно использовать любой серый цвет. Если <c> опущен, фильтр угадывает на основе самых ярких пикселей в каждом из RGB. ИЛИ <c> может быть процентом отсечения белого, используемого для расчета автоматического баланса белого (по умолчанию - 0,1%). ПРИМЕЧАНИЕ: «wb» в настройках по умолчанию уже дает эффект, аналогичный «lvl», обычно нет необходимости использовать «lvl», если «wb» уже используется.
-
"hist" (Histogram | Гистограмма) [ex: &fltr[]=hist|<b>|<c>|<w>|<h>|<a>|<o>|<x>|<y>] Где:
-
<b> — цветная(ые) полоса(ы) для отображения с зада на перед (один или несколько из «rgba *» для Red Green Blue Alpha и Grayscale соответственно);
-
<c> — разделенный точками с запятой список hex цветов, используемых для каждой полосы графика (по умолчанию FF0000, 00FF00, 0000FF, 999999, FFFFFF соответственно);
-
<w> и <h> — ширина и высота наложенной гистограммы в пикселях или, если <= 1, то процент от ширины / высоты исходного изображения;
-
<a> — выравнивание (такое же, как для "wmi" и "wmt");
-
<o> — непрозрачность от 0 (прозрачная) до 100 (непрозрачная) (требуется PHP v4.3.2, в противном случае - 100% непрозрачная);
-
<x> и <y> — край(я) в пикселях (или процент, если 0 <(x | y) <1).
-
-
"over" (OVERlay / underlay image | Наложение) накладывает изображение на эскиз или накладывает эскиз на другое изображение (например, для создания рамки изображения) [ex: & fltr [] = over | <i> | <u> | <m> | <o>] где:
-
< i> — имя файла изображения;
-
<u> — это «0» (по умолчанию) для наложения изображения поверх эскиза или «1» для наложения эскиза поверх изображения;
-
<m> — это поле может быть в абсолютных пикселях или если < 1 - это процент от размера эскиза [должно быть < 0,5] (по умолчанию 0 для наложения и 10% для наложения);
-
<o> — непрозрачность (0 - прозрачный, 100 - непрозрачный) (требуется PHP v4.3.2, в противном случае — 100% непрозрачный);
-
-
"wmi" (WaterMarkImage | Водяной знак из изображения) [ex: &fltr[]=wmi|<f>|<a>|<o>|<x>|<y>|<r>] где:
-
<f> — имя файла изображения для наложения;
-
<a> — выравнивание (одно из следующих: BR, BL, TR, TL, C, R, L, T, B, *), где B = низ, T = верх, L = слева, R = справа, C = центр, * = плитка) * or * абсолютная позиция в пикселях (от верхнего левого угла холста до верхнего левого угла наложения) в формате {xoffset} x {yoffset} (например: «10x20») примечание: это центральная позиция изображения, если <x> и <y> установлены.
-
<o> — непрозрачность от 0 (прозрачный) до 100 (непрозрачный) (требуется PHP v4.3.2, в противном случае — 100% непрозрачный);
-
<x> и <y> — граничное (и промежуточное) поле в пикселях (или процентах, если 0 <(x | y) <1) * или *, если <a> — формат абсолютной позиции, тогда <x> и <y> представляет максимальную ширину и высоту, на которую изображение водяного знака будет масштабировано, чтобы поместиться внутрь;
-
<r> — угол поворота наложенного водяного знака.
-
-
"wmt" (WaterMarkText | Водяной знак из текста) [ex: &fltr[]=wmt|<t>|<s>|<a>|<c>|<f>|<o>|<m>|<n>|<b>|<O>|<x>] где:
-
<t> — текст для использования в качестве водяного знака; URLencoded Unicode HTMLentities должен использоваться для символов, кроме chr (127). Например, символ «восьмая нота» (U + 266A) представлен как «♪», а затем кодируется в формате «%26%239834%3B». Любой экземпляр метасимволов будет заменен их вычисленным значением. В настоящее время поддерживается:
-
^ Fb — размер файла исходного изображения в байтах.
-
^ Fk — размер файла исходного изображения в килобайтах.
-
^ Fm — размер файла исходного изображения в мегабайтах.
-
^ X — ширина исходного изображения в пикселях.
-
^ Y — высота исходного изображения в пикселях.
-
^ x — ширина эскиза в пикселях.
-
^ y — высота миниатюры в пикселях.
-
^^ — символ ^.
-
-
<s> — это размер шрифта (1-5 для встроенного шрифта или размер точки для шрифтов TrueType);
-
<a> — выравнивание (одно из следующих: BR, BL, TR, TL, C, R, L, T, B, * где B = низ, T = верх, L = слева, R = справа, C = центр, * = плитка); примечание: * не работает для встроенного шрифта "wmt" * или * абсолютной позиции в пикселях (от верхнего левого угла холста до верхнего левого угла наложения) в формате {xoffset} x {yoffset} (например: «10x20»)
-
<c> — цвет текста в формате hex;
-
<f> — имя файла TTF-файла (необязательно, если не указан, будет использован встроенный шрифт);
-
<o> — непрозрачность от 0 (прозрачная) до 100 (непрозрачная) (требуется PHP v4.3.2, в противном случае — 100% непрозрачная);
-
<m> — это край (и интервал) в процентах;
-
<n> — угол;
-
<b> — цвет фона в формате hex;
-
<O> — непрозрачность фона от 0 (прозрачная) до 100 (непрозрачная) (требуется PHP v4.3.2, в противном случае - 100% непрозрачная);
-
<x> — это направление(я), в котором фон расширяется («x» или «y» (или оба, но оба они затеняют все изображение)). Примечание: работает только со шрифтами TTF, а не со встроенными.
-
-
"flip" [ex: &fltr[]=flip|x or &fltr[]=flip|y] отражение изображения по оси X или Y.
-
"ric" [ex: &fltr[]=ric|<x>|<y>] скругление углов изображения (to transparent for PNG output), где <x> горизонтальный радиус криой, а <y> вертикальный.
-
"elip" [ex: &fltr[]=elip] похоже на скругление углов но более глубокий.
-
"mask" [ex: &fltr[]=mask|filename.png|<i>] Значения маски в оттенках серого применяются в качестве альфа-канала к основному изображению. Белый непрозрачный, черный прозрачный, если параметр <i> (инвертировать) не установлен в 1, в этом случае черный непрозрачный и белый прозрачный.
-
"bvl" (BeVeL | Наклон) [ex: &fltr[]=bvl|<w>|<c1>|<c2>] где:
-
<w> — ширина скоса,
-
<c1> — цвет в формате hex для верхнего и левого оттенков,
-
<c2> — цвет в формате hex для нижнего и правого оттенков.
-
-
"bord" (BORDer | Рамка) [ex: &fltr[]=bord|<w>|<rx>|<ry>|<c> где:
-
<w> — ширина в пикселях,
-
<rx> и <ry> — горизонтальные и вертикальные радиусы для закругленных углов,
-
<c> — цвет в формате hex для границы.
-
-
"fram" (FRAMe | Рамка) рисует рамку, похоже на "bord" но более настраиваемая [ex: &fltr[]=fram|<w1>|<w2>|<c1>|<c2>|<c3>] где:
-
<w1> — ширина главной границы,
-
<w2> — ширина каждой стороны скосной части,
-
<c1> — цвет в формате hex для главной границы,
-
<c2> — цвет фаски подсветки, <c3> цвет фаски тени.
-
-
"drop" (DROP shadow | Отбрасывание тени) [ex: &fltr[]=drop|<d>|<w>|<clr>|<a>|<o>] где:
-
<d> — расстояние от изображения до тени,
-
<w> — ширина затенения тени (еще не реализовано),
-
<clr> — цвет в формате hex для тени,
-
<a> — угол тени (по умолчанию = 225),
-
<o> — непрозрачность (0 = прозрачный, 100 = непрозрачный, по умолчанию = 100) (еще не реализовано).
-
-
"crop" (CROP image | Обрезка изображения) [ex: &fltr[]=crop|<l>|<r>|<t>|<b>] где <l> — количество пикселей для обрезки с левой стороны измененного размера изображения; <r>, <t>, <b> для правого, верхнего и нижнего соответственно. Где (0 <x <1) значение будет использоваться в процентах от ширины / высоты. Левый и верхний обрезки имеют приоритет над правым и нижним значениями. Кадрирование будет ограничено таким образом, чтобы всегда оставался как минимум 1 пиксель ширины и высоты.
-
"rot" (ROTate | Поворот) [ex: &fltr[]=rot|<a>|<b>] где:
-
<a> — угол поворота в градусах;
-
<b> — цвет в формате hex для фона. Аналогичен обычному параметру "ra", но применяется в порядке фильтра после обычной обработки, поэтому вы можете вращать результирующие данные других фильтров.
-
-
"size" (reSIZE | Изменение размера) [ex: &fltr[]=size|<x>|<y>|<s>] где:
-
<x> — горизонтальное измерение в пикселях,
-
<y> — вертикальное измерение в пикселях,
-
<s> — логическое значение: растянуть (если 1) или пропорционально изменить размер (0, по умолчанию) <x>, и <y> будет интерпретироваться как процент от текущего размера итогового изображения, если значения (0 <X <1).
-
ПРИМЕЧАНИЕ: НЕ используйте этот фильтр, если это не является абсолютно необходимым. Он предусмотрен только для случаев, когда другие фильтры должны иметь абсолютное позиционирование на основе исходного изображения, а результирующее изображение должно быть изменено после применения других фильтров. Этот фильтр менее эффективен, чем стандартные процедуры изменения размера.
-
-
"stc" (Source Transparent Color | ) [ex: &fltr[]=stc|<c>|<n>|<x>] где:
-
<c> — цвет в формате hex для целевого цвета, который нужно сделать прозрачным;
-
<n> — минимальное пороговое значение в процентах (все пиксели в пределах <n> % целевого цвета будут прозрачными на 100%, по умолчанию <n> = 5);
-
<x> — максимальный порог в процентах (все пиксели, превышающие <x> % от целевого цвета, будут непрозрачными на 100%, по умолчанию <x> = 10); пиксели между двумя порогами будут частично прозрачными.
-
-
-
md5s — MD5 хэш исходного изображения — если этот параметр передается вместе с хешем исходного изображения, то исходное изображение не проверяется на наличие или изменение, и используется кэшированный файл (если имеется). Если 'md5s' передается как пустая строка, phpThumb.php прекращает работу и выдает правильное MD5 хеш-значение. Этот параметр является однофайловым эквивалентом параметров конфигурации 'cache_source_filemtime_ignore_ *'.
-
xto — использовать только миниатюры EXIF: извлекать EXIF миниатюры, и не делать какой-либо дополнительной обработки.
-
ra — Поворот на угол (Rotate by Angle): угол поворота в градусах
-
положительный — против часовой стрелки;
-
отрицательный — по часовой стрелке.
-
-
ar — авто поворот (Auto Rotate): установка "x" использует EXIF ориентацию сохранённую камерой. Можно также установить «l» или «L» для пейзажа, или «p» или «P» для портрета. «l» и «P» поворачивают изображение по часовой стрелке, «L» и «p» поворачивают изображение против часовой стрелки.
-
sfn — номер кадра источника (Source Frame Number): используйте этот номер кадра / страницы для многокадровых / многостраничных исходных изображений (GIF, TIFF и т. д.).
-
aoe — разрешить увеличение изображения (Output Allow Enlarging) — переопределить настройку для $CONFIG['output_allow_enlarging'] (1 = вкл, 0 = выкл) ("far" и "iar" оба переопределяют это и позволяют итоговое изображение больше, чем вводное).
-
iar — (Ignore Aspect Ratio) — отключить пропорциональное изменение размера и растянуть изображение, чтобы соответствовать "h" & "w" (оба параметра должны быть установлены). (1=on, 0=off) (overrides "far")
-
far — принудительное соотношение сторон (Force Aspect Ratio) — изображение будет создано в размере, указанном в «w» и «h» (оба из которых должны быть установлены). Выравнивание: L = слева, R = справа, T = сверху, B = снизу, C = по центру BL, BR, TL, TR используйте соответствующее направление, если изображение является альбомным или портретным.
-
dpi — точек на дюйм (Dots Per Inch): настройка DPI при импорте из векторного формата изображения, такого как PDF, WMF и т. д.
-
sia — сохранить как (Save Image As): имя файла задающееся по умолчанию для сохранения сгенерированного изображения. Укажите базовое имя файла, а расширение (например: ".png") будет добавлено автоматически.
-
maxb — (MAXimum Byte size) — качество итогового изображения автоматически устанавливается так, чтобы миниатюра помещалась в байты «maxb» (качество сжатия настраивается для JPEG, глубина в битах настраивается для PNG и GIF).
-
down — имя файла для сохранения изображения. Если этот параметр установлен, браузер предложит сохранить это имя файла, прежде чем отобразить изображение.
Устаревшие:
-
file — если установлено, миниатюра будет отображаться в это имя файла, а не выводиться и не кэшироваться. (Устаревшее. По умолчанию отключено начиная с v1.6.0, недоступно в v1.7.5 и более поздних версиях. Вместо этого вы должны создать свой собственный объект).
-
goto — URL-адрес для перенаправления после рендеринга изображения в файл * Должен начинаться с "http: //" * Требуется набор параметров файла (устарело. Отключено по умолчанию начиная с версии 1.6.0, недоступно в версии 1.7.5 и более поздних. Вместо этого следует создать собственный объект).
-
err — пользовательское имя файла с изображением ошибки вместо того, чтобы показывать сообщения об ошибках (устарело. Отключено по умолчанию начиная с версии 1.6.0, недоступно в версии 1.7.5 и более поздних. Вместо этого следует создать экземпляр собственного объекта).