MFC应用程序中的XY位图

时间:2009-06-10 14:10:15

标签: winapi bitmap

我正在使用从Linux移植到Windows的库。该库用于读取地形数据库,到目前为止,它已用于简单查询;高程,视线等。但它也能够创建我想利用的底层地形文件的位图...我正在使用的功能说它创建了一个“XY位图,然后可以传递给XPutImage“。我过去在MFC应用程序中显示图像,但我无法使这个特定的位图工作。有没有办法在WIN32应用程序中显示这样的位图?或者可能是XPutImage函数的WIN32端口?如果它支持这种图像类型,我甚至愿意使用Python。

1 个答案:

答案 0 :(得分:1)

XY位图的位深度为1位。您可以尝试使用深度为1像素的CreateBitmap(),使用GetDIBits()获取指向原始像素数据的指针,并使用memcpy()将XY位图复制到像素数据上。我不确定行/列顺序是否相同。

如果这不起作用,可以很容易地编写一个函数来扫描XY位图并将值复制到您使用CreateBitmap()创建的位图中 - 无论是具有1位深度的位图还是更高的深度,取决于你正在使用的其他位图我猜想。方法是相同的 - 使用GetDIBits()获取原始位图数据,在完成复制时将位图选择为DC,使用BitBlt(),StretchBlt()或AlphaBlend()将位图显示在您的位图上油漆DC。