显示红色位图

原创 2007年09月24日 14:07:00


int nWidth = 768, nHeight = 576;
//BITMAPINFO
LPBITMAPINFO lpbmi = new BITMAPINFO;
ZeroMemory(lpbmi, sizeof(BITMAPINFO));
lpbmi->bmiHeader.biSize= sizeof(BITMAPINFOHEADER);
lpbmi->bmiHeader.biPlanes= 1;
lpbmi->bmiHeader.biCompression= BI_RGB;
lpbmi->bmiHeader.biClrImportant= 0;
lpbmi->bmiHeader.biSizeImage= 0;
lpbmi->bmiHeader.biClrUsed= 0;
lpbmi->bmiHeader.biBitCount= 24;
lpbmi->bmiHeader.biWidth= nWidth;
lpbmi->bmiHeader.biHeight= nHeight;
lpbmi->bmiHeader.biXPelsPerMeter= 0;
lpbmi->bmiHeader.biYPelsPerMeter= 0;

//创建DIB位图
BYTE*pData;
HBITMAP bmp = CreateDIBSection(NULL, lpbmi, DIB_RGB_COLORS, (void**)&pData, NULL, 0);
ASSERT(bmp);
if (!bmp)
{
GlobalFree(lpbmi);
return;
}
int y = 0, x = 0;
for(y = 0; y < nHeight; y++)
{
for(x = 0; x < nWidth; x++)
{
pData[x * 3 + y * nWidth * 3]= 0;
pData[x * 3 + y * nWidth * 3 + 1]= 0;
pData[x * 3 + y * nWidth * 3 +2]= 255;
}
}
CDC dcComp;
dcComp.CreateCompatibleDC(pDC);
HBITMAP OldBitmap = (HBITMAP)dcComp.SelectObject(bmp);

// draw bitmap
pDC->BitBlt(0, 0, nWidth, nHeight, &dcComp, 0, 0, SRCCOPY);

dcComp.SelectObject(OldBitmap);
DeleteObject(bmp);
DeleteDC(dcComp);
delete lpbmi;
 

MFC对话框上显示位图

CBitmap bitmap;//在头文件定义 bitmap.LoadBitmapA(IDB_LOGO);//在OnInitDialog()添加 //在OnPaint() else里面...
  • u013360881
  • u013360881
  • 2017年03月31日 19:24
  • 652

VS2010 MFC显示位图

void CopenimageView::OnDraw(CDC* pDC) { CBitmap bitmap; CDC dcMemory; bitmap.LoadBit...
  • hnwxfyf
  • hnwxfyf
  • 2016年03月07日 16:26
  • 242

VC/MFC 如何将位图缩放显示在Static控件中

//在Static控件内显示位图void C**Dlg::ShowBmpInStaic(){    HBITMAP hbitmap;    //将pStatic指向要显示的地方    CStatic ...
  • buaaxiao
  • buaaxiao
  • 2010年08月14日 09:27
  • 5239

MFC---多种方式显示位图

一、控件方式1、将要显示的位图b.bmp放在res文件夹下 2、右键工程,选择“Insert”,选择Bitmap,这时工程中新添了Bitmap文件夹 3、右键Bitmap文件夹,选择“Import...
  • u012319493
  • u012319493
  • 2016年08月09日 20:08
  • 1689

WINAPI 拷贝指定的hDC的lpRect部分到文件Dstfile中(BMP文件格式)

#include #include //WINAPI 拷贝指定的hDC的lpRect部分到文件Dstfile中(BMP文件格式) BOOL SaveHDCToFile(HDC hDC, ...
  • zgl7903
  • zgl7903
  • 2012年08月05日 11:31
  • 1250

【Photoshop技巧】两步将黑色图片改变颜色

【Photoshop技巧】两步将黑色图片改变颜色       很多时候因为特殊需要,要将一些素材变成其它颜色,试过很多方法,效果都不甚理想,尤其是像以下这种带有...
  • mmd1234520
  • mmd1234520
  • 2017年11月23日 11:48
  • 108

MFC中在视图窗口显示位图

本例将在单文档工程的视图窗口中显示一副位图,窗口的左边为原图,右边为放大后的位图。 本例的demo如下: 首先    在资源视图中插入一副位图,然后在Ondraw函...
  • u011619422
  • u011619422
  • 2014年12月07日 10:56
  • 1450

MFC中位图显示函数

点击打开链接 理解分辨率 我们常说的屏幕分辨率为640×480,刷新频率为70Hz,意思是说每行要扫描640个象素,一共有480行,每秒重复扫描屏幕70次。   理解调色板 有一个长宽各...
  • rayna00
  • rayna00
  • 2016年06月20日 17:21
  • 662

双缓冲显示位图

原理: 创建内存位图对象; 创建内存DC; 将位图对象选入到内存DC,便可以在内存DC中画图; 最后将内存DC中的图拷贝到窗口DC 在BOOL C***Dlg::OnEraseBkgnd(CDC*...
  • jiangqin115
  • jiangqin115
  • 2015年03月10日 09:37
  • 935

VC中如何显示一张位图

李国帅 于2011.3 编辑显示一张位图,基本的有以下三种形式:[1]位图资源的显示(设资源ID为IDB——BITMAP1程序如下){ CBitmap bitmap; CBitmap* pOldB...
  • lgs790709
  • lgs790709
  • 2017年12月19日 09:42
  • 40
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:显示红色位图
举报原因:
原因补充:

(最多只允许输入30个字)