使用 C++ 将二维 CAD 对象转换为 TIFF 格式

Convert 2d CAD object to TIFF format using c++

我正在尝试将 CAD 格式(主要是 2D Autocad 绘图)导出为 TIFF 格式。

我在 Internet 上只能找到如何将图像格式转换为 Tiff(像素、颜色..)。但我希望使用 C++98 和 TIFF 库将几何数据(主要是 2D Autocad 绘图)保存为 TIFF 格式,我有以下问题:

  1. tiff 格式是否允许这样的转换?

    (我读了一些关于包含基于矢量的剪切路径的可能性,但我不是很明白)

  2. 如果可以,谁能帮我看看怎么做?

如果您有 autoCAD,那么您可能会以某种方式破解 "export to TIFF" 按钮。

我找到了一些可能对你有帮助的东西here(搜索c++ autocad export):

Add reference to "autocad/objectdbx common 16 type library"

_acadAPP = gcnew AcadApplication();
AcadDocumentClass * _acadDocument = safe_cast< AcadDocumentClass * >(
_acadAPP->Documents->Item( 0 ));
_acadAPP->Visible = true;
IAcadModelSpace ^_acadModelSpace = dynamic_cast< IAcadModelSpace *>( _acadDocument->ModelSpace);

如果没有它可能会过于复杂。如果您在 SO 上阅读与 this 相关的帖子,您会注意到由于 AutoCAD 不是开源的,没有它就很难做任何事情。

完成这一巨大部分后 - 不确定是否可行,然后按照 libtiff.org 上的说明进行操作,它看起来像这样:

#include "tiffio.h"
main()
{
    TIFF* tif = TIFFOpen("foo.tif", "r");
    ... do stuff ...
    TIFFClose(tif);
}