Как обрезать изображение до разрешения клиента перед загрузкой браузером - PullRequest
0 голосов
/ 24 августа 2011

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

Хорошо, вот в чем дело: я пытаюсьнайти серверный скрипт (желательно на PHP), который обрезает изображение (фон) до разрешения экрана клиента перед его загрузкой его браузером.

Моя цель - не загружать браузерчасти изображения, которые не помещаются на его экране.

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

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

Большое спасибо, если вы можете помочь.

1 Ответ

0 голосов
/ 24 августа 2011

Вы не можете сделать это за один шаг. Данные о размере браузера / окна НЕ доступны в стандартных HTTP-запросах. Он должен быть получен с использованием некоторого JavaScript и отправлен на сервер. Это означает, что пользователь должен загрузить страницу с вашего сайта, прежде чем вы сможете узнать что-либо о браузере. Сценарий МОЖЕТ динамически переписывать все теги изображений на странице, чтобы включить спецификации окна в качестве части URL-адреса изображения e.g. src="resizer.php?id=logo.jpg&x=1024&y=768".

Однако помните, что простой размер браузера не является хорошим определением среды отображения. Пользователь мог изменить размер / максимизировать свое окно, и теперь у него есть пустые места по краям фона, потому что он был изменен только до исходного размера окна / рабочего стола. Они могут увеличивать / уменьшать страницу, что снова делает недействительными фактические размеры пикселей и т. Д. *

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

...