前面匆忙写了很多篇文章,虽然都很简单,但着实花了不少时间去研究的。几年前写了YUV转换RGB的代码,当时只限于转换成BMP来测试正确性。后来一直使用YUV Player Deluxe来看YUV文件,但其支持格式不够多。前段时间下定决定,将以前写的YUV转换代码完善一下,尽自己能力转换各种YUV格式。一来好久没练练MFC了(我在考虑要不要学C#),二来也写个工具自己使用。
我的YUV播放器MFC小笔记:解析文件名称
为了方便播放器直接播放,也为实现所谓智能识别文件分辨率和格式,对文件名称进行解析,代码如下:
我的YUV播放器MFC小笔记:注册表读写
在使用YUV Player Deluxe时,发现其可保存上一次的参数,研究之后,才知道它是使用注册表来实现的。下面是YUV播放器与注册表有关的函数接口,注册表与了我的大名外,其它值是参照YUV Player Deluxe的。在写这篇文章时,还没有空完全实现播放参数的保存,主要是用户自定义的分辨率的添加和删除,还要排序。有点工作量。
我的YUV播放器MFC小笔记:右键菜单事件和非标题实现鼠标拖动
鼠标右键弹出菜单代码如下:
// 右键菜单
void CYUVPlayerDlg::OnContextMenu(CWnd* pWnd, CPoint point)
{
// TODO: Add your message handler code here
CMenu popMenu;
CMenu *pPopup;
popMenu.LoadMenu(IDR_MENU2);
pPopup=popMenu.GetSubMenu(0);
pPopup->EnableMenuItem(ID_R_OPEN, MF_BYCOMMAND|MF_ENABLED);
pPopup->EnableMenuItem(ID_R_SETTING, MF_BYCOMMAND|MF...
我的YUV播放器MFC小笔记:设置picture控件背景为黑色、窗口缩放
图像的显示主要使用picture控件,一般播放器,在初始化时,播放画面的区域背景都是黑色的,在YUV播放器,也如此。但在网上找了很久的资料才实现该功能,其实说白了,代码很简单,在OnPaint函数中将picture画为黑色即可。
我的YUV播放器MFC小笔记:非模态对话框建立及窗口间传值
YUV播放器中,显示界面(主窗口)和设置界面分离,所有参数均在Setting子窗口设置,故需要主窗口和子窗口中实现参数传递。下面是方法。