2016-11-25 2 views
1

Я хочу сделать вид слайд-шоу, основанный на прокрутке веб-страницы.Webdesign: Ограничения ширины PNG-изображения

Моя проблема заключается в том, что у меня ширина изображения 78720x1015px в png-формате. Ширина изображения определяется одним изображением 1920px, которое 41 раз расположено рядом друг с другом. - Это должно быть как мультфильм, где изображение перемещается на 100% (маржа: -100%) и генерирует ощущение фильма.

Однако это приводит к ширине изображения 1920px x 41pics = 78720px.

Это огромная ширина, но меня интересует, что размер файла составляет всего 975 КБ, что на мой взгляд не так уж и велико !? - Однако для загрузки изображения в Webbrowser требуется очень много времени, и изображение не имеет такого качества, как в моем ImageViewer на рабочем столе.

Вопрос 1: Что я должен учитывать при работе с такой большой шириной изображения? Каковы пределы?

Вопрос 2: Есть ли лучший способ сделать такой вид слайд-шоу? - Считайте, что само скопление не должно быть видимым. Это должно быть как фильм, основанный на 40 картинах.

Заранее благодарен!

ответ

1

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

Однако при загрузке в память устройство должно загрузить все данные этого пикселя в ОЗУ для его отображения. Это почти 80 миллионов пикселей в вашем случае, что составит около 320 МБ несжатых данных. Вероятно, именно поэтому браузер борется, и особенно, если вы используете margin, чтобы переместить его, поскольку для этого требуется полная повторная обратная обработка изображения.

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

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

+0

Спасибо за ваш ответ! Не могли бы вы объяснить последний пункт другими словами ?! - Что я – dramen

+0

Спасибо за ваш ответ! Но, можете ли вы объяснить последний пункт другими словами ?! - Если я правильно понял, изображения будут загружаться отдельно при прокрутке? - Но разве это не приведет к той же проблеме снова, а прокрутка быстрее? Для каждого изображения потребуется большое количество времени, или я ошибаюсь !? – dramen

+0

@dramen Проблема с вашей псевдо-анимацией с единственным гигантским изображением заключается в том, что все изображение должно быть декодировано и сохранено в памяти (как необработанное изображение). Включение отдельных изображений должно помочь, потому что каждое изображение будет декодировано по мере необходимости (и память освобождается, когда это не требуется) – leonbloy

Смежные вопросы