purebasic.info

PureBasic forum
Текущее время: Пт окт 19, 2018 11:01 pm

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 3 ] 
Автор Сообщение
СообщениеДобавлено: Вс сен 08, 2013 7:28 am 
Не в сети
МОДЕРАТОР

Зарегистрирован: Вт дек 05, 2006 8:46 am
Сообщений: 6384
Благодарил (а): 20 раз.
Поблагодарили: 198 раз.
Пункты репутации: 48
Основные операции при работе с устройствами видеозахвата на базе класса AVICap. Простой интерфейс для записи видео и звуковых данных в avi-файл, для предварительного просмотра видео и выполнения других операций.

_________________
read-only


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Основные операции
СообщениеДобавлено: Вс сен 08, 2013 7:29 am 
Не в сети
МОДЕРАТОР

Зарегистрирован: Вт дек 05, 2006 8:46 am
Сообщений: 6384
Благодарил (а): 20 раз.
Поблагодарили: 198 раз.
Пункты репутации: 48
Код с основными операциями
Код:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
 
#WM_CAP_START = #WM_USER
#WM_CAP_DRIVER_CONNECT = #WM_CAP_START + 10
#WM_CAP_DRIVER_DISCONNECT = #WM_CAP_START + 11
#WM_CAP_DRIVER_GET_CAPS = #WM_CAP_START + 14
#WM_CAP_EDIT_COPY = #WM_CAP_START + 30
#WM_CAP_SET_PREVIEW = #WM_CAP_START + 50
#WM_CAP_SET_PREVIEWRATE = #WM_CAP_START + 52
#WM_CAP_STOP = #WM_CAP_START + 68
#WM_CAP_SET_SCALE = #WM_CAP_START + 53
#WM_CAP_DLG_VIDEODISPLAY = #WM_CAP_START + 43
#WM_CAP_DLG_VIDEOFORMAT = #WM_CAP_START + 41
#WM_CAP_DLG_VIDEOSOURCE = #WM_CAP_START + 42
#WM_CAP_FILE_SAVEDIBA = #WM_CAP_START + 25
#WM_CAP_PAL_SAVEA = #WM_CAP_START + 81
#WM_CAP_FILE_SAVEASA = #WM_CAP_START + 23;sapis
#WM_CAP_ABORT = #WM_CAP_START + 69
#WM_CAP_DLG_VIDEOCOMPRESSION = #WM_CAP_START + 46
#WM_CAP_SEQUENCE = #WM_CAP_START + 62;sapis
If OpenWindow(0, 0, 0, 800, 600, "Video Preview", #PB_Window_SystemMenu|#PB_Window_ScreenCentered)
 If CreateGadgetList(WindowID(0))
 ButtonGadget(1, 700, 15, 120, 20, "foto")
 ButtonGadget(2, 700, 35, 120, 20, "Video")
 ButtonGadget(3, 700, 55, 120, 20, "Video Stop")
 EndIf
 
  If OpenLibrary(0, "avicap32.dll")
    *capAddress = GetFunction(0, "capCreateCaptureWindowA")
     
  hWndC.l = CallFunctionFast(*capAddress, "My Capture Window", #WS_CHILD | #WS_VISIBLE, 0, 0, 640, 480, WindowID(0),0)
SendMessage_(hWndC, #WM_CAP_DRIVER_CONNECT, 0, 0)
SendMessage_(hWndC, #WM_CAP_DLG_VIDEOSOURCE, 0, 0); тут можно регулировать настройки
SendMessage_(hWndC, #WM_CAP_DLG_VIDEOFORMAT, 0, 0); тут разрешение картинки, но чаще всего получается зелёный экран...
;SendMessage_(hWndC, #WM_CAP_DLG_VIDEODISPLAY, 0, 0)
SendMessage_(hWndC, #WM_CAP_SET_PREVIEW, #True, 0)
SendMessage_(hWndC, #WM_CAP_SET_PREVIEWRATE, 25, 0)
SendMessage_(HWndC, #WM_CAP_SET_SCALE, #True, 0)
 
   
 
  EndIf
EndIf
 
;SendMessage_(hWndC, #WM_CAP_EDIT_COPY, 0, 0)
;img.l = GetClipboardImage(#PB_Any)
;reult.l=SaveImage(img.l,"c:\test.jpg",#PB_ImagePlugin_JPEG,10)
 
Repeat
 Event = WaitWindowEvent()
  Select Event
    ; ///////////////////
    Case #PB_Event_Gadget
      EventGadget = EventGadget()
      EventType = EventType()
      If EventGadget = 1
        SendMessage_(hWndC, #WM_CAP_FILE_SAVEDIBA, 0, "D:\test11.bmp")
       
      ElseIf EventGadget = 2
      SendMessage_(hWndC,#WM_CAP_DLG_VIDEOCOMPRESSION,0,0)
      SendMessage_(hWndC,#WM_CAP_SEQUENCE,0,0)
      SendMessage_(hWndC,#WM_CAP_FILE_SAVEASA,0,"D:\test11.avi")
;
      ElseIf EventGadget = 3
      SendMessage_(hWndC, #WM_CAP_ABORT , 0, 0)
      EndIf
EndSelect
 
Until Event = #PB_Event_CloseWindow
 
SendMessage_(hWndC, #WM_CAP_STOP, 0, 0)
SendMessage_(hWndC, #WM_CAP_DRIVER_DISCONNECT, 0, 0)
DestroyWindow_(hWndC)
CloseLibrary(0)
 
End


_________________
read-only


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Моментальное фото
СообщениеДобавлено: Вс сен 08, 2013 7:42 am 
Не в сети
МОДЕРАТОР

Зарегистрирован: Вт дек 05, 2006 8:46 am
Сообщений: 6384
Благодарил (а): 20 раз.
Поблагодарили: 198 раз.
Пункты репутации: 48
Минимальный код для захвата изображения с веб камеры. Все настройки по умолчанию.
Код:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
 
#WM_CAP_START = #WM_USER
#WM_CAP_DRIVER_CONNECT = #WM_CAP_START + 10
#WM_CAP_DRIVER_DISCONNECT = #WM_CAP_START + 11
#WM_CAP_FILE_SAVEDIBA = #WM_CAP_START + 25
#WM_CAP_GRAB_FRAME = #WM_CAP_START + 60
#WM_CAP_STOP = #WM_CAP_START + 68
#WM_CAP_DLG_VIDEOSOURCE = #WM_CAP_START + 42
#WM_CAP_DLG_VIDEOFORMAT = #WM_CAP_START + 41
 
Procedure SnapShot()
  If OpenWindow(0,0,0,0,0,"test",#PB_Window_SystemMenu)
   
    If OpenLibrary(0, "avicap32.dll")
      *capAddress = GetFunction(0, "capCreateCaptureWindowA")
      hWndC = CallFunctionFast(*capAddress, @"", #WS_CHILD, 10, 10, 320, 240, WindowID(0),1)
      SendMessage_(hWndC, #WM_CAP_DRIVER_CONNECT, 0, 0);
      SendMessage_(hWndC, #WM_CAP_GRAB_FRAME, 0, 0)
      SendMessage_(hWndC, #WM_CAP_FILE_SAVEDIBA, 0, "c:\test.bmp")
      SendMessage_(hWndC, #WM_CAP_STOP, 0, 0)
      SendMessage_(hWndC, #WM_CAP_DRIVER_DISCONNECT, 0, 0)
      DestroyWindow_(hWndC)
      CloseLibrary(0)
    EndIf
 
  EndIf
 
EndProcedure
 
 
SnapShot()


_________________
read-only


Вернуться наверх
 Профиль  
 
Показать сообщения за:  Сортировать по:  
Начать новую тему Ответить на тему  [ Сообщений: 3 ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Создано на основе phpBB® Forum Software © phpBB Group (блог о phpBB)
Сборка создана CMSart Studio
Русская поддержка phpBB