我的MFC应用程序有问题。当我试图从归档文件反序列化CBitmap并创建新的CBitmap时,它不能正确加载CBitmap的位。
代码如下:
BITMAP bm;
ar >> bm.bmType;
ar >> bm.bmWidth;
ar >> bm.bmHeight;
ar >> bm.bmWidthBytes;
ar >> bm.bmPlanes;
ar >> bm.bmBitsPixel;
int nSize = bm.bmWidth * bm.bmHeight;
bm.bmBits = new BYTE[nSize
有没有比这更简单的方法,如果这是唯一的方法,这里是否有任何潜在的内存泄漏?
CImage img1;
int dimx = 100, dimy = 100;
img1.Load(filename);
//filename = path on local system to the bitmap
CDC *screenDC = GetDC();
CDC *pMDC = new CDC;
pMDC->CreateCompatibleDC(screenDC);
CBitmap *pb = new CBitmap
我正在尝试获取MFC应用程序中主对话框的屏幕截图,并将其保存为图像文件。我尝试了我可以在网上找到的每一个例子,结果总是一样:图像文件有正确的维度(为了确定,我尝试使用的对话框不是主对话框),但都是黑色的。我最近的解决方案是使用CBitmap类将主对话框句柄传输到CImage。这是我的代码:
CWnd* mainWindow;
CDC* mainWindowDC;
CBitmap bitmapToSave;
CImage imageToSave;
CRect windowRect;
//Get main window context and create bitmap from it
main
我试图在视图中显示两幅相同图像的位图,如下所示,但它只显示了第一个位图。如果我注释掉第一个,那么另一个就会显示出来。
void CChildView::OnPaint()
{
// Load the bitmap
CBitmap BmpLady;
// Load the bitmap from the resource
BmpLady.LoadBitmap(IDB_MB);
CPaintDC dc(this); // device context for painting
// Create a memory device compatible with the