|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
Передача изображений между файлами
*ошибся в заголовке
Мне нужно создать связь между программами(!). То есть одна программа должна предоставить другой - изображение (генерируется с интервалом 1 сек). Как это лучше сделать? (я думал писать изображение на диск в файл, а другая просто его скачивать. Но проблема в том что нет события конца записи на диск.) |
#2
|
||||
|
||||
Цитата:
|
#3
|
|||
|
|||
программы будут на разных языках, и работать на разных компах.
первая на делфи(которая будет отправлять изображения) я думал сделать http сервер(делфи) и вторая просто скачивать изображение когда оно сохраниться, но походу тут трудности.. |
#4
|
|||
|
|||
Также можно и через буфер, socket (если на разных машинах).
|
#5
|
|||
|
|||
Обе программы на INDY. Первая клиент вторая сервер вот и всё, если в локалке то можно вообще использовать udp.
|
#6
|
||||
|
||||
Цитата:
А в чём трудности при скачивании по http? |
#7
|
||||
|
||||
Цитата:
Je venus de nulle part 55.026263 с.ш., 73.397636 в.д. |
#8
|
||||
|
||||
CreateRemoteComObject
Пишу программы за еду. __________________ |
#9
|
||||
|
||||
Можно через сообщения, через майлслоты, атомы, расшаренную память, можно у удаленного процесса вызвать метод класса. Я бы через вызов удаленной процедуры сделал и выдергивание картинки прямо из памяти процесса отправителя.
— Как тебя понимать? — Понимать меня не обязательно. Обязательно меня любить и кормить вовремя. На Delphi, увы, больше не программирую. Рекомендуемая литература по программированию |
#10
|
|||
|
|||
спасибо за ответы. осталось только разобраться, что это все из перечисленного )
|
#11
|
|||
|
|||
в продолжении темы. новый вопрос:
У меня есть компонент IdHTTPServer. При запросе IdHTTPServer1CommandGet я отправляю с диска изображение: IdHTTPServer1.ServeFile(AThread, AResponseInfo, ProgramPath+'\1.bmp'); А можно ли как то отправить изображение прямо из компонента image? |
#12
|
|||
|
|||
Цитата:
в данный момент столкнулся с этим и меня, тоже, заинтересовал этот вопрос... |
#13
|
||||
|
||||
Цитата:
Цитата:
Код:
procedure TForm1.IdHTTPServer1CommandGet(Thread: TIdPeerThread; RequestInfo: TIdHTTPRequestInfo; ResponseInfo: TIdHTTPResponseInfo); var sl: TStringList; gc: TGraphicClass; ext: String; begin ..... if AnsiSameText(RequestInfo.Document, '/image1') then begin gc := TGraphicClass(Image1.Picture.Graphic.ClassType); // Получаем класс графического объекта в Image1 ext := '.'+GraphicExtension(gc); // По этому классу определяем расширение файлов этого типа ResponseInfo.ContentType := IdHTTPServer1.MIMETable.GetFileMIMEType(ext); // По расширению получаем строку "Content-Type" ResponseInfo.ContentStream := TMemoryStream.Create; // Создаём новый поток Image1.Picture.Graphic.SaveToStream(ResponseInfo.ContentStream); // И выгружаем в него картинку из Image1 end; ..... end; p.p.s. Так как это просто пример, то тут отсутствуют проверки на корректность. В рабочем коде их конечно же нужно добавить. |