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

Вниз

Загрузка изображений из паралельного потока.   Найти похожие ветки 

 
Mirror ©   (2004-12-07 20:28) [0]

Доброго времени суток!
Люди, кто работал с компонентом ImageEn, подскажите, пожалуйсто, несколько вещей. Как загружать в него картинки с помощью не основного потока не вызывая Synchronize? Смысл в том, что файлы, которые нужно грузить, давольно большие и я хочу сгрузить эту операцию на другой поток (Thread), чтобы приложение не "висло" в момент загрузки файла.(Если кто знает другой метод решения этой проблемы - пишите). И второй вопрос: как с помощью ImageEn читать EXIF информацию?

З.Ы. Модераторы! Если я опять написал не в ту конференцию (по вашему мнению) можно не удалять ветку, а переместить её туда, где, по вашему мнению, она должна быть, а?


 
Digitman ©   (2004-12-08 18:26) [1]


> Mirror


не знаю, что такое ImageEn, но, скорей всего, ты промахнулся темой конференции. В "Основная" место вопросу.


 
programania ©   (2004-12-08 20:16) [2]

>чтобы приложение не "висло" в момент загрузки файла
Возможно не "висло" это чтоб оно действовало
от клавишей и мыши?
Возможно действия это скорее всего загрузка другого файла?
Тогда текущую загрузку нужно прервать
и значит поток не имеет смысла, потому что не нужна
одновременная работа.
Загрузку можно прервать при чтении файла, если
читать по кусочкам в memoryStream:

stoi:=false;
assignFile(f,imk);
reset(f,1);
r:=fileSize(f);
ms.size:=r;
n:=0;
repeat
 if r>500000 then q:=500000 else q:=r;
 blockRead(f,ptr(integer(ms.Memory)+n)^,q);
 inc(n,q);
 dec(r,500000);
 application.processMessages;
until (r<=0)or stoi;
ms.Seek(0,soFromBeginning);
closeFile(f);

if not stoi then form1.ImageEnIO1.LoadFromStream(ms);


в FormKeyDown FormMouseDown добавить stoi:=true;

Загрузку можно прервать при декодировании jpeg
для этого в JpegFilt.pas  версии 1.9.7b добавить
в uses ...,forms;
в procedure ReadJPegStream
в    while (cinfo.output_scanline<cinfo.output_height)
and not stoi do begin
application.processMessages;

об Exif
в версии imageEn 2.0.3
ImageEnIO1:=TImageEnIO.create(form1);
ImageEnIO1.ParamsFromFile("I0001.jpg");
label1.caption:=ImageEnIO1.Params.EXIF_Model+"  "+
               ImageEnIO1.Params.EXIF_DateTime;
и т.п. еше около 50 параметров
к сожалению у меня нет исходников этой версии
если что об них известно сообщите пожалуста.


 
murtix   (2004-12-14 07:05) [3]

А где можно его вхять этот ImageEn


 
programania ©   (2004-12-14 20:45) [4]

>А где можно его вхять этот ImageEn

http://www.hyrix.com
или на CD-сборнике компонент бывает
старая версия 1.9, но с исходниками.



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

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

Наверх




Память: 0.48 MB
Время: 0.026 c
8-1102751798
Константинов
2004-12-11 10:56
2005.03.27
Эмуляторы, насколько это сложно?


11-1093291474
=Sniper=
2004-08-24 00:04
2005.03.27
Вопрос про подсветку в Rich Edit (прикладываю полный проект)


1-1110459740
Aleks
2005-03-10 16:02
2005.03.27
какой компонент нужно использовать???


1-1110788986
Shuma
2005-03-14 11:29
2005.03.27
Размер ComboBox


4-1108496540
Коля
2005-02-15 22:42
2005.03.27
Как програмно убрать "Только чтение" в свойствах файла?