⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 graph.cpp

📁 过程的c++编译器 里面有超级玛丽的源代码 还有一个 管理系统的源代码
💻 CPP
字号:
/*********************************************
程序设计:罗穆峰  2008-11-20
http://lmf.biaotian.com
E-mail: lmf@biaotian.com
QQ: 16324942 [模范英雄]
*********************************************/

#include "Graph.h"
#include <string.h>

HDC CGraph::GetMemDC()
{
	return m_MemDC;
}

int ** CGraph::GetImageBuf()
{
/*
	获得图像缓存区的指针。
	返回值:
		返回的指针又指向一组指针,每一个指针指向一行图像数据。数据中每四个字节表示一个像素点,由低到高字节依次表示蓝绿红,最高字节不用。
*/
	return m_BitData;
}

void CGraph::Refresh()
{
/*
	将缓存区中的图像数据刷新显示到屏幕上。
*/
	RedrawWindow(m_hWnd,NULL,NULL,RDW_INVALIDATE|RDW_UPDATENOW);
}

void CGraph::Init(HWND hWnd)
{
	m_hWnd=hWnd;
	HDC dc=GetDC(hWnd);
	m_MemDC=CreateCompatibleDC(dc);
	BITMAPINFO bi;
	memset(&bi,0,sizeof bi);
	bi.bmiHeader.biBitCount=32;
	bi.bmiHeader.biHeight=256;
	bi.bmiHeader.biPlanes=1;
	bi.bmiHeader.biSize=sizeof bi.bmiHeader;
	bi.bmiHeader.biWidth=288;
	HBITMAP bit=CreateDIBSection(dc,&bi,DIB_RGB_COLORS,reinterpret_cast<void**>(&m_BitData[255]),NULL,0);
	m_OldBitmap=SelectObject(m_MemDC,bit);
	ReleaseDC(hWnd,dc);
	int i;
	for(i=254;i>=0;i--)
	{
		m_BitData[i]=m_BitData[i+1]+288;
	}
}

void CGraph::UnInit()
{
	HGDIOBJ bit=SelectObject(m_MemDC,m_OldBitmap);
	DeleteObject(bit);
	DeleteDC(m_MemDC);
}

void CGraph::ShowText(int x,int y,const char * Text,int Colour)
{
/*
	显示文字。
	参数:
		[i]x,y		显示位置。
		[i]Text		要显示的文字内容。
		[i]Colour	文字的颜色。字节由低到高依次表示蓝、绿、红。
*/
	Colour=(Colour&0xff)<<16|(Colour&0xff00)|Colour>>16;//变为红、绿、蓝的顺序
	SetTextColor(m_MemDC,Colour);
	SetBkMode(m_MemDC,TRANSPARENT);
	HGDIOBJ oldfont=SelectObject(m_MemDC,GetStockObject(SYSTEM_FIXED_FONT));
	TextOut(m_MemDC,x,y,Text,strlen(Text));
	SelectObject(m_MemDC,oldfont);
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -