摘要: 现说设置背景颜色。 我用了很多方法都不行,查了很多资料,现在说一下解决方案吧。 在XXXXXXDlg.头文件的protected:中加入CBrush m_brush; 在XXXXXXDlg.cpp文件中的OnInitDialog()初始化函数中加入画刷m_brush.CreateSolidBrush(RGB(255,255,255));RGB中的颜色自己定义。 然后在类向导中添加WM_CTLCOLOR消息函数。在里面只写一句话:return m_brush; 背景颜色就改了。现在说怎么设计透明了,那就更简单了。在OnInitDialog()初始化函数中添加两行代码: SetWindowLong 阅读全文
posted @ 2012-05-06 22:27 Bruce-Hou 阅读(876) 评论(1) 推荐(0) 编辑
摘要: 1. 注册所有容器格式和CODEC: av_register_all()2. 打开文件: avformat_open_input_file()3. 从文件中提取流信息: avformat_find_stream_info()4. 穷举所有的流,查找其中种类为CODEC_TYPE_VIDEO5. 查找对应的解码器: avcodec_find_decoder()6. 打开编解码器: avcodec_open2()7. 为解码帧分配内存: avcodec_alloc_frame()8. 不停地从码流中提取出帧数据: av_read_frame()9. 判断帧的类型,对于视频帧调用: avcodec_ 阅读全文
posted @ 2012-04-06 23:16 Bruce-Hou 阅读(655) 评论(1) 推荐(0) 编辑
摘要: 一、要修改窗口的背景,步骤如下:1、导入一个位图文件。2、创建一个View窗体的删除背景时的相应函数BOOL CWndMapView::OnEraseBkgnd(CDC* pDC)或者在view类的OnDraw响应函数void CWndMapView::OnDraw(CDC* pDC)这两个函数的区别是,一个在擦除时直接将图片贴上;一个是先擦除,让后在OnDraw时再将图片贴上。所以,后一个会看到闪烁,前一个则无。3、创建一个位图对象,和刚导入的位图相关联。CBitmap bitmap;bitmap.LoadBitmap(IDB_BITMAP1);4、创建兼容DCCDC dcCompatiba 阅读全文
posted @ 2012-04-02 16:54 Bruce-Hou 阅读(296) 评论(0) 推荐(0) 编辑
摘要: ffmpeg的一流设计, 让我震撼, 浑然天成的代码, 让我为之着迷.ffmpeg主要划分为几个模块, libavcodec, libavformat, libavutil, libswscale, libavfilter, libavdevice在这几个模块中, libavcodec是个重量级的library, 它包含了一系列的编码解码器的实现和框架, 你可以方便的在这个框架下添加自己的编解码器, 然后使用统一的接口进行调用.这些模块中, 大多数即是一个单独的模块, 也是一个可以和其它模块互相协调, 比如使用libavformat中的demuxer模块然后再使用libavcodec进行解码, 阅读全文
posted @ 2011-12-20 19:31 Bruce-Hou 阅读(2668) 评论(0) 推荐(0) 编辑
摘要: 窗口风格(Window style)WS_BORDER 有边框窗口WS_CAPTION 必须和WS_BORDER风格配合,但不能与WS_DLGFRAME风格一起使用。指示窗口包含标题要部分。(很明显,其中的WS_CAPTION就是多余的,因为它是由WS_BORDER和WS_DLGFRAME组成的,去掉它对窗口没有任何影响)WS_CHILD 说明窗口为子窗口,不能应用于弹出式窗口风格(WS_POPUP)。WS_CHILDWINDOW 同WS_CHILD。WS_CLIPCHILDREN 绘制父窗口时,不绘制子窗口的裁剪区域。使用在建立父窗口时。WS_CLIPSIBLINGS 剪裁相关的子窗口,这意 阅读全文
posted @ 2011-12-09 23:22 Bruce-Hou 阅读(2343) 评论(0) 推荐(0) 编辑
摘要: 区别1:字符串的表达void CMy123Dlg::OnBnClickedButton1() { // MessageBox("你好");//以前VC6.0写法,现在用不了.老版本用的多字节字符集// MessageBox(L"你好");//L 是 unicode字符集,可移植性不好// MessageBox(_T("你好"));//这3种方法一样 // MessageBox(TEXT("你好")); // MessageBox(_TEXT("你好"));} 在VS2010中用哪个比较好?_T( 阅读全文
posted @ 2011-11-29 22:20 Bruce-Hou 阅读(3865) 评论(0) 推荐(0) 编辑
摘要: MicrosoftInternetExplorer402DocumentNotSpecified7.8Normal0指导5:同步视频如何同步视频前面整个的一段时间,我们有了一个几乎无用的电影播放器。当然,它能播放视频,也能播放音频,但是它还不能被称为一部电影。那么我们还要做什么呢?PTS和DTS幸运的是,音频和视频流都有一些关于以多快速度和什么时间来播放它们的信息在里面。音频流有采样,视频流有每秒的帧率。然而,如果我们只是简单的通过数帧和乘以帧率的方式来同步视频,那么就很有可能会失去同步。于是作为一种补充,在流中的包有种叫做DTS(解码时间戳)和PTS(显示时间戳)的机制。为了这两个参数,你需 阅读全文
posted @ 2011-10-20 18:39 Bruce-Hou 阅读(735) 评论(0) 推荐(0) 编辑
摘要: MicrosoftInternetExplorer402DocumentNotSpecified7.8Normal0指导2:输出到屏幕SDL和视频为了在屏幕上显示,我们将使用SDL.SDL是SimpleDirectLayer的缩写。它是一个出色的多媒体库,适用于多平台,并且被用在许多工程中。你可以从它的官方网站的网址http://www.libsdl.org/上来得到这个库的源代码或者如果有可能的话你可以直接下载开发包到你的操作系统中。按照这个指导,你将需要编译这个库。(剩下的几个指导中也是一样)SDL库中有许多种方式来在屏幕上绘制图形,而且它有一个特殊的方式来在屏幕上显示图像――这种方式叫做 阅读全文
posted @ 2011-10-20 18:37 Bruce-Hou 阅读(914) 评论(0) 推荐(1) 编辑
摘要: MicrosoftInternetExplorer402DocumentNotSpecified7.8Normal0指导1:制作屏幕录像概要电影文件有很多基本的组成部分。首先,文件本身被称为容器Container,容器的类型决定了信息被存放在文件中的位置。AVI和Quicktime就是容器的例子。接着,你有一组流,例如,你经常有的是一个音频流和一个视频流。(一个流只是一种想像出来的词语,用来表示一连串的通过时间来串连的数据元素)。在流中的数据元素被称为帧Frame。每个流是由不同的编码器来编码生成的。编解码器描述了实际的数据是如何被编码Coded和解码DECoded的,因此它的名字叫做CODE 阅读全文
posted @ 2011-10-20 18:36 Bruce-Hou 阅读(919) 评论(1) 推荐(1) 编辑
摘要: MicrosoftInternetExplorer402DocumentNotSpecified7.8Normal0如何基于FFMPEG和SDL写一个少于1000行代码的视频播放器FFMPEG是一个很好的库,可以用来创建视频应用或者生成特定的工具。FFMPEG几乎为你把所有的繁重工作都做了,比如解码、编码、复用和解复用。这使得多媒体应用程序变得容易编写。它是一个简单的,用C编写的,快速的并且能够解码几乎所有你能用到的格式,当然也包括编码多种格式。唯一的问题是它的文档基本上是没有的。有一个单独的指导讲了它的基本原理另外还有一个使用doxygen生成的文档。这就是为什么当我决定研究FFMPEG来弄 阅读全文
posted @ 2011-10-20 18:35 Bruce-Hou 阅读(1220) 评论(0) 推荐(0) 编辑