資源簡介
計算機圖形學實驗代碼(包括圖形旋轉、圖形平移、圖形縮放) 內含C++源代碼和測試圖片

代碼片段和文件信息
//??dibapi.cpp
//
//??Source?file?for?Device-Independent?Bitmap?(DIB)?API.??Provides
//??the?following?functions:
//
//??PaintDIB()??????????-?Painting?routine?for?a?DIB
//??CreateDIBPalette()??-?Creates?a?palette?from?a?DIB
//??FindDIBBits()???????-?Returns?a?pointer?to?the?DIB?bits
//??DIBWidth()??????????-?Gets?the?width?of?the?DIB
//??DIBHeight()?????????-?Gets?the?height?of?the?DIB
//??PaletteSize()???????-?Gets?the?size?required?to?store?the?DIB‘s?palette
//??DIBNumColors()??????-?Calculates?the?number?of?colors
//????????????????????????in?the?DIB‘s?color?table
//??CopyHandle()????????-?Makes?a?copy?of?the?given?global?memory?block
//
//?This?is?a?part?of?the?Microsoft?Foundation?Classes?C++?library.
//?Copyright?(C)?1992-1997?Microsoft?Corporation
//?All?rights?reserved.
//
//?This?source?code?is?only?intended?as?a?supplement?to?the
//?Microsoft?Foundation?Classes?Reference?and?related
//?electronic?documentation?provided?with?the?library.
//?See?these?sources?for?detailed?information?regarding?the
//?Microsoft?Foundation?Classes?product.
#include?“stdafx.h“
#include?“dibapi.h“
#include?
#include?
#include?
#define?DIB_HEADER_MARKER???((WORD)?(‘M‘?<8)?|?‘B‘)
#ifdef?_MAC
#define?SWAPWORD(x)?MAKEWORD(HIBYTE(x)?LOBYTE(x))
#define?SWAPLONG(x)?MAKELONG(SWAPWORD(HIWORD(x))?SWAPWORD(LOWORD(x)))
void?ByteSwapHeader(BITMAPFILEHEADER*?bmiHeader);
void?ByteSwapInfo(LPSTR?lpHeader?BOOL?fWin30Header);
#endif
/*************************************************************************
?*
?*?PaintDIB()
?*
?*?Parameters:
?*
?*?HDC?hDC??????????-?DC?to?do?output?to
?*
?*?LPRECT?lpDCRect??-?rectangle?on?DC?to?do?output?to
?*
?*?HDIB?hDIB????????-?handle?to?global?memory?with?a?DIB?spec
?*????????????????????in?it?followed?by?the?DIB?bits
?*
?*?LPRECT?lpDIBRect?-?rectangle?of?DIB?to?output?into?lpDCRect
?*
?*?CPalette*?pPal???-?pointer?to?CPalette?containing?DIB‘s?palette
?*
?*?Return?Value:
?*
?*?BOOL?????????????-?TRUE?if?DIB?was?drawn?FALSE?otherwise
?*
?*?Description:
?*???Painting?routine?for?a?DIB.??Calls?StretchDIBits()?or
?*???SetDIBitsToDevice()?to?paint?the?DIB.??The?DIB?is
?*???output?to?the?specified?DC?at?the?coordinates?given
?*???in?lpDCRect.??The?area?of?the?DIB?to?be?output?is
?*???given?by?lpDIBRect.
?*
?************************************************************************/
BOOL?WINAPI?PaintDIB(HDC?????hDC
LPRECT??lpDCRect
HDIB????hDIB
LPRECT??lpDIBRect
CPalette*?pPal)
{
LPSTR????lpDIBHdr;????????????//?Pointer?to?BITMAPINFOHEADER
LPSTR????lpDIBBits;???????????//?Pointer?to?DIB?bits
BOOL?????bSuccess=FALSE;??????//?Success/fail?flag
HPALETTE?hPal=NULL;???????????//?Our?DIB‘s?palette
HPALETTE?hOldPal=NULL;????????//?Previous?palette
/*?Check?for?valid?DIB?handle?*/
if?(hDIB?==?NULL)
return?FALSE;
/*?Lock?down?the?DIB?and?get?a?pointer?to?the?beginning?of?the?bit
?*??buffer
?*/
l
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件?????????36??2004-06-29?23:43??圖形學實驗\圖像平移\readme.txt
?????文件?????????36??2004-06-29?23:43??圖形學實驗\圖像平移\圖像平移\readme.txt
?????文件??????66614??2009-12-09?12:37??圖形學實驗\圖像平移\圖像平移\測試圖片\原始lena圖像.bmp
?????文件??????66614??2004-06-29?23:42??圖形學實驗\圖像平移\圖像平移\測試圖片\向上移.bmp
?????文件??????66614??2004-06-29?23:42??圖形學實驗\圖像平移\圖像平移\測試圖片\向下移.bmp
?????文件??????66614??2004-06-29?23:41??圖形學實驗\圖像平移\圖像平移\測試圖片\向右移.bmp
?????文件??????66614??2004-06-29?23:39??圖形學實驗\圖像平移\圖像平移\測試圖片\向左移.bmp
?????文件??????18876??2009-12-09?12:37??圖形學實驗\圖像平移\圖像平移\源代碼\Debug\dibapi.obj
?????文件??????11611??2009-12-09?12:37??圖形學實驗\圖像平移\圖像平移\源代碼\Debug\dibapi.sbr
?????文件??????20247??2009-12-09?12:37??圖形學實驗\圖像平移\圖像平移\源代碼\Debug\MainFrm.obj
?????文件???????3682??2009-12-09?12:37??圖形學實驗\圖像平移\圖像平移\源代碼\Debug\MainFrm.sbr
?????文件???????6042??2009-12-09?12:37??圖形學實驗\圖像平移\圖像平移\源代碼\Debug\mydib.obj
?????文件???????1901??2009-12-09?12:37??圖形學實驗\圖像平移\圖像平移\源代碼\Debug\mydib.sbr
?????文件?????139360??2009-12-09?12:37??圖形學實驗\圖像平移\圖像平移\源代碼\Debug\MyDIP.exe
?????文件?????350388??2009-12-09?12:37??圖形學實驗\圖像平移\圖像平移\源代碼\Debug\MyDIP.ilk
?????文件??????23130??2009-12-09?12:37??圖形學實驗\圖像平移\圖像平移\源代碼\Debug\MyDIP.obj
?????文件?????361472??2009-12-09?12:37??圖形學實驗\圖像平移\圖像平移\源代碼\Debug\MyDIP.pdb
?????文件???????9372??2009-12-09?12:37??圖形學實驗\圖像平移\圖像平移\源代碼\Debug\MyDIP.res
?????文件???????6886??2009-12-09?12:37??圖形學實驗\圖像平移\圖像平移\源代碼\Debug\MyDIP.sbr
?????文件??????24877??2009-12-09?12:37??圖形學實驗\圖像平移\圖像平移\源代碼\Debug\MyDIPDoc.obj
?????文件???????4664??2009-12-09?12:37??圖形學實驗\圖像平移\圖像平移\源代碼\Debug\MyDIPDoc.sbr
?????文件??????30904??2009-12-09?12:37??圖形學實驗\圖像平移\圖像平移\源代碼\Debug\MyDIPView.obj
?????文件???????8720??2009-12-09?12:37??圖形學實驗\圖像平移\圖像平移\源代碼\Debug\MyDIPView.sbr
?????文件?????105962??2009-12-09?12:37??圖形學實驗\圖像平移\圖像平移\源代碼\Debug\StdAfx.obj
?????文件????1376098??2009-12-09?12:37??圖形學實驗\圖像平移\圖像平移\源代碼\Debug\StdAfx.sbr
?????文件?????214016??2009-12-09?12:37??圖形學實驗\圖像平移\圖像平移\源代碼\Debug\vc60.idb
?????文件?????364544??2009-12-09?12:37??圖形學實驗\圖像平移\圖像平移\源代碼\Debug\vc60.pdb
?????文件??????23782??2004-03-07?17:05??圖形學實驗\圖像平移\圖像平移\源代碼\dibapi.cpp
?????文件???????1876??2000-02-03?07:29??圖形學實驗\圖像平移\圖像平移\源代碼\dibapi.h
?????文件???????2506??2004-05-20?14:25??圖形學實驗\圖像平移\圖像平移\源代碼\MainFrm.cpp
............此處省略218個文件信息
評論
共有 條評論