[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Загрузка и отображение картинки
enoeno
Подскажите как реализовать...
Что хочу сделать...
Картинка показывается только после того, как полностью загрузится. Как избежать это? Т.е. подгружать картинку постепенно с улучшением качества. Изначально всё размыто... а потом всё лучше и лучше до полной загрузки изображения.
Вариант с асинхронной загрузкой в другой слой или <img> нет рассматриваю, так как картинок может быть и 100 и 1000.
Заранее спасибо.



Спустя 3 минуты, 51 секунда (27.07.2009 - 20:27) S{oRpiO написал(а):
ты хоть код выложи чтоб посмотреть как у тебя вообще производится загрузка файла

Спустя 40 минут, 20 секунд (27.07.2009 - 21:07) Guest написал(а):
Код??? Пишу просто что хочу сделать. Пока у меня просто <img src="..."> Я понятно изьяснился чего хочется добиться?

Спустя 3 минуты, 12 секунд (27.07.2009 - 21:10) sergeiss написал(а):
Тему я перенес в другой раздел (Дизайн и верстка), т.к. к ПХП она не имеет отношения никакого.

А по самой теме - насколько я помню, для достижения данного эффекта надо указать опцию lowsrc у image (картинка с низким качеством). Тогда сначала грузится эта картинка, затем она показывается и одновременно грузится картинка с хорошим качеством. Которая будет показана потом, после загрузки.
И я думаю понятно, что лучше сделать обе картики одинакового размера.

Спустя 39 минут (27.07.2009 - 21:49) Guest написал(а):
Да ток вот lowsrc работает ток c Netscape. А мне нуно что б и Опера и ИЕ отображали. И какая же это вёрстка??? Возможно это js, хотя вряд ли, он же на серваке не работает

Спустя 2 часа, 12 минут, 44 секунды (28.07.2009 - 00:02) Nikitian написал(а):
Ещё 3 варианта:
1. Использовать формат jpeg2000. Если не ошибаюсь, то он как раз так и подгружается на медленных соединениях: сперва всё размыто и далее всё более чётче.
2. Сделать в <img> обработчик onload:
HTML
<img src="lowess.jpg" onload="this.src='high.jpg';" />

3. Ещё более извращённый вариант:
HTML
<style>
img{background:url('lowess.jpg') center no-repeat;}
</style>
<img src="high.jpg">

Этот вариант будет для всех картинок сперва подгружать заглушку, а потом уже грузить саму картинку. Т.к. заглушка закешируется, то при уже второй загрузке страницы будет видна разница в загрузке

Спустя 20 часов, 3 минуты, 43 секунды (28.07.2009 - 20:05) Guest написал(а):
только вот есть одно но... Не помню точно кто, но либо ИЕ, либо Опера не понимает у <img> onload. Вчера сделал по 3 варианту. Картинка отображается медленно накладываясь сверху вниз на бэкграунд. Не очень красиво выходит. А вот про jpeg2000 сейчас почитаю. Спасибо за инфу.

Спустя 4 часа, 9 минут, 22 секунды (29.07.2009 - 00:15) Guest написал(а):
Первый способ тоже отпадает. Ни Ие, ни опера, ни мозилла не поддерживают формат jpeg2000. Хотя уже пора бы...
Какие ещё есть идеи?
Вопрос остаётся открытым.

Спустя 32 минуты, 3 секунды (29.07.2009 - 00:47) S{oRpiO написал(а):
AJAX поможет я чтото подобное там встречал...

Спустя 16 минут, 8 секунд (29.07.2009 - 01:03) jetistyum написал(а):
есть метод сжатия самого JPG - (Progressive JPG)
читай вики
http://ru.wikipedia.org/wiki/Jpg
(Варианты хранения)
вот только поддерживает ли ее GD... или придется все ручками пережимать

Спустя 1 минута, 6 секунд (29.07.2009 - 01:04) jetistyum написал(а):
а подгрузка нескольких файлов только усугубит ситуацию, увеличивая трафик ... если сначала один, потом второй, третий, потом оригинал.. да и время загрузки...

Спустя 8 минут, 39 секунд (29.07.2009 - 01:13) PandoraBox2007 написал(а):
Progressive JPEG — такой способ записи сжатого изображения в файл, при котором старшие (низкочастотные) коэффициенты находятся в начале файла. Это позволяет получить уменьшенное изображение при загрузке лишь небольшой части файла и повышать детализацию изображения по мере загрузки оставшейся части.

Функция imageinterlace — Включает и выключает чересстрочное формирование изображения

Синтаксис
PHP
int imageinterlace (resource image [, int interlace])


Используется при создании изображений формата JPEG. Включает (interlace = 1) и выключает (interlace = 0) чересстрочное формирование изображения. При interlace = 1 изображение создается в формате progressive JPEG. Функция возвращает interlace-бит изображения.

Спустя 21 минута, 53 секунды (29.07.2009 - 01:35) kirik написал(а):
PandoraBox2007
Я попробовал только что через imageinterlace() конвертнуть jpeg-картинку в progressive=JPEG - все равно подгружается сверху вниз.. Браузер ФФ3. Кстати вроде бы на picas'е так картинки грузились - сначала в плохом качестве а потом лучше.

Спустя 6 часов, 7 минут, 5 секунд (29.07.2009 - 07:42) Sylex написал(а):
HTML
<img src="1.jpg" onload="this.style.visibility='visible'" style="visibility: hidden">


везде должно работать

Спустя 20 минут, 33 секунды (29.07.2009 - 08:02) kirik написал(а):
Sylex
enoeno хочет чтобы картинка именно подгружалась..

Спустя 9 минут, 7 секунд (29.07.2009 - 08:11) Sylex написал(а):
Цитата (kirik @ 29.07.2009 - 11:02)
Sylex
enoeno хочет чтобы картинка именно подгружалась..

сорри, туплю, я думал наоборот

Спустя 1 год, 1 месяц, 23 дня, 8 часов, 30 минут, 52 секунды (22.09.2010 - 16:42) WP_user написал(а):
Цитата (PandoraBox2007 @ 28.07.2009 - 22:13)
Progressive JPEG — такой способ записи сжатого изображения в файл, при котором старшие (низкочастотные) коэффициенты находятся в начале файла. Это позволяет получить уменьшенное изображение при загрузке лишь небольшой части файла и повышать детализацию изображения по мере загрузки оставшейся части.

Функция imageinterlace — Включает и выключает чересстрочное формирование изображения

Синтаксис
int imageinterlace (resource image [, int interlace])


Используется при создании изображений формата JPEG. Включает (interlace = 1) и выключает (interlace = 0) чересстрочное формирование изображения. При interlace = 1 изображение создается в формате progressive JPEG. Функция возвращает interlace-бит изображения.

Спасибо. Помогло. Осуществлено нашей студией в конструкторе дверей

Спустя 12 дней, 6 часов, 11 минут, 47 секунд (4.10.2010 - 22:54) WP_user написал(а):
Вообще функция удобная, особенно когда нужна частая загрузка изображений при низкой скорости соединения с инетом.

В нашем случае функция незаменима вообще.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.