简体   繁体   English

如何转换CImg <t> 到TBitmap?

[英]How to Convert CImg<t> to TBitmap?

in my project i am using CImg library, after image processing i want to show my image result in a TBitmap in C++ Builder XE2, please someone tell me how to do that. 在我的项目中,我正在使用CImg库,在图像处理之后,我想在C ++ Builder XE2的TBitmap中显示图像结果,请告诉我该怎么做。 Thanks. 谢谢。

You can write a processed image to a file using CImg<>.save_bmp() then open it with TFileStream and then load it with TBitmap.LoadFromStream() . 您可以使用CImg<>.save_bmp()将处理后的图像写入文件,然后使用TFileStream打开它,然后使用TBitmap.LoadFromStream()加载它。

As an alternative you can create a memory mapped file or a name pipe then transform HANDLE to FILE* 或者,您可以创建一个内存映射文件或一个名称管道,然后将HANDLE转换为FILE*

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

and pass it to CImg<>.save_bmp(FILE*) and then load bitmap using THandleStream and TBitmap.LoadFromStream() . 并将其传递给CImg<>.save_bmp(FILE*) ,然后使用THandleStreamTBitmap.LoadFromStream()加载位图。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM