Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.10.23;
Скачать: CL | DM;

Вниз

Bitmap.LoadFromFile (Progress)   Найти похожие ветки 

 
SMATMP ©   (2005-09-15 12:54) [0]

Уважаемые мастера! Возможно ли проследить процент загрузки графического фала в TImage (скажем в TProgressBar или TGauge)? Не могу приспособить OnProgress... Можно ли решить первое без второго и если да, то примерчик бы еще и для OnProgress бы. Что это за штука такая? В хелпе коротко, без Examples...Заранее спасибо.


 
Думкин ©   (2005-09-15 13:03) [1]

onProgress?


 
Думкин ©   (2005-09-15 13:04) [2]

опа. уже есть....


 
SMATMP ©   (2005-09-15 13:12) [3]

Что есть то? Где? Можно толком ответить?


 
Думкин ©   (2005-09-15 13:36) [4]

> SMATMP ©   (15.09.05 13:12) [3]

Для jpeg - есть. В onProgress - PercentDone


 
SMATMP ©   (2005-09-15 14:41) [5]

Есть PercentDone же в TImage:
procedure TForm1.Image1Progress(Sender: TObject; Stage: TProgressStage;
 PercentDone: Byte; RedrawNow: Boolean; const R: TRect;
 const Msg: String);
Родной формат для TImage как я понимаю BMP? В хелпе про JPEG то же самое написано. Не пробовал, но непонятно почему BMP проблема? А тем не менее реально при загрузке файла обработчик ничего не делает. Во всяком
случае

ProgressBar1.Position := PercentDone;

не дает никакого эффекта. Файлы грузил разные, и большие и маленькие и огромные.


 
alex_***   (2005-09-15 15:13) [6]

Обработчик вызывается? ProcessMessages ставил?


 
SMATMP ©   (2005-09-16 16:15) [7]

В кокое конкретно место ставить Application.ProcessMessages?
До вызова LoadFromFile, после вызова или в OnProgress?..
Внутрь процедуры я же не впихну!?...


 
SMATMP ©   (2005-09-16 16:26) [8]

???


 
Наиль ©   (2005-09-17 17:10) [9]

В хелпе (или в исходниках) написано, что onProgress должен задаватся графическим фильтром Bitmap, Metafile, Ico, JPG. Из всех перечисленных, только JPG использует его. Так что, воспользоваться прогрессом для
bmp ты не с можешь.


 
SMATMP ©   (2005-09-20 18:44) [10]

Насколько я понял из ответа (Наиль), обработчик TImage.OnProgress есть ни что иное как по Плюшкину "Абсолютно бесполезная вещь"? И насколько я понимаю, загружая BMP, для отслеживания хотя бы части тех действий, которые делает программа, возможно(тоже вопрос) толькозагрузить файл в TBitmap, загрузить его в TJpegImage и уже потом с помощью OnProgress отслеживать загрузку в TImage? Причем тоже непонятно как!.. Изврат какой-то! Напрашивается вопрос: можно ли грузить файл BMP частями и отслеживать в ProgressBar"е загрузку? Или неужели скажем та же ACD System использует для этих целей собственную процедуру (я уж не знаю на чем она написана)?


 
evvcom ©   (2005-09-21 14:27) [11]


> та же ACD System использует для этих целей собственную процедуру
> (я уж не знаю на чем она написана)?

Судя по присутствию в адресном пространстве ACDSee 5.0 библиотеки mfc42.dll, можно сделать вывод, что написана она на MS VC++, поэтому использует естественно собственную процедуру, так как VC++ абсолютно ничего не знает про VCL. Более того, это специфическая программа, имеющая целую кучу модулей, понимающих разные форматы графических файлов. Поэтому скорее всего там вся работа с графикой написана самими разработчиками, а не третьей фирмой.


 
SMATMP ©   (2005-09-30 18:46) [12]

Извиняюсь за редкость посещения. Доступ пока есть только примерно 1 раз в неделю. Итак. Я поставил счетчики времени проведения операций. Как и следовало ожилать, наибольшее время происходит не отображение файла в TImage, а его чтение с диска. Проверял путем загрузки файла в Bitmap := TBitmap.Create и дальнейшей загрузки Bitmap в TImage.Bitmap. Разница (счетцик простейший, до 1 сек) примерно в 10 раз (без параллельной работы других приложений). Таким образом хочу изменить постановку вопроса: как отследить загрузку файла с диска в Bitmap? Насколько я понимаю, при этом происходит копирование содержимого файла (с диска) в некий буфер (в оперативной памяти). Возможно ли отследить этот процесс в процентах выполнения? Заранее спасибо.



Страницы: 1 вся ветка

Текущий архив: 2005.10.23;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.067 c
14-1128105439
Gamer
2005-09-30 22:37
2005.10.23
Проблеммы с Canon iP1500


11-1109056582
Сергей Близнюков
2005-02-22 10:16
2005.10.23
Ошибка TBitmap.LoadFromResource в Win98 Версия KOL >=2.04


4-1123825228
Stranger53
2005-08-12 09:40
2005.10.23
Компоненты для Com-порта


14-1128432606
Pazitron_Brain
2005-10-04 17:30
2005.10.23
Генератор мыслей.


14-1128424599
Андрей Жук
2005-10-04 15:16
2005.10.23
Покритикуйте