資源簡(jiǎn)介
基于dirextx 利用像素著色器實(shí)現(xiàn)圖像的亮度,飽和度,色相,對(duì)比度,變灰,反相操作

代碼片段和文件信息
//?directxps_hsl.cpp?:?定義應(yīng)用程序的類行為。
//
#include?“stdafx.h“
#include?“directxps_hsl.h“
#include?“MainFrm.h“
#include?“directxps_hslDoc.h“
#include?“directxps_hslView.h“
#ifdef?_DEBUG
#define?new?DEBUG_NEW
#endif
//?Cdirectxps_hslApp
BEGIN_MESSAGE_MAP(Cdirectxps_hslApp?CWinApp)
ON_COMMAND(ID_APP_ABOUT?&Cdirectxps_hslApp::OnAppAbout)
//?基于文件的標(biāo)準(zhǔn)文檔命令
ON_COMMAND(ID_FILE_NEW?&CWinApp::OnFileNew)
ON_COMMAND(ID_FILE_OPEN?&CWinApp::OnFileOpen)
END_MESSAGE_MAP()
//?Cdirectxps_hslApp?構(gòu)造
Cdirectxps_hslApp::Cdirectxps_hslApp()
{
//?TODO:?在此處添加構(gòu)造代碼,
//?將所有重要的初始化放置在?InitInstance?中
}
//?唯一的一個(gè)?Cdirectxps_hslApp?對(duì)象
Cdirectxps_hslApp?theApp;
//?Cdirectxps_hslApp?初始化
BOOL?Cdirectxps_hslApp::InitInstance()
{
//?如果一個(gè)運(yùn)行在?Windows?XP?上的應(yīng)用程序清單指定要
//?使用?ComCtl32.dll?版本?6?或更高版本來啟用可視化方式,
//則需要?InitCommonControlsEx()。否則,將無法創(chuàng)建窗口。
INITCOMMONCONTROLSEX?InitCtrls;
InitCtrls.dwSize?=?sizeof(InitCtrls);
//?將它設(shè)置為包括所有要在應(yīng)用程序中使用的
//?公共控件類。
InitCtrls.dwICC?=?ICC_WIN95_CLASSES;
InitCommonControlsEx(&InitCtrls);
CWinApp::InitInstance();
//?初始化?OLE?庫(kù)
if?(!AfxOleInit())
{
AfxMessageBox(IDP_OLE_INIT_FAILED);
return?FALSE;
}
AfxEnableControlContainer();
//?標(biāo)準(zhǔn)初始化
//?如果未使用這些功能并希望減小
//?最終可執(zhí)行文件的大小,則應(yīng)移除下列
//?不需要的特定初始化例程
//?更改用于存儲(chǔ)設(shè)置的注冊(cè)表項(xiàng)
//?TODO:?應(yīng)適當(dāng)修改該字符串,
//?例如修改為公司或組織名
SetRegistryKey(_T(“應(yīng)用程序向?qū)傻谋镜貞?yīng)用程序“));
LoadStdProfileSettings(4);??//?加載標(biāo)準(zhǔn)?INI?文件選項(xiàng)(包括?MRU)
//?注冊(cè)應(yīng)用程序的文檔模板。文檔模板
//?將用作文檔、框架窗口和視圖之間的連接
CSingleDocTemplate*?pDocTemplate;
pDocTemplate?=?new?CSingleDocTemplate(
IDR_MAINframe
RUNTIME_CLASS(Cdirectxps_hslDoc)
RUNTIME_CLASS(CMainframe)???????//?主?SDI?框架窗口
RUNTIME_CLASS(CDirectxps_hslView));
if?(!pDocTemplate)
return?FALSE;
AddDocTemplate(pDocTemplate);
//?分析標(biāo)準(zhǔn)外殼命令、DDE、打開文件操作的命令行
CCommandLineInfo?cmdInfo;
ParseCommandLine(cmdInfo);
//?調(diào)度在命令行中指定的命令。如果
//?用?/RegServer、/Register、/Unregserver?或?/Unregister?啟動(dòng)應(yīng)用程序,則返回?FALSE。
if?(!ProcessShellCommand(cmdInfo))
return?FALSE;
//?唯一的一個(gè)窗口已初始化,因此顯示它并對(duì)其進(jìn)行更新
m_pMainWnd->ShowWindow(SW_SHOW);
m_pMainWnd->UpdateWindow();
//?僅當(dāng)具有后綴時(shí)才調(diào)用?DragAcceptFiles
//??在?SDI?應(yīng)用程序中,這應(yīng)在?ProcessShellCommand??之后發(fā)生
return?TRUE;
}
BOOL?Cdirectxps_hslApp::OnIdle(LONG?lCount)
{
CMainframe*?pMainframe?=?dynamic_castame*>(m_pMainWnd);
CDirectxps_hslView*?pView?=?dynamic_cast(pMainframe->GetActiveView());
pView->Render();
return?true;//CWinApp::OnIdle(lCount);
}
//?用于應(yīng)用程序“關(guān)于”菜單項(xiàng)的?CAboutDlg?對(duì)話框
class?CAboutDlg?:?public?CDialog
{
public:
CAboutDlg();
//?對(duì)話框數(shù)據(jù)
enum?{?IDD?=?IDD_ABOUTBOX?};
protected:
virtual?void?DoDataExchange(CDataExchange*?pDX);????//?DDX/DDV?支持
//?實(shí)現(xiàn)
protected:
DECLARE_MESSAGE_MAP()
};
CAboutDlg::CAboutDlg()?:?CDialog(CAboutDlg::IDD)
{
}
void?CAboutDlg::DoDataExchange(CDataExchange*?pDX)
{
CDialog::DoDataExchange(pDX);
}
BEGIN_MESSAGE_MAP(CAboutDlg?CDialog)
END_MESSAGE_MAP()
//?用于運(yùn)行對(duì)話
?屬性????????????大小?????日期????時(shí)間???名稱
-----------?---------??----------?-----??----
?????文件????1645324??2010-12-27?15:43??directxps_hsl\debug\directxps_hsl.ilk
?????文件???????6334??2010-12-27?15:43??directxps_hsl\directxps_hsl\Debug\BuildLog.htm
?????文件??????67352??2010-12-27?15:43??directxps_hsl\directxps_hsl\directxps_hsl.aps
?????文件???????3559??2010-12-24?15:47??directxps_hsl\directxps_hsl\directxps_hsl.cpp
?????文件????????558??2010-12-24?15:41??directxps_hsl\directxps_hsl\directxps_hsl.h
?????文件??????11083??2010-12-27?15:43??directxps_hsl\directxps_hsl\directxps_hsl.rc
?????文件???????6072??2010-12-27?10:30??directxps_hsl\directxps_hsl\directxps_hsl.vcproj
?????文件???????1427??2010-12-27?15:45??directxps_hsl\directxps_hsl\directxps_hsl.vcproj.CHINA-B3D29026B.Administrator.user
?????文件???????1147??2010-12-24?14:41??directxps_hsl\directxps_hsl\directxps_hslDoc.cpp
?????文件????????588??2010-12-24?14:41??directxps_hsl\directxps_hsl\directxps_hslDoc.h
?????文件??????14067??2010-12-27?15:39??directxps_hsl\directxps_hsl\directxps_hslView.cpp
?????文件???????2321??2010-12-27?15:22??directxps_hsl\directxps_hsl\directxps_hslView.h
?????文件???????1130??2010-12-27?12:29??directxps_hsl\directxps_hsl\hslps.txt
?????文件????????932??2010-12-27?15:41??directxps_hsl\directxps_hsl\MainFrm.cpp
?????文件????????509??2010-12-24?14:41??directxps_hsl\directxps_hsl\MainFrm.h
?????文件???????3242??2010-12-24?15:00??directxps_hsl\directxps_hsl\ReadMe.txt
?????文件??????12464??2010-12-27?15:44??directxps_hsl\directxps_hsl\Release\BuildLog.htm
?????文件??????21630??2005-11-11?22:45??directxps_hsl\directxps_hsl\res\directxps_hsl.ico
?????文件????????369??2010-12-24?14:41??directxps_hsl\directxps_hsl\res\directxps_hsl.rc2
?????文件???????1078??2005-11-11?22:44??directxps_hsl\directxps_hsl\res\directxps_hslDoc.ico
????..A.SH.??????3584??2010-12-24?16:25??directxps_hsl\directxps_hsl\res\Thumbs.db
?????文件???????1739??2010-12-27?11:23??directxps_hsl\directxps_hsl\resource.h
?????文件????????144??2010-12-24?14:41??directxps_hsl\directxps_hsl\stdafx.cpp
?????文件???????2597??2010-12-27?10:57??directxps_hsl\directxps_hsl\stdafx.h
?????文件???????4573??2010-12-27?12:15??directxps_hsl\directxps_hsl\ToolPanelDlg.cpp
?????文件???????1728??2010-12-27?11:26??directxps_hsl\directxps_hsl\ToolPanelDlg.h
?????文件????????904??2010-12-24?14:41??directxps_hsl\directxps_hsl.sln
????..A..H.?????48640??2010-12-27?15:45??directxps_hsl\directxps_hsl.suo
?????目錄??????????0??2010-12-27?15:45??directxps_hsl\directxps_hsl\Debug
?????目錄??????????0??2010-12-27?15:45??directxps_hsl\directxps_hsl\Release
............此處省略8個(gè)文件信息
評(píng)論
共有 條評(píng)論