Форум: "Начинающим";
Текущий архив: 2005.10.23;
Скачать: [xml.tar.bz2];
Вниз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;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.038 c