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

📄 colorbuffer.h

📁 计算机图形学原理及算法教程(VC++版)程序代码
💻 H
字号:
// ColorBuffer.h: interface for the CColorBuffer class.

//软件方法操作颜色缓冲区

#ifndef _CCOLORBUFFER_H
#define _CCOLORBUFFER_H
#include "Grphcs.h"
#include "Img.h"

class CColorBuffer  
{
public:
	CColorBuffer(int nWidth, int nHeight);
	virtual ~CColorBuffer();

public:

	//获取颜色缓冲区宽度
	int GetWidth() const;
	//获取颜色缓冲区高度
	int GetHeight() const;
	//获取颜色缓冲区指针
	BYTE* GetColorPtr() const;

	//将指定的颜色设置为背景色
	void SetBkColor(BYTE r, BYTE g, BYTE b, BYTE a);
	
	//将一个与颜色缓冲区等大小的图像设置为背景
	void SetBkImage(const BYTE* pbyImage, int nWidth, int nHeight);

	//设置一个点的颜色
	void SetPixel(int x, int y, float r, float g, float b , float a = 1.0f);

	void SetPixel(int x, int y, BYTE r, BYTE g, BYTE b , BYTE a = 255);
	
	//获取颜色
	PIXELCOLORRGBA GetPixel(int x, int y) const;

	//由颜色缓冲区的数据创建一个内存位图对象(句柄)
	HBITMAP CColorBuffer::CreateDdb(HDC hDC);

	//将颜色缓冲区的内容交换到前台(即输出颜色缓冲区)
	void CColorBuffer::SwapBuffer(CDC* pDC);


private:
	//颜色缓冲区大小
	int m_nWidth;
	int m_nHeight;
	
	//颜色缓冲区
	BYTE* m_pbyColor;

};

#endif 

⌨️ 快捷键说明

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