
绘图
墨子说书
123
展开
-
MFC中OnDraw与OnPaint的区别
MFC中OnDraw与OnPaint的区别 OnPaint是WM_PAINT消息的消息处理函数,在OnPaint中调用OnDraw,一般来说,用户自己的绘图代码应放在OnDraw中。 OnPaint()是CWnd的类成员,负责响应WM_PAINT消息。OnDraw()是CVIEW的成员函数,没有响应消息的功能.当视图变得无效时(包括大小的改变,移动,被遮盖等等),Windows原创 2013-09-16 11:46:15 · 1022 阅读 · 0 评论 -
如何实现双缓冲
如何实现双缓冲 双缓冲即在内存中创建一个与屏幕绘图区域一致的对象,先将图形绘制到内存中的这个对象上,再一次性将这个对象上的图形拷贝到屏幕上,这样能大大加快绘图的速度。双缓冲实现过程如下:1、在内存中创建与画布一致的缓冲区2、在缓冲区画图3、将缓冲区位图拷贝到当前画布上4、释放内存缓冲区 (1)在内存中创建与画布一致的缓冲区CDC dc;//这是窗口的D转载 2015-05-05 17:42:10 · 1383 阅读 · 0 评论 -
BMP的8位位图转换24位位图
#define WIDTHBYTES(bits) (((bits)+31)/32*4) //一行的位数/*******************************************************************************函数功能:获取位图信息*函数声明: BOOL GetNormalBmpInfo( CString m_str原创 2015-07-09 15:24:50 · 3668 阅读 · 0 评论 -
8位位图转换成24位位图
8位位图与24位位图的区别就在于8位的有调色板,而24位的没有。调色板信息是按(BGRA)顺序存放的,每4位是一个调色板项,共有256个调色板,故只能显示256种颜色,其中A始终为0。位图数据区则是存储的调色板索引,比如0,1,2……按索引获取颜色。24位的则不然,24位位图没有调色板,数据区存储的就是BGR颜色数据,每3位为一个像素点的颜色,所以可以显示2的24次方种颜色。转换过转载 2015-07-09 15:28:25 · 5557 阅读 · 0 评论 -
上篇几个函数
声明:以下函数均不为自己所写,所以仅供观看,不过确实能用,而且没有错误转换函数是本人原创,里面调用了这里的函数 //return value:// 0 OK// 1 failedBOOL CDib::OpenFile(const CString &szFileName){ CFile f; if (!f.Open(szFileName,CFile::转载 2015-07-09 15:29:46 · 570 阅读 · 0 评论 -
8位位图转换为24位位图
8位位图转换为24位位图其实,只要从8位位图中取得一个像素的灰度值,然后去填充24位位图的三个字节就可以了,很明显,这样得到的24位位图是灰度的,就是RGB各分量是一样的值。主要的转换程序/*******************************************************************************函数功能:将8位位图转换转载 2015-07-09 15:26:55 · 5419 阅读 · 0 评论 -
bmp文件格式详细解析
先区分几个概念:16色和16位色一样吗?不一样!颜色位数,即是用多少位字节表示的值,每一位可以表示0和1两值。通常图片的颜色深度,简称色深,就是用位数来表示的,所以,我通常会看到8位色,16位色,24位色和32位色。而我们在其它地方看到的又是16色,256色,16777216色等等,这些怎么一回事呢? 16色即代表16种颜色,256色即256种颜色,8位色就是用8个位来表示的颜色,转载 2015-07-09 15:36:18 · 5192 阅读 · 0 评论 -
MFC保存全屏函数
//VC下把HBITMAP保存为bmp图片 BOOL CMainWnd::SaveHBITMAPToBmp(HBITMAP hBitmap,CString FileName) { HDC hDC; //当前分辨率下每象素所占字节数 int iBits; //位图中每象素所占字节数原创 2016-03-03 15:16:42 · 487 阅读 · 0 评论 -
不同BMP位图与调色板分析
调色板(color table)是单色、16色和256色图像文件所特有的,相对应的调色板大小是2、16和256,调色板以4字节为单位,每4个字节存放一个颜色值,图像的数据是指向调色板的索引。 可以将调色板想象成一个数组,每个数组元素的大小为4字节,假设有一256色的BMP图像的调色板数据为: 调色板[0]=黑、调色板[1]=白、调色板[2]=红、调色板转载 2016-07-29 09:48:57 · 4655 阅读 · 0 评论