📄 staticex.h
字号:
#if !defined(AFX_STATICEX_H__F5E49F11_02CB_4FA1_9E34_5476FA0BD13C__INCLUDED_)#define AFX_STATICEX_H__F5E49F11_02CB_4FA1_9E34_5476FA0BD13C__INCLUDED_#if _MSC_VER > 1000#pragma once#endif // _MSC_VER > 1000// StaticEx.h : header file//#include "..\\inc\\cg300-32.h"#include "..\\inc\\VideoDispCtl.h"#include "macrodef.h"/////////////////////////////////////////////////////////////////////////////// CStaticEx windowclass CStaticEx : public CStatic{// Construction// Constructionpublic: CStaticEx(); CStaticEx(int iNum); virtual ~CStaticEx();// Attributespublic: static int m_staticCounts; //当前图像卡总数 静态变量,被该类的所有对象共享,使用类名和::操作符 HCG300 m_hCG300; //播放器所对应图像卡句柄 HDDRAW m_hDDraw; //DirectDraw动态库支持句柄 int m_iNum; //播放器序号,从1开始 int m_iOpd; //标识播放器当前操作码 int m_iScrnBitsPixel; //桌面颜色位深度 //图像卡采集硬件控制参数 int m_iDataFormat; //采集数据颜色格式 int m_iShowMode; //显示裁减/比例模式 int m_iVideoStand; //视频制式 int m_iCryc; //晶振 int m_iFormMode; //数据采集帧/场模式 int m_iStoreFmt; //数据存储帧/场模式 //播放器图像显示调节控制属性 int m_iBrightness; //图像亮度 int m_iContrast; //图像对比度 int m_iHue; //图像色调 int m_iSaturation; //图像饱和度 int m_iPll; //NTSC制式微调控制 int m_iSource; //视频源路 //播放器回放时拥有的静态内存物理起始地址 DWORD m_dwLineAddrOffset; int m_iFrameNum; //采集到内存中的帧数 int m_iCurFrame; //当前显示帧 int m_iImageSize; //每幅图像大小 CSize m_szSource; //数据源宽高 //当前实际有效的显示区域屏幕坐标 CRect m_rectVideo; //指向BITMAPINFO的指针 BITMAPINFO *m_pbminfo; static int m_iCountStaticEx; private: BOOL m_bOpen; //图像卡是否打开 static CPalette m_palFor8Bit; //所有播放器共用的调色板 static BOOL m_bPalInited; //标识调色板是否被初始化,保证调色板只被初始化一次 BYTE m_byBuffer[2048]; //m_pbminfo所指向的数据区域,保证足够大// Operationsprivate: //由位深度到图像数据格式转换函数 BYTE GetSpaceFormat(int iBitsPixel) const ; //设置BITMAPINFO结构,用于BLT BOOL SetBitmapInfo(const CSize &size, int iBMBit);public: BOOL CaptureToVGA(BOOL bEnable); int OnCreate(); BOOL Display(); //将存于内存的连续图像存于文件 BOOL SaveToBMP(const CString &strName); //设置图像数据的输入窗口和显示窗口 BOOL SetDispWindow(BOOL bEnable = TRUE); //直接采集到屏幕 //在播放器内部微调显示区域,使显示区域满足图像卡输出区域限制, //如宽为4倍数,高为2倍数 //逐帧回放函数 BOOL PlayBackFrame(); //设置回放参数 BOOL SetPlayBackParam(DWORD dwLineAddrOffset, int iFrameNum, int iImageSize, CSize szSource);// Overrides // ClassWizard generated virtual function overrides //{{AFX_VIRTUAL(CStaticEx)// protected:// virtual BOOL PreCreateWindow(CREATESTRUCT& cs); //linca //}}AFX_VIRTUAL// Implementation // Generated message map functionsprotected: //{{AFX_MSG(CStaticEx) afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct); afx_msg void OnPaletteChanged(CWnd* pFocusWnd); afx_msg void OnLButtonDown(UINT nFlags, CPoint point); //}}AFX_MSG DECLARE_MESSAGE_MAP()};///////////////////////////////////////////////////////////////////////////////{{AFX_INSERT_LOCATION}}// Microsoft Visual C++ will insert additional declarations immediately before the previous line.#endif // !defined(AFX_STATICEX_H__F5E49F11_02CB_4FA1_9E34_5476FA0BD13C__INCLUDED_)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -