创建图片缓冲的问题
HDC my_load = CreateCompatibleDC(NULL);
HBITMAP my_image = (HBITMAP)::LoadImage(NULL, _T("e:\\1.bmp"), IMAGE_BITMAP, 0, 0, LR_CREATEDIBSECTION | LR_LOADFROMFILE);
HGDIOBJ my_obj = SelectObject(my_load , my_image);
SetBkMode(my_load , TRANSPARENT); //-设字体输出时文字背景透明
::TextOut(my_load , 0 , 0 , L"中国人民共和国" , 4);
RECT form_size; ::GetWindowRect(this->m_hWnd, &form_size); // 获取窗口的绘图区域
HDC my_create_hdc = ::CreateCompatibleDC(::GetDC(this->m_hWnd));
HBITMAP bmp = CreateCompatibleBitmap(my_create_hdc, form_size.right - form_size.left, form_size.bottom - form_size.top);
HDC my_mem_hdc;
SelectObject(my_create_hdc, bmp);
::StretchBlt(my_create_hdc , 0 , 0 , 295 , 295 , my_load , 0 , 0 , 295 , 295 , SRCCOPY);
::StretchBlt(::GetDC(this->m_hWnd), 0, 0, 295, 295, my_create_hdc, 0, 0, 295, 295, SRCCOPY);
//BitBlt(my_create_hdc, 0, 0, 295, 295, my_load, 0, 0, SRCCOPY);
//BitBlt(::GetDC(this->m_hWnd), 0, 0, 295, 295, my_load, 0, 0, SRCCOPY);
这段代码执行是没有问题的,但是从e:\\1.bmp读取的图片放到窗口上时变成黑白的了,应该是要设my_create_hdc的一些彩色信息,不知道怎么设,谁能指点下。