社区
VB基础类
帖子详情
如何在Vb中直接进行图象捕获及保存
urus
2000-03-16 12:35:00
最近用VB做一个图象处理程序,需要进行图象捕获,我现在的方法是用vc给做一个控件然后在vb中调用,但不知如何在Vb中直接进行图象捕获,望各位指教,另外,当用picturebox作为MCI控件的输出设备时,如何将图片框中的图象保存下来,因为这时尽管picturebox 中有图但image是空的
...全文
174
4
打赏
收藏
如何在Vb中直接进行图象捕获及保存
最近用VB做一个图象处理程序,需要进行图象捕获,我现在的方法是用vc给做一个控件然后在vb中调用,但不知如何在Vb中直接进行图象捕获,望各位指教,另外,当用picturebox作为MCI控件的输出设备时,如何将图片框中的图象保存下来,因为这时尽管picturebox 中有图但image是空的
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
4 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
Un1
2000-03-16
打赏
举报
回复
既然VC的控件都已经做出来了,为什么VB不行呢?
TBBT
2000-03-16
打赏
举报
回复
用BITBLT,GETPIXEL等
我有源程序,tbbt@citiz.net
Janven
2000-03-16
打赏
举报
回复
通过绘图API函数BitBlt,StretchBlt,VB能够实现很强大的图形功能。vb很多控件都提供了hDC属性,也就是图形的句柄,通过API能够实现很多效果相当不错的图形处理。找的这方面的书看看吧。你说的图形捕获是指抓图还是硬件捕获?
david
2000-03-16
打赏
举报
回复
autoredraw等于TRUE时,image才有数据.
VB
.net
捕获
整个网页并
保存
成PNG图像
VB
.net
捕获
整个网页并
保存
成PNG图像
VB
.net
捕获
整个网页并
保存
成图像
VB
.net
捕获
整个网页并
保存
成图像有软件 Private Sub GetImage() If WebBrowser1.Document Is Nothing Then Return End If Try Dim scrollWidth As Integer Dim scrollHeight As Integer scrollHeight = WebBrowser1.Document.Body.ScrollRectangle.Height scrollWidth = WebBrowser1.Document.Body.ScrollRectangle.Width WebBrowser1.Size = New Size(scrollWidth, scrollHeight) Dim bm As New Bitmap(scrollWidth, scrollHeight) WebBrowser1.DrawToBitmap(bm, New Rectangle(0, 0, bm.Width, bm.Height)) Dim SaveAsName As String SaveAsName = Regex.Replace(textWebURL.Text, "(\\|\/|\:|\*|\?|\""|\<|\>|\|)?", "") bm.Save(SaveAsName & ".png", System.Drawing.Imaging.ImageFormat.Png) bm.Dispose() Catch ex As Exception MessageBox.Show(ex.Message, "Exception", MessageBoxButtons.OK, MessageBoxIcon.Error) Finally ' End Try buttonCapture.Enabled = True End Sub
Vb
简单实现摄像头视频监控程序.rar
Vb
简单实现摄像头视频监控程序,作者:肖景峰。代码包
中
包括两个摄像头视频相关程序,可
捕获
视频,类似于视频监控的功能,当然,此两程序仅为示例,有些功能并未实现,比如连接摄像头,要实体安装有摄像头并安装有驱动程序,修改部分代码才可配套运行,仅为展示实现的原理。 注:由于捕捉文件保留它最初的文件名,因此必须指定个新的文件的文件名来
保存
,发送给捕捉窗口来设置在预览模式下帧的显示频率,发送给捕捉窗口来使预览模式有效或者失效,调整窗体的在小及显示格式。。 '捕捉文件和缓存 Public Const WM_CAP_FILE_SET_CAPTURE_FILE = WM_CAP_START 20 '可以指定另一个路径和文件名。这个消息指定文件名,但不创建文件,也不打开文件或为文件申请空间 Public Const WM_CAP_FILE_GET_CAPTURE_FILE = WM_CAP_START 21 '来得到当前的捕捉文件 Public Const WM_CAP_FILE_ALLOCATE = WM_CAP_START 22 '为捕捉文件预分配空间,从而可以减少被漏掉的帧 Public Const WM_CAP_FILE_SAVEAS = WM_CAP_START 23 '将捕捉文件
保存
为另一个用户指定的文件。这个消息不会改变捕捉文件的名字和内容,由于捕捉文件保留它最初的文件名,因此必须指定个新的文件的文件名来
保存
TVideoGrabber_9.1.1.2官方demo,使用我资源
中
的lincese可以
直接
使用,用于图像解码功能强大,可支持各种摄像头和图像格式
TVideoGrabber_9.1.1.2官方demo,使用我资源
中
的lincese可以
直接
使用,用于图像解码功能强大,可支持各种摄像头和图像格式 TVideoGrabber是一个用于C#.NET,
VB
.NET,C ++,Delphi,C ++ Builder和ActiveX兼容应用程序开发的视频捕捉/媒体播放器SDK。 TVideoGrabber功能强大且直观,将帮助您节省时间,金钱和精力,将视频和/或音频功能纳入您的项目
中
。 TVideoGrabber可
捕获
和记录来自大多数视频捕捉设备(如USB网络摄像头,USB模拟捕捉设备,IP摄像头,桌面以及用作视频源的一组位图)的视频和音频流。 通过安装我们的可选RTSP DirectShow源过滤器,您可以
捕获
RTSP,RTMP,HTTP,Shoucast和其他各种流源。 RTSP过滤器可让您将流媒体源
保存
到文件而无需转码,并且在运行
中
生成新文件时不会丢失帧。 TvideoGrabber还支持采用罗技C920(H264),Blackmagic Decklink,Hauppauge Colossus等硬件编码器捕捉设备。 大多数编码格式都是本地支持的,或者使用第三方编解码器。 您可以将音频/视频
直接
或通过Windows Media服务器流式传输到网络。 TVideoGrabber也是一个先进的媒体播放器,可以播放正常速度的音频/视频剪辑,更快,更慢,前进和后退,逐个或通过播放列表。 可以
捕获
帧,在预览,录制或播放过程
中
执行文本/图形叠加,从另一TVideoGrabber组件执行PIP视频,应用视频处理(如旋转,裁剪等)。 TVideoGrabber可以将多个剪辑合并为一个剪辑,将剪辑分割成更小的剪辑,并将其重新编码为不同的格式。 TVideoGrabber包含以下功能的单个组件: - 视频预览 - 视频录制, - 声音录制, - 媒体播放器, - 合并/分割视频和音频CLIPS, - 帧
捕获
, - 图形和文本覆盖, - 来自另一个TVIDEOGRABBER的PIP视频(画
中
画) - IP CAMERA SUPPORT, - 运动检测, - 实时网络音频/视频流媒体, - 视频处理, - 屏幕(或窗口)录制, - 视频剪辑从图像
中
建立, - 重新编码为其他格式, - ZOOM / CROP, - 音频VU米, - 双显示,
一个可用供
VB
、VC调用的摄像头视频捕捉DLL
可用来在
VB
,VC
中
驱动摄像头,
进行
静帧捕捉的DLL动态链接库(必须要有摄像头生成StillCap0000.bmp):将MyDll文件解压后把MyDll.dll与MyDll.lib一起拷入工程DEBUG目录
中
(为保险起见DEBUG的外层目录也拷贝一份吧),另有一个VC++6的测试工程test_Dll,已经考入相应DLL和LIB文件,可
直接
编译运行,
VB
只拷贝MyDll.dll与MyDll.lib
VB
2008 调用方法,在公共模块
中
声名: Public Declare Function CreateWnd Lib "MyDll" () As Double Public Declare Function ClearGraphs Lib "MyDll" () As Double Public Declare Function OnpStillCapture Lib "MyDll" (ByVal hwnd As Long) As Double Public Declare Function InitStillGraph Lib "MyDll" (ByVal hwnd As Long) As Double Public Declare Function CloseWnd Lib "MyDll" () As Double 在窗体上放置2个PictureBox控件,名字为:pic1,pic2 放置三个按键:名字为Btn1,Btn2,Btn3 Btn1为打开视频,调用代码: Private Sub Btn1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Btn1.Click InitStillGraph(pic1.Handle) '打开摄像头预览视频 end sub Btn2为截取视频
保存
为BMP,文件
保存
在应用程序路径下,调用代码: Private Sub Btn2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Btn2.Click OnpStillCapture(pic2.Handle) '截取预览视频一帧图像 end sub Btn3为截取视频
保存
为清除内存,调用代码: Private Sub Btn3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Btn3.Click ClearGraphs() '退出前,完成内存清扫工 end sub VC调用方法: 在对话框上放置两个图像框,类型为位图,三个按键B1,B2,B3 定义全局函数引用: typedef HWND(* CreateWnd)(void);// typedef HRESULT(* InitStillGraph)(HWND hwnd); typedef void (* OnpStillCapture)(HWND hwnd); typedef int (* ClearGraphs)(); HINSTANCE glibsample; //如果定义成HANDLE类型,则出错 CreateWnd createwnd; InitStillGraph initStillGraph;//定义引用函数 OnpStillCapture onpStillCapture;//定义引用函数 ClearGraphs clearGraphs;//定义引用函数 用类向导为两个位图框建立控件(类型为Contorl)变量,m_p1,m_2 : 在窗口OnInitDialog()函数
中
调整图像框大小: // TODO: Add your specialized code here and/or call the base class m_p1.MoveWindow(0,0,200,200,true); m_p2.MoveWindow(210,0,200,200,true); glibsample=LoadLibrary("MyDll.dll"); //加载dll 在B1消息函数
中
: void 你的类::OnB1() { initStillGraph=(InitStillGraph)GetProcAddress(glibsample,"InitStillGraph"); (*initStillGraph)(m_p1.m_hWnd);//预览图像 } 在B2消息函数
中
: void 你的类::O
VB基础类
7,762
社区成员
197,608
社区内容
发帖
与我相关
我的任务
VB基础类
VB 基础类
复制链接
扫一扫
分享
社区描述
VB 基础类
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章