首先:抱歉我的英语来自 Google
问题:
我正在更改 IDE,我正在使用 QT Creator 从 Borland 迁移到 QT。
在 Borland 中,我使用了一个包含在类型库 (APuma.dll) 中的类。原型(prototype)是:
BOOL XOpen(长 hDIB,LPCTSTR 文件名)//OpenOCR - 楔形文字
hDIB 是指向图像全局内存的指针。
此版本不适用于文件。
为了传递一个指向图像全局内存的指针,我使用了 GDI+,但是在 QT 中找不到类似的东西,并且包含 Gdiplus.h 和 GdiPlusInit.h 会产生太多错误。
我如何授予对托管图像的全局内存的访问权限?
非常感谢。
最佳答案
好的,我想我明白你需要什么。您需要一个指向图像像素的指针,以便传递它。 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 文档。
关于c++ - QT - 指向全局内存的指针,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3585601/