亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來(lái)到蟲(chóng)蟲(chóng)下載站! | ?? 資源下載 ?? 資源專(zhuān)輯 ?? 關(guān)于我們
? 蟲(chóng)蟲(chóng)下載站

?? picture.cpp

?? 一個(gè)完整的學(xué)生管理系統(tǒng)很好
?? CPP
?? 第 1 頁(yè) / 共 2 頁(yè)
字號(hào):
//-----------------------------------------------------------------------------
// Picture (Implementations) Version 1.00
//
// Routins 4 Showing Picture Files... (.BMP .DIB .EMF .GIF .ICO .JPG .WMF)
//
// Author: Dr. Yovav Gad, EMail: Sources@SuperMain.com ,Web: www.SuperMain.com
//=============================================================================
// 
// Full Story:
// ~~~~~~~~~~~
// There R Many Libraries To Handle Image Files, Anyway Most Of Them Do Not
// Include Source Files Or Just Very Complicated To Implement / Understand,
// 
// After Many Days Of Searching (And Not Finding) a Way To Load a JPG From a
// Resource And Show It On a *Dialog Based* Application, I Decided 2 Take Steps
//
// So I Created What I Call a Very *Simple* & Useful Class,
// It Can Easily Implemented By Adding It To a Project, And U Do Not Have To
// Be a Real JPEG Freak - And Invent All Header Reading From The Beginning
// (It Uses The IPicture Interface - Same Way As Internet Explorer Does)
//
// I Would Like To Thank Mr.Peter Hendrix For His Wonderful Work
// That I Found On: http://www.thecodeproject.com/bitmap/cpicture.asp
// Which I Was Inspired And Got The IPicture Interface Idea From...
//
// Guess U Will Find It Useful,
// Appreciate If U Can Mention My Name On Your Final Code,
// Please Feel Free To Send Me Any Improvements Or SaveAsJPG() Functions:
//
// (This Program Has No Bugs - Only Undocumented Solutions)
//
// Author: Dr. Yovav Gad, EMail: Sources@SuperMain.com ,Web: www.SuperMain.com
//
//--------------------------Example & Usage 4 Dummies--------------------------
//
//  U Need 2 Add "CPicture.CPP" and "CPicture.H" Into Your Project (From FileView)
//  So U Will Get Control Over The Functions In This Class,
//  Then U Can Create a Picture Object And Show It On a Device Context
//
//  CPicture m_Picture;  // Create a Picture Object (An Instance Of This Class)
//  #include "Picture.h" // Make Sure U Include This Where U Gonna Create The Object...
//
//  Load Picture Data Into The IPicture Interface (.BMP .DIB .EMF .GIF .ICO .JPG .WMF)
//  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//	m_Picture.Load("Test.JPG"); // Load From a File - Just Load It (Show Later)
//	m_Picture.Load(IDR_TEST, "JPG"); // Load From a Resource - Just Load It (Show Later)
//  (U Must Include IDR_TEST In Your Resources Under a Custom Name, 4 Example - "JPG")
//  
//  When Using DC Object On a *Dialog Based* Application (CPaintDC dc(this);)
//  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//	m_Picture.UpdateSizeOnDC(&dc); // Get Picture Dimentions In Pixels
//	m_Picture.Show(&dc, CPoint(0,0), CPoint(m_Picture.m_Width, m_Picture.m_Height), 0,0);
//	m_Picture.Show(&dc, CRect(0,0,100,100)); // Change Original Dimentions
//	m_Picture.ShowBitmapResource(&dc, IDB_TEST, CPoint(0,0)); // Show Bitmap Resource
//
//  OR When Using a Pointer On a "Regular" MFC Application (CDC* pDC)
//  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//	m_Picture.UpdateSizeOnDC(pDC); // Get Picture Dimentions In Pixels
//	m_Picture.Show(pDC, CPoint(0,0), CPoint(m_Picture.m_Width, m_Picture.m_Height), 0,0);
//	m_Picture.Show(pDC, CRect(0,0,100,100)); // Change Original Dimentions
//	m_Picture.ShowBitmapResource(pDC, IDB_TEST, CPoint(0,0)); // Show Bitmap Resource
//
//  Show Picture Information
//  ~~~~~~~~~~~~~~~~~~~~~~~~
//	CString S;
//	S.Format("Size = %4d\nWidth = %4d\nHeight = %4d\nWeight = %4d\n",
//	m_Picture.m_Weight, m_Picture.m_Width, m_Picture.m_Height, m_Picture.m_Weight);
//	AfxMessageBox(S);
//
//----------------------------Cut The Bullshit Here----------------------------

#include "stdafx.h"
#include "Picture.h"

#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

#define HIMETRIC_INCH 2540
#define ERROR_TITLE "CPicture Error" // Error Title (Related To This Class)...

//-----------------------------------------------------------------------------
// Does:   Constructor - Create a New CPicture Object To Hold Picture Data
// ~~~~
//
//-----------------------------------------------------------------------------
CPicture::CPicture()
//=============================================================================
{
	m_IPicture = NULL;
	m_Height = 0;
	m_Weight = 0;
	m_Width = 0;
}

//-----------------------------------------------------------------------------
// Does:   Destructor - Free Data And Information From The CPicture Object
// ~~~~
//
//-----------------------------------------------------------------------------
CPicture::~CPicture()
//=============================================================================
{
	if(m_IPicture != NULL) FreePictureData(); // Important - Avoid Leaks...
}


//-----------------------------------------------------------------------------
// Does:   Free The Allocated Memory That Holdes The IPicture Interface Data
// ~~~~    And Clear Picture Information
//
// Note:   This Might Also Be Useful If U Only Need To Show The Picture Once
// ~~~~~   Or If U Copy The Picture To The Device Context, So It Can Still
//         Remain On Screen - But IPicture Data Is Not Needed No More
//
//-----------------------------------------------------------------------------
void CPicture::FreePictureData()
//=============================================================================
{
	if(m_IPicture != NULL)
		{
		m_IPicture->Release();
		m_IPicture = NULL;
		m_Height = 0;
		m_Weight = 0;
		m_Width = 0;
		}
}

//-----------------------------------------------------------------------------
// Does:   Open a Resource And Load It Into IPicture (Interface)
// ~~~~    (.BMP .DIB .EMF .GIF .ICO .JPG .WMF)
//
// Note:   When Adding a Bitmap Resource It Would Automatically Show On "Bitmap"
// ~~~~    This NOT Good Coz We Need To Load It From a Custom Resource "BMP"
//         To Add a Custom Rresource: Import Resource -> Open As -> Custom
//         (Both .BMP And .DIB Should Be Found Under "BMP")
//
// InPut:  ResourceName - As a UINT Defined (Example: IDR_PICTURE_RESOURCE)
// ~~~~~   ResourceType - Type Name (Example: "JPG")
//
// OutPut: TRUE If Succeeded...
// ~~~~~~
//-----------------------------------------------------------------------------
BOOL CPicture::Load(UINT ResourceName, LPCSTR ResourceType)
//=============================================================================
{
	BOOL bResult = FALSE;

	HGLOBAL		hGlobal = NULL;
	HRSRC		hSource = NULL;
	LPVOID		lpVoid  = NULL;
	int			nSize   = 0;

	if(m_IPicture != NULL) FreePictureData(); // Important - Avoid Leaks...

	hSource = FindResource(AfxGetResourceHandle(), MAKEINTRESOURCE(ResourceName), ResourceType);

	if(hSource == NULL)
		{
		HWND hWnd = AfxGetApp()->GetMainWnd()->m_hWnd;
		MessageBoxEx(hWnd, "FindResource() Failed\t", ERROR_TITLE, MB_OK | MB_ICONSTOP, LANG_ENGLISH);
		return(FALSE);
		}

	hGlobal = LoadResource(AfxGetResourceHandle(), hSource);
	if(hGlobal == NULL)
		{
		HWND hWnd = AfxGetApp()->GetMainWnd()->m_hWnd;
		MessageBoxEx(hWnd, "LoadResource() Failed\t", ERROR_TITLE, MB_OK | MB_ICONSTOP, LANG_ENGLISH);
		return(FALSE);
		}

	lpVoid = LockResource(hGlobal);
	if(lpVoid == NULL)
		{
		HWND hWnd = AfxGetApp()->GetMainWnd()->m_hWnd;
		MessageBoxEx(hWnd, "LockResource() Failed\t", ERROR_TITLE, MB_OK | MB_ICONSTOP, LANG_ENGLISH);
		return(FALSE);
		}

	nSize = (UINT)SizeofResource(AfxGetResourceHandle(), hSource);
	if(LoadPictureData((BYTE*)hGlobal, nSize)) bResult = TRUE;

	UnlockResource(hGlobal); // 16Bit Windows Needs This
	FreeResource(hGlobal); // 16Bit Windows Needs This (32Bit - Automatic Release)

	m_Weight = nSize; // Update Picture Size Info...

	if(m_IPicture != NULL) // Do Not Try To Read From Memory That Is Not Exist...
		{ 
		m_IPicture->get_Height(&m_Height);
		m_IPicture->get_Width(&m_Width);
	    // Calculate Its Size On a "Standard" (96 DPI) Device Context
	    m_Height = MulDiv(m_Height, 96, HIMETRIC_INCH);
	    m_Width  = MulDiv(m_Width,  96, HIMETRIC_INCH);
		}
	else // Picture Data Is Not a Known Picture Type
		{
		m_Height = 0;
		m_Width = 0;
		bResult = FALSE;
		}

	return(bResult);
}

//-----------------------------------------------------------------------------
// Does:   Open a File And Load It Into IPicture (Interface)
// ~~~~    (.BMP .DIB .EMF .GIF .ICO .JPG .WMF)
//
// InPut:  sFilePathName - Path And FileName Target To Save
// ~~~~~   
//
// OutPut: TRUE If Succeeded...
// ~~~~~~
//-----------------------------------------------------------------------------
BOOL CPicture::Load(CString sFilePathName)
//=============================================================================
{
	BOOL bResult = FALSE;
	CFile PictureFile;
	CFileException e;
	int	nSize = 0;

	if(m_IPicture != NULL) FreePictureData(); // Important - Avoid Leaks...

	if(PictureFile.Open(sFilePathName, CFile::modeRead | CFile::typeBinary, &e))
		{
		nSize = PictureFile.GetLength();
		BYTE* pBuffer = new BYTE[nSize];
	
		if (PictureFile.Read(pBuffer, nSize) > 0 )  //從文件讀到pBuffer
			{ if(LoadPictureData(pBuffer, nSize))	bResult = TRUE;	}//接作調(diào)用函數(shù)讀pBuffer

		PictureFile.Close();
		
		delete [] pBuffer;
		}
	else // Open Failed...
		{
		TCHAR szCause[255];
		e.GetErrorMessage(szCause, 255, NULL);
		HWND hWnd = AfxGetApp()->GetMainWnd()->m_hWnd;
		MessageBoxEx(hWnd, szCause, ERROR_TITLE, MB_OK | MB_ICONSTOP, LANG_ENGLISH);
		bResult = FALSE;
		}

	m_Weight = nSize; // Update Picture Size Info...

	if(m_IPicture != NULL) // Do Not Try To Read From Memory That Is Not Exist...
		{ 
		m_IPicture->get_Height(&m_Height);
		m_IPicture->get_Width(&m_Width);
	    // Calculate Its Size On a "Standard" (96 DPI) Device Context
	    m_Height = MulDiv(m_Height, 96, HIMETRIC_INCH);
	    m_Width  = MulDiv(m_Width,  96, HIMETRIC_INCH);
		}
	else // Picture Data Is Not a Known Picture Type
		{
		m_Height = 0;
		m_Width = 0;
		bResult = FALSE;
		}

	return(bResult);
}

//-----------------------------------------------------------------------------
// Does:   Read The Picture Data From a Source (File / Resource)
// ~~~~    And Load It Into The Current IPicture Object In Use
//
// InPut:  Buffer Of Data Source (File / Resource) And Its Size
// ~~~~~   
//
// OutPut: Feed The IPicture Object With The Picture Data
// ~~~~~~  (Use Draw Functions To Show It On a Device Context)
//         TRUE If Succeeded...
//-----------------------------------------------------------------------------
BOOL CPicture::LoadPictureData(BYTE *pBuffer, int nSize)
//=============================================================================
{
	BOOL bResult = FALSE;

	HGLOBAL hGlobal = GlobalAlloc(GMEM_MOVEABLE, nSize);

	if(hGlobal == NULL)
		{
		HWND hWnd = AfxGetApp()->GetMainWnd()->m_hWnd;
		MessageBoxEx(hWnd, "Can not allocate enough memory\t", ERROR_TITLE, MB_OK | MB_ICONSTOP, LANG_ENGLISH);
		return(FALSE);
		}

	void* pData = GlobalLock(hGlobal);

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美一区二区视频观看视频| 性欧美疯狂xxxxbbbb| 久草在线在线精品观看| 国产精品视频一区二区三区不卡| 99精品久久久久久| 久久久久久久久久久黄色| 色香色香欲天天天影视综合网| 免费av网站大全久久| 亚洲乱码国产乱码精品精的特点 | 亚洲色欲色欲www在线观看| 欧美一区二区在线看| 精品婷婷伊人一区三区三| 成人午夜视频在线观看| 国产suv精品一区二区883| 国产九九视频一区二区三区| 久久国产精品露脸对白| 久久精品国产网站| 青青草一区二区三区| 奇米精品一区二区三区四区 | 精品国产乱码久久久久久老虎| 色哟哟在线观看一区二区三区| 成人久久18免费网站麻豆 | 欧美一二区视频| 欧美一区二区三区视频| 欧美一区二区精美| 91精品久久久久久久91蜜桃| 欧美一区二区三区男人的天堂| 91热门视频在线观看| 91一区二区三区在线播放| 一本久久a久久精品亚洲| 国产精品久久久久久久久搜平片| 91麻豆精品国产91久久久使用方法| 欧美日韩精品欧美日韩精品| 91精品综合久久久久久| 欧美电影一区二区| 欧美电影免费观看高清完整版| 欧美精品一区二区三区高清aⅴ | 国产女人aaa级久久久级 | 蜜臀av国产精品久久久久 | 精品视频1区2区| 精品国产三级电影在线观看| 欧美精品一区二区三| 国产欧美在线观看一区| 国产精品萝li| 丝袜美腿高跟呻吟高潮一区| 国产一区美女在线| 成人av在线影院| 欧美在线视频日韩| 久久精品视频免费| 日韩精品一区国产麻豆| 精品国产免费视频| 中文字幕亚洲一区二区va在线| 亚洲一区国产视频| 国产精品99久久久久久久vr| 欧美三区免费完整视频在线观看| 欧美成人精品高清在线播放| 亚洲色图另类专区| 精品亚洲成a人| 欧美又粗又大又爽| 亚洲国产经典视频| 毛片一区二区三区| 91国偷自产一区二区三区成为亚洲经典 | 粉嫩一区二区三区性色av| av不卡免费电影| 日韩欧美在线影院| 亚洲男人都懂的| 国产成人精品综合在线观看 | 国产精品色在线观看| 免费成人美女在线观看| 色天天综合色天天久久| 欧美激情中文不卡| 狠狠色丁香婷婷综合久久片| 欧美私人免费视频| 成人欧美一区二区三区1314| 国产在线播精品第三| 在线91免费看| 一区二区三区四区中文字幕| 国产91精品露脸国语对白| 精品国产a毛片| 蜜桃视频在线观看一区| 欧美日韩精品欧美日韩精品 | 免费在线看一区| 欧美综合欧美视频| 亚洲色图在线视频| 国产成人精品一区二区三区四区| 欧美xxxx老人做受| 日韩av一区二区三区四区| 欧美性videosxxxxx| 亚洲乱码中文字幕| 盗摄精品av一区二区三区| 精品1区2区在线观看| 蜜桃av一区二区三区电影| 欧美伦理影视网| 亚洲综合激情网| 色婷婷综合久久久| 亚洲激情五月婷婷| 97超碰欧美中文字幕| 午夜伊人狠狠久久| 色欧美乱欧美15图片| 丁香网亚洲国际| 男人的天堂亚洲一区| 精品国产成人系列| 一本色道久久综合亚洲aⅴ蜜桃| 一区二区三区日韩欧美| 7777精品伊人久久久大香线蕉最新版| 青青草97国产精品免费观看无弹窗版| 精品久久久久久久一区二区蜜臀| 国产在线精品一区二区三区不卡| 久久精品视频免费| 亚洲最快最全在线视频| 国产乱码精品一品二品| 久久亚区不卡日本| 国产精品综合视频| 中文字幕第一区第二区| 成人激情视频网站| 亚洲日本成人在线观看| 欧美最猛性xxxxx直播| 婷婷中文字幕一区三区| 制服丝袜在线91| 久久成人免费网| 国产日韩精品一区二区三区在线| 成人毛片在线观看| 亚洲精品乱码久久久久久| 欧洲另类一二三四区| 午夜精品一区二区三区三上悠亚| 337p亚洲精品色噜噜噜| 激情图区综合网| 日本一区二区综合亚洲| 色综合网色综合| 亚欧色一区w666天堂| 日韩欧美三级在线| 国产成人亚洲综合a∨婷婷图片| 国产精品久久久久影院色老大| 91精品91久久久中77777| 日韩在线一二三区| 欧美精品一区二区三区一线天视频| 国产成人在线影院| 亚洲一区二区五区| 精品粉嫩超白一线天av| 91在线看国产| 免费人成在线不卡| 国产日韩一级二级三级| 欧美亚男人的天堂| 国产在线麻豆精品观看| 一区二区三区中文在线| 精品对白一区国产伦| 色偷偷88欧美精品久久久| 蜜桃精品视频在线观看| 亚洲三级视频在线观看| 欧美v日韩v国产v| 91麻豆视频网站| 国内精品伊人久久久久av影院 | 日韩欧美国产一区二区三区| 粉嫩av亚洲一区二区图片| 亚洲小说欧美激情另类| 久久精品视频在线看| 欧美性猛片aaaaaaa做受| 国产麻豆精品视频| 亚洲成a人v欧美综合天堂| 国产精品网站在线观看| 欧美一区二区在线看| 91在线观看地址| 精品亚洲成a人| 亚洲福利国产精品| 欧美国产国产综合| 91精品国产免费| 欧美性猛交xxxx黑人交| 成人黄色大片在线观看| 中文字幕av免费专区久久| 亚洲最新在线观看| 欧美精品黑人性xxxx| 亚洲激情图片一区| 国产精品综合一区二区三区| 欧洲一区在线电影| 日本一区二区综合亚洲| 无吗不卡中文字幕| 99久久99久久综合| 久久午夜色播影院免费高清| 亚洲午夜精品17c| 91丨porny丨蝌蚪视频| 亚洲国产高清在线| 美女视频免费一区| 久久国产三级精品| 一级中文字幕一区二区| 国产精品嫩草久久久久| 久久这里都是精品| 欧美一区二区精品久久911| 欧美日韩在线一区二区| 一本一道综合狠狠老| 91网站在线观看视频| eeuss国产一区二区三区| 国产成a人亚洲精品| 国产精品一线二线三线| 国产一区二区三区四区在线观看| 午夜精品久久久久久久蜜桃app| 亚洲免费看黄网站| 亚洲视频在线观看三级| 中文一区二区在线观看| 欧美国产日韩a欧美在线观看| 久久久一区二区|