【发布时间】:2015-06-26 07:24:21
【问题描述】:
在此之前,我不会说英语那么好
最近我使用 GDI+ 制作 Windows 桌面应用程序(在 Windows7 上)
我认为 Gdiplus::TextureBrush 有一个错误。我希望任何人和我一样发现这个错误。
那个错误如下所示
第 1 步。 有一张 500dpi,6250 * 7819 尺寸的图片
第二步
使用Gdiplus::Image::FromStream()加载图片
图片名称为"image1"
第三步。 创建图形图形(HDC);
第三步。
创建Gdiplus::TextureBrush brush = Gdiplus::TextureBrush(image1);
第四步
graphics.FillPath(brush);
目前一切正常,您可以在屏幕上看到正确的图像
步骤 5
从位图创建另一个图形
Graphics::Bitmap* bitmap = new Graphics::Bitmap(size.CX, size.CY), PixelFormat32bppARG);
Graphics* anotherGraphics = Gdiplus::Graphics::FromImage(bitmap);
第6步(此处出现错误)
anotherGraphics.DrawImage(image1);
然后从anotherGraphics 中分离新图像。
但是新图像很奇怪,新图像完全由原始图像的一个像素填充
但下一次,它再也不会发生了.. 在应用生命周期内只有一次
怎么了……
【问题讨论】:
-
可能是某种奇怪的单色。它也可能是未定义的行为。我会简化图形直到它正常工作,然后建立并经常检查它是否仍在工作 - 这就是我碰壁时所做的。
-
附带说明 - 在任何情况下都不太可能是错误。
标签: gdi+