如何将CImg <t>转换为TBitmap?</t>

时间:2014-03-21 08:02:01

标签: c++ c++builder cimg c++builder-xe2

在我的项目中我正在使用CImg库,在图像处理之后我想在C ++ Builder XE2中的TBitmap中显示我的图像结果,请有人告诉我该怎么做。 感谢。

1 个答案:

答案 0 :(得分:0)

您可以使用CImg<>.save_bmp()将处理后的图片写入文件,然后使用TFileStream将其打开,然后使用TBitmap.LoadFromStream()加载。

作为替代方案,您可以创建内存映射文件或名称管道,然后将HANDLE转换为FILE*

HANDLE hFile  = CreateFile(...);
int    handle = _open_osfhandle((LONG)hFile, _mode);
FILE*  f      = fdopen(handle, szMode);

并将其传递给CImg<>.save_bmp(FILE*),然后使用THandleStreamTBitmap.LoadFromStream()加载位图。