?? mainform.frm
字號:
VERSION 5.00
Begin VB.Form Form1
BackColor = &H00404000&
Caption = "Microview專業卡演示程序"
ClientHeight = 8655
ClientLeft = 615
ClientTop = 2655
ClientWidth = 11550
BeginProperty Font
Name = "MS Sans Serif"
Size = 8.25
Charset = 0
Weight = 700
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
LinkTopic = "Form1"
ScaleHeight = 577
ScaleMode = 3 'Pixel
ScaleWidth = 770
StartUpPosition = 2 'CenterScreen
Begin VB.CommandButton HideInfo
Caption = "隱藏"
Height = 495
Left = 13680
TabIndex = 2
Top = 6840
Width = 855
End
Begin VB.CommandButton RefreshInfo
Caption = "刷新"
Height = 495
Left = 12720
TabIndex = 1
Top = 6840
Width = 855
End
Begin VB.Timer Timer1
Enabled = 0 'False
Interval = 40
Left = 9960
Top = 7920
End
Begin VB.PictureBox DispArea
AutoRedraw = -1 'True
AutoSize = -1 'True
BackColor = &H00808000&
BorderStyle = 0 'None
Height = 3255
Left = 0
ScaleHeight = 3255
ScaleMode = 0 'User
ScaleWidth = 5895
TabIndex = 9
Top = 0
Width = 5895
Begin VB.Label lblMICROVIEWIMAGE
BackColor = &H00808000&
Caption = "MICROVIEW IMAGE"
ForeColor = &H00FFFF00&
Height = 255
Left = 0
TabIndex = 10
Top = 0
Width = 1815
End
End
Begin VB.Line Line1
BorderColor = &H00FFFFFF&
Index = 1
X1 = 832
X2 = 968
Y1 = 176
Y2 = 176
End
Begin VB.Label lblMousePosition
BackColor = &H00404000&
Caption = "鼠標位置:"
ForeColor = &H00FFFFFF&
Height = 255
Left = 12480
TabIndex = 8
Top = 240
Width = 1095
End
Begin VB.Line Line1
BorderColor = &H00FFFFFF&
Index = 0
X1 = 832
X2 = 968
Y1 = 40
Y2 = 40
End
Begin VB.Label MouseY
BackColor = &H00FFFFFF&
ForeColor = &H00000000&
Height = 255
Left = 13800
TabIndex = 7
Top = 720
Width = 735
End
Begin VB.Label MouseX
BackColor = &H00FFFFFF&
ForeColor = &H00000000&
Height = 255
Left = 12720
TabIndex = 6
Top = 720
Width = 735
End
Begin VB.Label lblY
BackColor = &H00404000&
Caption = "Y:"
ForeColor = &H00FFFFFF&
Height = 255
Left = 13560
TabIndex = 5
Top = 720
Width = 255
End
Begin VB.Label lblX
BackColor = &H00404000&
Caption = "X:"
ForeColor = &H00FFFFFF&
Height = 255
Left = 12480
TabIndex = 4
Top = 720
Width = 255
End
Begin VB.Label lblLabel2
BackColor = &H00404000&
Caption = "視頻信息:"
ForeColor = &H00FFFFFF&
Height = 255
Left = 12480
TabIndex = 3
Top = 2280
Width = 1095
End
Begin VB.Label Hint
BackColor = &H00404000&
Caption = "請刷新!"
ForeColor = &H00FFFFFF&
Height = 3735
Left = 12480
TabIndex = 0
Top = 2880
Width = 1935
End
Begin VB.Menu Display
Caption = "暫停顯示(&A)"
End
Begin VB.Menu Captrue
Caption = "采集圖像(&B)"
End
Begin VB.Menu SetPar
Caption = "參數設置(&C)"
End
Begin VB.Menu Reset
Caption = "恢復默認參數(&D)"
End
Begin VB.Menu test
Caption = "視頻信號測試(&E)"
Visible = 0 'False
End
Begin VB.Menu FullScreen
Caption = "全屏顯示(&F)"
End
Begin VB.Menu SyncSet
Caption = "同步源設置(&G)"
Visible = 0 'False
Begin VB.Menu RSync
Caption = "同步在紅路"
End
Begin VB.Menu GSync
Caption = "同步在綠路"
End
Begin VB.Menu BSync
Caption = "同步在藍路"
End
Begin VB.Menu CSync
Caption = "復合外同步"
End
Begin VB.Menu SSync
Caption = "行場同步分離"
End
End
Begin VB.Menu OSDSet
Caption = "OSD功能(&H)"
Visible = 0 'False
End
Begin VB.Menu CapFormat
Caption = "采集格式(&I)"
Begin VB.Menu now
Caption = "當前格式:"
End
Begin VB.Menu line
Caption = "-----------------"
End
Begin VB.Menu MONOCHOY8
Caption = "MONOCHOY8"
End
Begin VB.Menu RGB1555
Caption = "RGB1555"
End
Begin VB.Menu CO_RGB24
Caption = "CO_RGB24"
End
Begin VB.Menu aRGB8888
Caption = "aRGB8888"
End
Begin VB.Menu RGB8332
Caption = "RGB8332"
End
Begin VB.Menu CO_RGB565
Caption = "CO_RGB565"
End
Begin VB.Menu RGB5515
Caption = "RGB5515"
End
Begin VB.Menu CO_YUV444
Caption = "CO_YUV444"
End
Begin VB.Menu CO_YUV422
Caption = "CO_YUV422"
End
Begin VB.Menu YUV411
Caption = "YUV411"
End
End
Begin VB.Menu TenBitMode
Caption = "10bit模式(&J)"
Visible = 0 'False
Begin VB.Menu HighBits
Caption = "高8位"
End
Begin VB.Menu MiddleBits
Caption = "中8位"
End
Begin VB.Menu LowBits
Caption = "低8位"
End
Begin VB.Menu TenBits
Caption = "10bit方式"
End
End
Begin VB.Menu FilterSet
Caption = "濾波器設置(&K)"
Visible = 0 'False
End
Begin VB.Menu menuRealTimeInfo
Caption = "右邊欄信息(&L)"
End
Begin VB.Menu about
Caption = "關于(&M)"
End
End
Attribute VB_Name = "Form1"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Private Sub about_Click()
frmAbout.Show 1
End Sub
Private Sub aRGB8888_Click()
MV_SetDeviceParameter hDevice, GARB_BITDESCRIBE, 3 '設置圖像采集格式為RGB8888
now.Caption = "當前格式:aRGB8888"
End Sub
Private Sub BSYNC_Click()
RSync.Checked = False
GSync.Checked = False
BSync.Checked = True
CSync.Checked = False '復合外同步
SSync.Checked = False '行場同步分離
MV_SetDeviceParameter hDevice, WORK_SYNC, 2 '設置同步方式為同步在藍路
End Sub
Private Sub Captrue_Click()
MV_SetDeviceParameter hDevice, SET_GARBIMAGEINFO, VarPtr(info) '得到當前的圖像的信息
Timer1.Enabled = True
End Sub
Private Sub CO_RGB24_Click()
MV_SetDeviceParameter hDevice, GARB_BITDESCRIBE, 2 '設置圖像采集格式為CO_RGB24
now.Caption = "當前格式:CO_RGB24"
End Sub
Private Sub CO_RGB565_Click()
MV_SetDeviceParameter hDevice, GARB_BITDESCRIBE, 5 '設置圖像采集格式為CO_RGB565
now.Caption = "當前格式:CO_RGB565"
End Sub
Private Sub CO_YUV422_Click()
MV_SetDeviceParameter hDevice, GARB_BITDESCRIBE, 8 '設置圖像采集格式為CO_YUV422
now.Caption = "當前格式:CO_YUV422"
End Sub
Private Sub CO_YUV444_Click()
MV_SetDeviceParameter hDevice, GARB_BITDESCRIBE, 7 '設置圖像采集格式為CO_YUV444
now.Caption = "當前格式:CO_YUV444"
End Sub
Private Sub CSYNC_Click()
RSync.Checked = False
GSync.Checked = False
BSync.Checked = False
CSync.Checked = True
SSync.Checked = False
MV_SetDeviceParameter hDevice, WORK_SYNC, 3 '設置同步方式為復合外同步
End Sub
Private Sub DispArea_Click()
Dim worstatu As RUNOPER
If bIsReadData = True Then
workstatu = MV_OperateDevice(hDevice, MVQUERYSTATU)
temp = MV_GetLastError(False)
If Not (workstatu = MVRUN) Then
strDotData = "讀取每點信息之前,請先運行設備!"
DotData.Show 1
Exit Sub
End If
GetCursorPos Pnt '取得鼠標位置
ScreenToClient DispArea.hWnd, Pnt
'逐點讀取視頻
Dim rect1 As RECT
Dim i As Long
Dim cutlen As Long, xoff As Long, yoff As Long, Width As Long, height As Long
Dim pdest() As Byte
Dim buffer() As Byte
Dim str1 As String, str2 As String, str3 As String
Dim pt As PointAPI
xoff = MV_GetDeviceParameter(hDevice, DISP_LEFT)
yoff = MV_GetDeviceParameter(hDevice, DISP_TOP)
Width = MV_GetDeviceParameter(hDevice, GARB_WIDTH)
height = MV_GetDeviceParameter(hDevice, GARB_HEIGHT)
pt.X = Pnt.X - xoff
pt.Y = Pnt.Y - yoff
If pt.X < Width And pt.Y < height Then
MV_SetDeviceParameter hDevice, SET_GARBIMAGEINFO, VarPtr(info) '得到當前的圖像的信息
ReDim buffer(info.Length) As Byte '分配內存
For i = 0 To info.Length - 1
buffer(i) = 0
Next i
MV_CaptureSingle hDevice, False, VarPtr(buffer(0)), info.Length, info '采集一幅圖像
If info.nColor = 32 Then
ReDim pdest(4) As Byte '分配內存
cutlen = MV_ReadPixel(VarPtr(info), VarPtr(buffer(0)), pt, VarPtr(pdest(0))) '取出該點數據
If pdest(2) = 0 Then
str1 = "該點數據紅色分量為:0"
Else: str1 = Format$(pdest(2), "該點數據紅色分量為:####")
End If
If pdest(1) = 0 Then
str2 = ",綠色分量為0:"
Else
str2 = Format$(pdest(1), ",綠色分量為:####")
End If
If pdest(0) = 0 Then
str3 = ",藍色分量為:0"
Else
str3 = Format$(pdest(0), ",藍色分量為:####")
End If
str3 = str1 & str2 & str3
ElseIf info.nColor = 24 Then
ReDim pdest(3) As Byte
cutlen = MV_ReadPixel(VarPtr(info), VarPtr(buffer(0)), pt, VarPtr(pdest(0))) '取出該點數據
If pdest(2) = 0 Then
str1 = "該點數據紅色分量為:0"
Else: str1 = Format$(pdest(2), "該點數據紅色分量為:####")
End If
If pdest(1) = 0 Then
str2 = ",綠色分量為0:"
Else
str2 = Format$(pdest(1), ",綠色分量為:####")
End If
If pdest(0) = 0 Then
str3 = ",藍色分量為:0"
Else
str3 = Format$(pdest(0), ",藍色分量為:####")
End If
str3 = str1 & str2 & str3
Else
str3 = "請在24位或32位采集模式下使用此功能!"
End If
strDotData = str3
DotData.Show 1
Else
Debug.Print "out of range"
End If
End If
End Sub
Private Sub DispArea_MouseMove(Button As Integer, _
Shift As Integer, _
X As Single, _
Y As Single)
'取得鼠標位置
GetCursorPos Pnt
ScreenToClient DispArea.hWnd, Pnt
'逐點讀取視頻
MouseX.Caption = Pnt.X
MouseY.Caption = Pnt.Y
End Sub
Private Sub Display_Click()
If Display.Caption = "顯示圖像(&D)" Then
Display.Caption = "暫停顯示(&D)"
MV_OperateDevice hDevice, MVRUN '設置采集卡采集并顯示圖像
Else
Display.Caption = "顯示圖像(&D)"
MV_OperateDevice hDevice, MVPAUSE '暫停采集卡采集顯示圖像
End If
DispArea.Refresh
End Sub
Private Sub FilterSet_Click()
FilterForm.Show 1
End Sub
Private Sub Form_Load()
' 變量定義
Dim val As Long
Dim str As String
Dim nCardCount As Integer
Dim strName As String
Dim tmphDevice As Long
hDevice = 0
bOnField = False
nFileFmt = False
bIsColor = True
nQuality = 50
nFrmNo = 1
bIsReadData = False
'得到板卡數量和每塊卡的名稱,儲存到一字符串數組
nAmount = MV_GetDeviceNumber()
If Not (nAmount > 0) Then
ERROR.Show 1
Exit Sub
End If
For nCardCount = 0 To nAmount - 1
hDevice = MV_OpenDevice(nCardCount, True)
MV_CloseDevice (tmphDevice)
tmphDevice = hDevice
nBoardType = MV_GetDeviceParameter(hDevice, GET_BOARD_TYPE) '得到當前采集卡類型
Select Case nBoardType
Case LEVIN_M10: strName = "LEVIN_M10"
Case LEVIN_RGB10: strName = "LEVIN_RGB10"
Case LEVIN_M20: strName = "LEVIN_M20"
Case LEVIN_RGB20: strName = "LEVIN_RGB20"
Case LEVIN_VGA100: strName = "LEVIN_VGA100"
Case LEVIN_VGA170: strName = "LEVIN_VGA170"
Case V520: strName = "MVPCI V520/Moka-C50"
Case V510: strName = "MVPCI V510/Moka-C51"
Case V500: strName = "MVPCI V500"
Case V410: strName = "MVPCI V410"
Case V400: strName = "MVPCI V400"
Case V3A: strName = "MVPCI V3A"
Case V300: strName = "MVPCI V300"
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -