BITMAPINFOHEADER 的问题
单文档MFC页面上放置picture控件,动态加入图片,自动适应图片控件大小,初始化函数如下
BOOL pic::OnInitDialog()
{
CDialog::OnInitDialog();
if( m_bmp.m_hObject != NULL )
m_bmp.DeleteObject();
HBITMAP hbmp = (HBITMAP)::LoadImage(AfxGetInstanceHandle(),"c://12.bmp", IMAGE_BITMAP, 0, 0, LR_CREATEDIBSECTION|LR_LOADFROMFILE);
if( hbmp == NULL )
return FALSE;
m_bmp.Attach( hbmp );
DIBSECTION ds;
BITMAPINFOHEADER &bminfo = ds.dsBmih;
m_bmp.GetObject( sizeof(ds), &ds );
int cx= "bminfo".biWidth;
int cy= "bminfo".biHeight;
CRect rect;
GetDlgItem(IDC_PICTURE)->GetWindowRect(&rect);
ScreenToClient(&rect);
GetDlgItem(IDC_PICTURE)->MoveWindow(rect.left,rect.top,cx,cy,true);
return TRUE; // return TRUE unless you set the focus to a control
},运行时,提示错误error C2228: left of '.biWidth' must have class/struct/union type
error C2228: left of '.biHeight' must have class/struct/union type什么问题啊,怎样解决啊??
...全文
相关推荐
bmp.rar_bmp_bmp 数据_bmp数据_读取bmp
此外,如果你的程序需要处理不同平台或系统上的BMP文件,可能需要考虑endianness(字节序)问题。总的来说,理解和读取BMP文件数据涉及到对文件格式的深入理解,以及C++文件I/O操作。
rgb24保存为Bmp
在实际应用中,可能还会遇到其他问题,如颜色空间转换、图片旋转、缩放等,这些都是图像处理领域的扩展话题。对于初学者来说,熟悉这些基本概念并能熟练运用是迈向更高级图像处理技术的第一步。
BMP.rar_BMP 显示_VC bmp_bmp vc_vc B
在实际项目中,可能还需要考虑颜色空间转换、错误处理、资源管理等问题。
位图bitmap图像文件格式详解与编程PPT
因此,理解内存分配和释放的机制是非常重要的,以避免内存泄漏和其他性能问题。同时,位图操作如缩放、旋转等可能需要使用到复杂的图像处理算法,如双线性插值或最近邻插值。
数字图像处理 DIB的读取与显示VC源代码
VC++提供了丰富的调试工具,如调试器、内存查看器等,可以帮助我们定位和修复问题。


界面
