Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/164.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 绘图到GDI+位图_C++_Gdi+_Hbitmap - Fatal编程技术网

C++ 绘图到GDI+位图

C++ 绘图到GDI+位图,c++,gdi+,hbitmap,C++,Gdi+,Hbitmap,我正在尝试将所有内容从GDI移动到GDI+。目前,我正在绘制缓冲区DC GDI。我想把它画到HBITMAP上,只画一次。我试过了 有指针和图像的东西,但找不到任何有用的东西。没有istream或文件,我也没有使用为其找到构造函数的FlatAPI版本 解决了。下面是如何创建位图,然后继续绘制 Graphics g(hDC); Bitmap foobar(100,100,PixelFormat32bppPARGB); g.DrawImage(&foobar,100,100); SolidBr

我正在尝试将所有内容从GDI移动到GDI+。目前,我正在绘制缓冲区DC GDI。我想把它画到HBITMAP上,只画一次。我试过了 有指针和图像的东西,但找不到任何有用的东西。没有istream或文件,我也没有使用为其找到构造函数的FlatAPI版本


解决了。下面是如何创建位图,然后继续绘制

Graphics g(hDC);
Bitmap foobar(100,100,PixelFormat32bppPARGB);
g.DrawImage(&foobar,100,100);
SolidBrush brush(Color::Blue);
g.FillRectangle(&brush, 0,0,10,10);

如果您想移动到GDI+,请停止使用HBITMAPs。缓冲区DC应该是位图,最好是32bppPARGB像素格式,以使其速度更快。您可以使用Graphics::FromImage在其中绘制。但如果您需要它,则可以使用Bitmap::FromHBITMAP从HBITMAP转换为位图。