- 博客(5)
- 收藏
- 关注
原创 DIY BMP类
首先呢,既然是自己的类,当然给它起个in点的名字啦,CDib/CBmp/CImage/CxImage等都是通俗易懂兼且好记不过就滥了,MyBmp怎么样呢,哦,干脆来个IBmp好了,哈哈。 有了名字后,要确定能够实现什么功能:起码要能够打开BMP、保存(另存)BMP、当然还要能够显示才合格,那么: class IBmp { public: // 装载BMP ...
2019-04-26 13:56:49 426
原创 DIY BMP类 (接续)
(为了"坑"不跨年,誓要把它填满 -_-" ) 这个DIY类的关键核心就在那三个重载的CreateBmp()函数,它们使用BMP文件load出来的数据来创建内存位图 用于显示、绘图等,当然,也可以自定义一个空白的位图来操作,随你的便~~~ 先看第一个简单的: (BTW:以下为了简便,基本说明大部分直接插在代码里) /* * 参数: * long lWidth - 指定的宽度...
2019-04-26 13:56:11 812 2
原创 保存DDB.
关于保存: 很多人在用双援冲画完图之后,都不懂得如何把那个Compatible的BMP保存,偶在这里提供一个直接把DDB保存为24Bit DIB的函数: BOOL SaveBMP( HBITMAP hBmp, const CString &szFileName ) { if( hBmp == NULL || szFileName.IsEmpty() ) return FALSE;...
2019-04-26 13:55:40 450
原创 关于缩放:
一直以来,缩放插值算法使用的要么是“最邻近插值”(以下简称邻插),要么就是“ 双线性插值”(以下简称双插)。 “邻插”实行简单,大概就是扫描新图的每个点来计算应该插的值是原图的哪个点。 伪代码: void StretchDib( float zoomX, zoomY ){ for( long y = 0; y < newBmpHeight; ++y ){ ...
2019-01-25 19:37:54 516
原创 DIY BMP类 (续)
( 现在就来把"坑"填上~~ ) 首先是构造函数和析构函数: IBmp::IBmp(){ // 构造函数初始化变量 StartUp();}IBmp::~IBmp(){ // 调用CleanUp()来清空占用资源 CleanUp();} 它们分别调用StartUp()来初始化和CleanUp()来清空占
2009-12-30 09:16:00 370
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人