Форум: "Media";
Текущий архив: 2006.08.20;
Скачать: [xml.tar.bz2];
ВнизУскорение слайд-шоу Найти похожие ветки
← →
sco © (2006-02-20 13:50) [0]Я делаю слайд-шоу, и у меня проблема со скоростью. Я юзаю FastLib, вот мой код:
Temp:=TBitMap.Create;
LoadBmpFromJpegFile(temp,DataDir+
NowData[LoadPosition-1].fileName,true);
Temp.SaveToFile("temp.bmp");
Temp.Free;
Image.BilinearResize:=false;
Image.LoadFromFile("temp.bmp");
Image.BilinearResize:=true;
Ну если просто смотреть слайд-шоу то проблем нет, но если быстро прокручивать рисунки, то прога конкретно не успевает за юзером. Причина: FastImage не умеет следущие вещи:
Assign(BitMap)
LoadFromFile(jpgImage)
Там ваще странный какой-то тип. В общем вопрос: как мне реализвать быструю прокрутку, но только если решение: показывать картинку вначале плохого качества а потом хорошего, то как ето реализовать чтобы работало ( я что то плохо представляю ). Ну и надо чтобы если юзер решил не мотать, а смотреть то картинка должна быть: Image.BilinearResize:=true;
← →
Jeer © (2006-02-20 14:32) [1]Тебе надо, ты и напиши улучшенный FastImage.
Раздай и многие скажут спасибо.
← →
Sapersky (2006-02-20 16:20) [2]Рекомендую вообще забыть о FastImage. Автор, во всяком случае, забыл - в последней версии FastLIB"а он отсутствует:
http://prdownloads.sourceforge.net/skinner/FastLib.zip?download
Там же пример отображения FastDIB обычным TImage"ем. Но лучше рисовать (и делать нужное масштабирование) вручную по OnPaint.
Или, если совсем уж никак, переписать Bilinear для TBitmap. Там и менять практически ничего не надо, Width, Height, Scanline есть и у того, и у другого. Ну объявить ещё PLine24, PFColor.
← →
Jeer © (2006-02-20 16:52) [3]Sapersky (20.02.06 16:20) [2]
"Как много нам открытий чудных, готовит просвещенья дух"
← →
Fenik © (2006-02-20 20:13) [4]FastLib в данном случае практически не играет роли ускорителя. Он нужен для ускорения только при попиксельной обработке.
Вся фишка в том, что картинка, следующая за показанной, должна кэшироваться. И когда юзер перелистывает, она просто рисуется из памяти и тут же загружается следующя за ней. И, если волнует скорость, то ни в коем случае не юзать стандартный JPEG.pas, а взять библиотеку от Intell.
← →
Fenik © (2006-02-20 20:25) [5]А, ну если BilinearResize, то да..
← →
Sapersky (2006-02-21 14:20) [6]"Как много нам открытий чудных, готовит просвещенья дух"
Надеюсь, это не означает, что я ляпнул какую-то глупость и следует срочно просветиться? :)
Вся фишка в том, что картинка, следующая за показанной, должна кэшироваться.
Угу, ему это уже советовали раза 2 или 3. Теперь будет 4 :)
Ещё c помощью IJL можно грузить jpeg по частям, с отображением загруженных частей в процессе загрузки. ACDSee (смотрел 6-ю версию) совмещает этот метод с "кэшированием" - заметно на первой картинке, или на всех, если отключить "кэширование".
← →
Jeer © (2006-02-21 15:47) [7]Sapersky (21.02.06 14:20) [6]
Конечно нет, все правильно написал.
Это для автора вопроса - много новых и незнакомых слов проявилось при описании такой простой задачки.
Предстоит ознакомиться.
Ему.
Страницы: 1 вся ветка
Форум: "Media";
Текущий архив: 2006.08.20;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.048 c