QT - 指向全局内存的指针

时间:2010-08-27 15:17:09

标签: c++ qt

首先:对不起我的英语来自谷歌

问题:
我正在改变IDE,我正在使用QT Creator从Borland迁移到QT。

在Borland中,我使用了类型库(APuma.dll)中包含的类。原型是:

BOOL XOpen(长hDIB,LPCTSTR文件名)/ / OpenOCR - 楔形文字

hDIB 是指向图像全局内存的指针。
此版本不适用于文件。

为了传递一个指向图像全局内存的指针,我使用了GDI +,但在QT中找不到任何类似的东西,并且包含Gdiplus.h和GdiPlusInit.h会产生太多错误。

如何访问我将图像托管到XOpen的全局内存?

非常感谢。

1 个答案:

答案 0 :(得分:1)

好的,我想我明白你需要什么。您需要一个指向图像像素的指针,以便您可以传递它。 Qt中最简单的选项是使用QImage对象并使用其bits()成员。

这样的事情:

QImage image(filename);
uchar* p = image.bits();
XOpen(reinterpret_cast<long>(p), whatever);

请确保XOpen以某种方式知道图像的暗淡。而且你的格式正确(参见QImage::convertToFormat)。有关更多整体信息,请查看http://doc.qt.io/qt-4.8/qimage.html

上的Qt文档