Главная страница
    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.45 MB
Время: 0.026 c
1-1110974246
Vetal
2005-03-16 14:57
2005.03.27
Посоветуйте плиз Grid (не DB)


14-1109866583
kaif
2005-03-03 19:16
2005.03.27
Вопрос[1] О религии


8-1102233117
Неуловимый Джо
2004-12-05 10:51
2005.03.27
MIDI формат


4-1108466729
AbramovVi
2005-02-15 14:25
2005.03.27
извлеч финкции из dll


1-1110790597
amatol
2005-03-14 11:56
2005.03.27
Как сделать активными кнопки в WebBrowser компоненте?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский