Выбрать главу

Мораль сей басни такова: не имеет никакого смысла использовать изображения с числом пикселей, превышающим размер экрана. Эти изображения будут медленно переноситься на устройство, потребуют использования больших объемов памяти для их загрузки и сохранения, и в любом случае должны будут урезáться до размеров, соответствующих размерам экрана мобильного устройства. Лучше всего согласовываться с размерами экранов доступных устройств и выбирать такие размеры изображений, которые соответствуют размерам рабочего пространства. Если в приложении предусмотрен элемент управления PictureBox, размеры которого должны составлять 120×120 пикселей, то использовать следует изображения с такими же размерами.

Размеры большинства реальных изображений значительно превышают те, при которых еще возможна эффективная работа с мобильными устройствами. Каким же образом можно устранить такую нестыковку? Здесь мы имеем дело с ситуацией, которая предоставляет великолепные условия для выполнения части работы вне устройства, чтобы тем самым улучшить производительность самого устройства. Если изображения, которые представляют интерес, являются статическими и известны уже на стадии проектирования, то их необходимо уменьшить до размеров, соответствующих фактическим значениям разрешения экранов устройств, на которых вы собираетесь их отображать. Если же приложение работает с динамическими изображениями, то они должны масштабироваться на сервере. При необходимости сервер может осуществлять загрузку крупных изображений и их масштабирование до размеров, соответствующих размерам экрана устройства, в динамическом режиме, однако с многих точек зрения гораздо эффективнее выполнить эту работу только один раз и кэшировать результаты на сервере для их последующего многократного использования. Поскольку изображения, приведенные в соответствие с устройствами, имеют небольшие размеры, то для хранения их на сервере вместе с исходными полномасштабными изображениями потребуется выделить лишь незначительное по объему дополнительное место в хранилище. Проще всего это сделать на том этапе, когда изображения загружаются на сервер.

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

Уменьшение размера файла: достижение баланса между степенью сжатия и разрешением изображения

Для уменьшения размеров файлов цифровых изображений используют три способа:

1. Снижение разрешения. Суть этого способа заключается в уменьшении фактического количества пикселей, составляющих изображение. Если в Windows XP войти в программу Paint, выбрать в меню Рисунок пункт Растянуть/наклонить и уменьшить изображение до 50% его первоначальной ширины, то количество пикселей в изображении уменьшится наполовину. Уменьшив далее изображение до 50% его первоначальной высоты, вы еще раз уменьшите его разрешение в два раза. Теперь количество пикселей в полученном изображении будет составлять 25% от первоначального (0,5×0,5 = 0,25). Уменьшение количества пиксельных данных, подлежащих сохранению, означает уменьшение общего размера изображения.

2. Выбор наиболее подходящего формата файлов. Различные разновидности распространенных файловых форматов отличаются друг от друга своей способностью сжимать различные изображения. Одни форматы хорошо подходят для фотографий (множество цветовых оттенков, мало резких границ), другие больше всего пригодны для сохранения компьютерной графики (резкие границы изображений, небольшое количество цветовых оттенков). В некоторых форматах сжатие изображений вообще не применяется. Выбор наиболее подходящего формата позволит обеспечить наилучшее качество изображения при минимальном размере.