-
大小: 117KB文件類型: .rar金幣: 2下載: 0 次發(fā)布日期: 2021-05-26
- 語言: 其他
- 標簽: 圓環(huán)按扭??
資源簡介
PtzControl.h
云臺控制控件,包含八個調(diào)整方向按扭(分別為上、下、左、右、左上、左下、右上、右下)
和六個調(diào)焦、放大按扭(分別為焦距+、焦距-、光學放大、光學縮小、光圈+、光圈-);
參見:http://blog.csdn.net/passfuhao/article/details/72639580

代碼片段和文件信息
#include?“stdafx.h“
#include?
#include?“PtzControl.h“
using?namespace?Gdiplus;
IMPLEMENT_DYNAMIC(CPtzControl?CWnd)
BEGIN_MESSAGE_MAP(?CPtzControl?CWnd?)
ON_WM_SIZE()
ON_WM_PAINT()
ON_WM_CREATE()
ON_WM_DESTROY()
ON_WM_LBUTTONUP()
ON_WM_ERASEBKGND()
ON_WM_LBUTTONDOWN()
END_MESSAGE_MAP()
CPtzControl::CPtzControl()
:?m_rcAzimuthButton(?0?0?0?0?)
?m_clrBkgnd(?GetSysColor(?COLOR_BTNFACE?)?)
?m_brAzimuthButtonBkgnd(?Color(?172?183?199?)?)
?m_hDownedButtonHandle(?NULL?)
?m_hbrClassBkgnd(?NULL?)
{
ClearButton();
}
CPtzControl::~CPtzControl()
{
ClearButton();
}
_Check_return_?BOOL?CPtzControl::ConstantRatioScaling(?__in?LPRECT?rcSrc?__in?LPSIZE?sizImg?__out?LPRECT?rcDst?)
{
__pragma(push_macro(?“WIDTH“?));
__pragma(push_macro(?“HEIGHT“?));
#undef?WIDTH
#undef?HEIGHT
#define?WIDTH(rc) ((rc).right-(rc).left)
#define?HEIGHT(rc) ((rc).bottom-(rc).top)
assert(?rcSrc?!=?NULL&&?sizImg?!=?NULL?&&?rcDst?!=?NULL?);
assert(?sizImg->cx?&&?sizImg->cy?);
if(?WIDTH(?*rcSrc?)?==?0?||?HEIGHT(?*rcSrc?)?==?0?||
sizImg->cx?==?0?||?sizImg->cy?==?0?){
SetRect(?rcDst?0?0?0?0?);
return?FALSE;
}
CONST?FLOAT?fWidth?=?(FLOAT)WIDTH(?*rcSrc?);
CONST?FLOAT?fHeight?=?(FLOAT)HEIGHT(?*rcSrc?);
CONST?FLOAT?fImageWidth?=?(FLOAT)sizImg->cx;
CONST?FLOAT?fImageHeight?=?(FLOAT)sizImg->cy;
//?如果在源矩形中能容納圖像。
if(?WIDTH(?*rcSrc?)?>=?sizImg->cx?&&?HEIGHT(?*rcSrc?)?>=?sizImg->cy?)
{
CONST?INT?nNewLeft?=?rcSrc->left?+?(INT)((fWidth?-?fImageWidth)?/?2);
CONST?INT?nNewTop?=?rcSrc->top?+?(INT)((fHeight?-?fImageHeight)?/?2);
return?SetRect(?rcDst?nNewLeft?nNewTop
nNewLeft?+?sizImg->cx?nNewTop?+?sizImg->cy?);
}
CONST?DOUBLE?dAspectRatio?=?fWidth?/?fHeight;
CONST?DOUBLE?dImageAspectRatio?=?fImageWidth?/?fImageHeight;
if(?dImageAspectRatio?>?dAspectRatio?)
{
INT?nNewHeight?=?(INT)std::ceil(?fWidth?/?fImageWidth?*?fImageHeight?);
INT?nCenteringFactor?=?(INT)std::ceil(?(fHeight?-?nNewHeight)?/?2?);
return?SetRect(?rcDst?rcSrc->left
rcSrc->top?+?nCenteringFactor
rcSrc->left?+?(INT)fWidth
rcSrc->top?+?nNewHeight?+?nCenteringFactor?);
}
else?if(?dImageAspectRatio? {
INT?nNewWidth?=?(INT)std::ceil(?fHeight?/?fImageHeight?*?fImageWidth?);
INT?nCenteringFactor?=?(INT)std::ceil(?(fWidth?-?nNewWidth)?/?2?);
return?SetRect(?rcDst?rcSrc->left?+?nCenteringFactor
rcSrc->top
rcSrc->left?+?nNewWidth?+?nCenteringFactor
rcSrc->top?+?(INT)fHeight?);
}
else{ //?好巧……
return?CopyRect(?rcDst?rcSrc?);
}
return?FALSE;
__pragma(pop_macro(?“WIDTH“?));
__pragma(pop_macro(?“HEIGHT“?));
}
VOID?CPtzControl::OnPaint()
{
CPaintDC?dc(?this?);
CDC?dcMem;
CBitmap?bmpMem;
CRect?rc(?dc.m_ps.rcPaint?)?rcIntersect?rcClient;
GetClientRect(?rcClient?);
ENSURE(?dcMem.CreateCompatibleDC(?&dc?)?&&
bmpMem.CreateCompatibleBitmap(?&dc?rcClient.Width()?rcClient.Height()?)?&&
d
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件???????3805??2017-05-23?12:08??PtzControl\海康艸泥瑪\PtzControl.h
?????文件???????1138??2017-05-18?16:55??PtzControl\海康艸泥瑪\resource.h
?????文件???????1578??2017-05-18?16:32??PtzControl\海康艸泥瑪\stdafx.h
?????文件????????234??2017-05-18?16:32??PtzControl\海康艸泥瑪\targetver.h
?????文件???????4429??2017-05-19?11:30??PtzControl\海康艸泥瑪\TrackControl.h
?????文件??????13298??2017-05-19?17:12??PtzControl\海康艸泥瑪\UIControl.h
?????文件????????326??2017-05-22?16:23??PtzControl\海康艸泥瑪\海康艸泥瑪.h
?????文件????????397??2017-05-22?16:23??PtzControl\海康艸泥瑪\海康艸泥瑪Dlg.h
?????文件??????16794??2017-05-23?14:31??PtzControl\海康艸泥瑪\PtzControl.cpp
?????文件????????143??2017-05-18?16:32??PtzControl\海康艸泥瑪\stdafx.cpp
?????文件?????????49??2017-05-19?11:29??PtzControl\海康艸泥瑪\UIControl.cpp
?????文件???????1082??2017-05-23?14:16??PtzControl\海康艸泥瑪\海康艸泥瑪.cpp
?????文件???????1128??2017-05-23?14:32??PtzControl\海康艸泥瑪\海康艸泥瑪Dlg.cpp
?????文件?????105472??2017-05-23?14:32??PtzControl\Release\海康艸泥瑪.exe
????.......?????67777??2013-07-22?01:18??PtzControl\海康艸泥瑪\res\海康艸泥瑪.ico
?????文件???????9108??2017-05-23?14:26??PtzControl\海康艸泥瑪\海康艸泥瑪.rc
?????文件????????660??2017-05-18?16:32??PtzControl\海康艸泥瑪\res\My.rc2
?????文件????????991??2017-05-23?14:14??PtzControl\海康艸泥瑪.sln
????..A..H.?????24064??2017-05-23?14:33??PtzControl\海康艸泥瑪.v12.suo
?????文件???????6412??2017-05-23?14:16??PtzControl\海康艸泥瑪\海康艸泥瑪.vcxproj
?????文件???????1707??2017-05-19?17:40??PtzControl\Release\skins\ptz\3D模式.png
?????文件???????1453??2017-05-19?17:40??PtzControl\Release\skins\ptz\3D模式_hover.png
?????文件???????1399??2017-05-19?17:40??PtzControl\Release\skins\ptz\3D模式_pressed.png
?????文件???????1508??2017-05-19?17:40??PtzControl\Release\skins\ptz\變倍-.png
?????文件???????1859??2017-05-19?17:40??PtzControl\Release\skins\ptz\變倍-_hover.png
?????文件???????2147??2017-05-19?17:40??PtzControl\Release\skins\ptz\變倍-_pressed.png
?????文件???????1534??2017-05-19?17:40??PtzControl\Release\skins\ptz\變倍+.png
?????文件???????1918??2017-05-19?17:40??PtzControl\Release\skins\ptz\變倍+_hover.png
?????文件???????2197??2017-05-19?17:40??PtzControl\Release\skins\ptz\變倍+_pressed.png
?????文件???????1120??2017-05-19?17:40??PtzControl\Release\skins\ptz\變焦-.png
............此處省略20個文件信息
評論
共有 條評論