1 / 23
文档名称:

图形学实验报告顾佳烽.doc

格式:doc   大小:2,547KB   页数:23页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

图形学实验报告顾佳烽.doc

上传人:文艺人生 2022/8/31 文件大小:2.49 MB

下载得到文件列表

图形学实验报告顾佳烽.doc

相关文档

文档介绍

文档介绍:图形学实验报告顾佳烽
《计算机图形学课内实验》
实验报告
班级:计算机22班
姓名:顾佳烽
学号:2120505034
日期:
;
px = min(max(px, -xlimit), xlimit);
py = min(max(py, -ylimit), ylimit);
}
typedef BOOL(WINAPI*MyStretchBltType)(HDC, int, int, int, int, HDC, int, int, int, int, DWORD);
typedef HDC(WINAPI*MyCreateCompatibleDCType)(HDC);
typedef HBITMAP(WINAPI*MyCreateDIBSectionType)(HDC, CONST BITMAPINFO *, UINT, void**, HANDLE, DWORD);
typedef HGDIOBJ(WINAPI*MySelectObjectType)(HDC, HGDIOBJ);
MyStretchBltType MyStretchBlt;
MyCreateCompatibleDCType MyCreateCompatibleDC;
MyCreateDIBSectionType MyCreateDIBSection;
MySelectObjectType MySelectObject;
void LoadGDIFunctions()
{
HMODULE h = LoadLibraryA("");
MyStretchBlt = (MyStretchBltType)(GetProcAddress(h, "StretchBlt"));
MyCreateCompatibleDC = (MyCreateCompatibleDCType)(GetProcAddress(h, "CreateCompatibleDC"));
MyCreateDIBSection = (MyCreateDIBSectionType)(GetProcAddress(h, "CreateDIBSection"));
MySelectObject = (MySelectObjectType)(GetProcAddress(h, "SelectObject"));
}
LRESULT __stdcall WndProc(HWND hWnd, UINT uMSG, WPARAM wParam, LPARAM lParam)
{
PAINTSTRUCT ps;
HDC hdc;
int delta;
switch (uMSG)
{
case WM_PAINT:
hdc = BeginPaint(hWnd, &ps);
MyStretchBlt(hdc, 0, 0, width, height, mdc,
(int)(px + (swidth - width / s) / 2), (int)(py + (sheight - height / s) / 2), (int)(width / s), (int)(height / s), SRCCOPY);
EndPaint(hWnd, &ps);
return 0;
case WM_SIZE:
width = LOWORD(lParam);
height = HIWORD(lParam);
FixPSize();
return 0;
case WM_LBUTTONDOWN:
mx = GET_X_LPARAM(lParam);
my = GET_Y_LPARAM(lParam);
SetCapture(hWnd);
movemode = true;
px0 = px;
py0 = py;
break;
case WM_LBUTTONUP:
movemode = false;
ReleaseCapture();
break;
case 0x0