Изображения и их обработка

Соглашение об именах файлов.

Загружаемые на сайт файлы должны иметь имена, состоящие из латинских букв, арабских цифр, символов подчеркивания "_" и символа минус "-". Если вы загружаете файл, в имени которого встречаются символы кириллицы и пробелы, то загрузчик переименовывает файл, заменяя пробелы на подчеркивание, и проводя транслитерацию букв.

Все файлы, которые загружаются в систему управления сайтом, включая неграфические документы (doc, rtf, pdf, xls и т.д.) сохраняются в папках файловой системы сервера. Для каждого загруженного файла создается запись в базе данных, то есть блок в терминах CMS UlterSuite. Блок относится к тому разделу каталога файлов, в котором блок добавляется при загрузке файла. Номер раздела (id) определяет адрес папки, в которую попадает загруженный файл, следующим образом "/www/images/upload/id раздела в каталоге/ru/". В блок записывается информация о файле: место в файловой системе, подпись для файла, размер файла в байтах, размеры картинки, если файл графический (jpeg, jpg, gif или png) и комментарий.

Ограничение размеров изображений.

При выводе картинок на страницы сайта они ограничиваются в размерах по ширине. По высоте обычно ограничений нет. Это связано со стремлением избежать в окне браузера горизонтальных прокруток из-за растягивания страниц большими (широкими) картинками. Горизонтальные прокрутки крайне неудобны для посетителей сайта. К вертикальным прокруткам претензий обычно не предъявляется, поскольку люди к ним привыкли, да и колесики на мышках служат сглаживанию этой проблемы.

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

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

После первого сжатия обработанная картинка сохраняется в той же папке, что и оригинал. Соответственно при последующих обращениях посетителей к картинкам обработка не производится, то есть сервер не нагружается.

Управление ресайзом.

Для изменения размеров картинки достаточно в ее адресе заменить слово "/images/" на "/rimages/", а после имени перед точкой, за которой идет расширение имени файла "jpg" или "jpeg", дописать следующую строку "_WxH", где:

Если высота или ширина отсутствует, то второй размер изменяется пропорционально первому. Например, для картинки "aaa.jpg", у которой соотношение сторон составляет 4 к 3 с исходными размерами 2048 пикселей ширина и 1536 пикселей высота, следующие варианты записи будут эквивалентны: "aaa_400x.jpg", "aaa_x300.jpg" и "aaa_400x300.jpg".