如何在C ++中修改位图的属性

时间:2010-02-24 19:48:44

标签: c++ gdi+ bitmap

    Bitmap bmp(100,100, PixelFormat32bppARGB);
    bmp.SetPixel(2,2,Gdiplus::Color::AliceBlue);
    int x = bmp.GetHeight();
    int y = bmp.GetWidth();
    Gdiplus::Color* ccc = new Gdiplus::Color;
    Gdiplus::Color* ccc2 = new Gdiplus::Color;
    bmp.GetPixel(2,2,ccc);
    bmp.GetPixel(0,0,ccc2);

在过去的示例代码中,位图属性始终显示为null。高度和宽度始终为零,任何像素的颜色始终相同。修改位图属性的正确方法是什么?

1 个答案:

答案 0 :(得分:2)

您正在调用的构造函数不会填充位图的像素数据。您需要在构造之后调用bmp.FromX()版本来填充您的位图。

或者,您可以调用另一个为您提供填充位图的构造函数。

此外,您可能希望通过调用SetPixel()LockBits()打包UnlockBits()来电。

阅读规范here了解详情。