![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Регистрация: 28.09.2007
Сообщений: 7
|
![]()
Небольшая интерлюдия: Последний месяц пришлось много работать с веб-камерами от D-link'a. Перепробовал весь софт, который поставлялся с ними и в общем он меня не удволитворил. Пришла в голову идея попросить у компании SDK, что-бы написать свой персональный софт. Вот прошел уже месяц, а D-link молчит. Делать нечго, Delphi в руки и поехал писать сам без SDK. Сложнойстей не возникало, у камер имеется свой веб интерфейс в плане обращения к ней и отправки запросов было не столь сложно. Начал переписывать стандартный софт под себя и свои требования, продвижения есть и камера поддается на запросы и начинает делать то, что ей скажешь, кроме одного:
У нее есть функция, которая выдается текущий снимок, т.е. если выполнять это через веб-интерфейс появляется html страничка, в которой подгружен ее снимок. Заставить зделать снимок не составляет труда, а именно: http://192.168.0.42/cgi-bin/video.jpg. В результате такого в окне браузера отображается картинка. Внимание вопрос: Как слить эту картинку и загрузить в TImage, наиболее быстрым способом, так что-то программа успевала за секунду снять хотя-бы 5 изображений |
![]() |
![]() |
![]() |
#2 |
Старожил
Регистрация: 13.12.2006
Сообщений: 3,859
|
![]()
sf:=http.Get(s);
rewrite(f); write(f,sf); closefile(f); затем из временного файла загружаешь в Image
ICQ не для вопросов, а для предложений. Для вопросов используйте форум
IRC канал клуба программистов|Мои статьи |
![]() |
![]() |
![]() |
#3 |
Старожил
Регистрация: 13.12.2006
Сообщений: 3,859
|
![]()
Думаю смысл понятен ) если нет, то можно и пояснить
ICQ не для вопросов, а для предложений. Для вопросов используйте форум
IRC канал клуба программистов|Мои статьи |
![]() |
![]() |
![]() |
#4 |
Регистрация: 28.09.2007
Сообщений: 7
|
![]()
Прошу пояснить
![]() |
![]() |
![]() |
![]() |
#5 |
Старожил
Регистрация: 13.12.2006
Сообщений: 3,859
|
![]()
ок, компонент IdHttp
Используй в нем метод Get в качестве параметра передается адрес страницы, которую надо получить. Результат сохраняешь в текстовую переменную, которую записываешь в файл с расширением JPG и затем открываешь его как угодно. Можно разумеется не только через файл но и через stream это уже от удобства зависит
ICQ не для вопросов, а для предложений. Для вопросов используйте форум
IRC канал клуба программистов|Мои статьи |
![]() |
![]() |
![]() |
#6 |
Регистрация: 28.09.2007
Сообщений: 7
|
![]()
Вот про то, что Вы мне рассказали - на эти грабли я наступал сегодня весь день ... Пытался присвоить переменной, а как итог она не получает значения. Она просто остается пустой, хотя метод get выполняется без проблем, как и в остальных случаях, например при повороте камеры
|
![]() |
![]() |
![]() |
#7 |
Регистрация: 28.09.2007
Сообщений: 7
|
![]()
может я просто писал как-то не правильно? пример:
const pp = 'http://'; var ss: string; begin ss:= IdHTTP.get(pp+host+':80/cgi-bin/video.jpg'); .... end; Где host - ip адрес камеры в локальной сети Последний раз редактировалось mikkis; 28.09.2007 в 18:14. |
![]() |
![]() |
![]() |
#8 |
Старожил
Регистрация: 13.12.2006
Сообщений: 3,859
|
![]()
эээ
const pp = 'http://'; var ss: string; begin ss:= IdHTTP.get(pp+host+':80/cgi-bin/video.jpg'); .... end;
ICQ не для вопросов, а для предложений. Для вопросов используйте форум
IRC канал клуба программистов|Мои статьи |
![]() |
![]() |
![]() |
#9 |
Регистрация: 28.09.2007
Сообщений: 7
|
![]()
Это была всего лишь опечатка! Get там и стоит
![]() |
![]() |
![]() |
![]() |
#10 |
Старожил
Регистрация: 13.12.2006
Сообщений: 3,859
|
![]()
Попробуй сначала такой код:
unit Unit21; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, IdBaseComponent, IdComponent, IdTCPConnection, IdTCPClient, IdHTTP, StdCtrls; type TForm21 = class(TForm) Button1: TButton; IdHTTP1: TIdHTTP; procedure Button1Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form21: TForm21; implementation {$R *.dfm} procedure TForm21.Button1Click(Sender: TObject); begin showmessage(IdHTTP1.Get('http://www.programmersforum.ru/images/1070/buttons/reply.gif')); end; end. Если в showmessage что- то выведеться, значит у тебя что- то не так ))
ICQ не для вопросов, а для предложений. Для вопросов используйте форум
IRC канал клуба программистов|Мои статьи |
![]() |
![]() |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
http://programmersclub.ru/help/ | ben95 | О форуме и сайтах клуба | 6 | 02.02.2008 12:23 |
http.Get | Domovoy | Работа с сетью в Delphi | 2 | 21.11.2007 18:37 |