如何改变(摄像头的)视频格式?????????????来者有分!!!!

honghong2 2006-12-21 03:26:53
我从内存取出的BITMAPINFO结构的宽高是320*240。我要改变它的宽高为640*480。怎么改啊?
我先获得它的视频格式然后修改它(图像)的宽高,然后再把修改后的格式发送给显示窗体,可是没有用啊,它的宽高格式还是320*240。到底应该如何修改视频格式呢?

代码如下:
SendMessage ihwnd, WM_CAP_GET_VIDEOFORMAT, dword, VarPtr(m_bmpinfo) '获得当前的视频格式
m_bmpinfo.bmiHeader.biwidth = wX'修改格式的宽与高
m_bmpinfo.bmiHeader.biheight = wY
SendMessage oldPic.hWnd, WM_CAP_SET_VIDEOFORMAT, dword, VarPtr(m_bmpinfo) '发送当前的视频格式
SetDIBitsToDevice oldPic.hdc, 0, 0, wX, wY, 0, 0, 0, wY, VideoData(0), m_bmpinfo, 0
...全文
378 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
honghong2 2006-12-25
  • 打赏
  • 举报
回复
谢谢大家。我上面的代码是没有错,不过那是显示窗口,显示窗口的确是变成了我规定的大小。但是图像没有变。后来发现是我另一个结构改变图像大小的位置放错了。应该是在最前面连接上摄像头后就更改它的图像大小。呵呵。问题以解决,来的都有分。
lideliangsun 2006-12-22
  • 打赏
  • 举报
回复
Sub ResizeCaptureWindow(ByVal hCapWnd As Long)
Dim retVal As Boolean
Dim capStat As CAPSTATUS

'Get the capture window attributes
retVal = capGetStatus(hCapWnd, capStat)

If retVal Then
'Resize the main form to fit
Call SetWindowPos(frmMain.hWnd, _
0&, _
0&, _
0&, _
capStat.uiImageWidth + (frmMain.XBorder * 2), _
capStat.uiImageHeight + (frmMain.YBorder * 4) _
+ frmMain.CaptionHeight + frmMain.MenuHeight, _
SWP_NOMOVE Or SWP_NOZORDER Or SWP_NOSENDCHANGING)
'Resize the capture window to format size
Call SetWindowPos(hCapWnd, _
0&, _
0&, _
0&, _
capStat.uiImageWidth, _
capStat.uiImageHeight, _
SWP_NOMOVE Or SWP_NOZORDER Or SWP_NOSENDCHANGING)
End If
Call frmMain.Form_Resize
End Sub
这是一个老外写的,我有源程序
MIMI3654 2006-12-22
  • 打赏
  • 举报
回复
Mark
关注
MIMI3654 2006-12-22
  • 打赏
  • 举报
回复
帮顶
期待高手解决
hy_holy 2006-12-22
  • 打赏
  • 举报
回复
也MARK
honghong2 2006-12-22
  • 打赏
  • 举报
回复

to:zsj1101(江南神探)

不是picture的问题。。请先看好我的问题

to:m00ners(M00N)

Mark???什么意思???
m00ners 2006-12-21
  • 打赏
  • 举报
回复
Mark
zsj1101 2006-12-21
  • 打赏
  • 举报
回复
改变picture控件的属性。改为拉伸
sltyj 2006-12-21
  • 打赏
  • 举报
回复
来者有分?我不信。。
yi10000 2006-12-21
  • 打赏
  • 举报
回复
关注中...

7,763

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧