2017-07-17 4 views
0

CAD形式(主に2D AutoCAD図面)をTIFF形式にエクスポートしようとしています。2d CADオブジェクトをC++を使用してTIFF形式に変換

私がインターネット上で見つけたのは、画像フォーマットをTiff(ピクセル、カラー..)に変換する方法です。しかし、私はC++ 98とTIFFライブラリを使用してTIFF形式に(主に2D AutoCADの図面)ジオメトリデータを保存するために探していると私は、次の質問を持っている:

  1. TIFF形式は、このような変換を許可していますか?

    (私は、ベクトルベースのクリッピングパスを含める可能性について何かを読んで、私は非常にそれを理解していない)

  2. もしそうなら、誰もがそれを行う方法で私を助けることができますか?

+2

はい、あなたはTIFFにCAD図面をレンダリングすることができます。しかし、はい、それは必然的に何かを失うことになる - TIFFはレンダリングなので、一定の固定スケールで固定された視点からそうなるだろう。それを行う方法については、画面上に表示するようなメモリバッファにレンダリングし、次にTIFFライブラリを使用してピクセルバッファを正しいフォーマットにフォーマットします。 –

+0

2Dから始めましょう... –

答えて

0

AutoCADをお持ちの場合、「TIFFへのエクスポート」ボタンを何らかの形でハックする可能性があります。

私は(c++ autocad exportを検索)あなたhere役立つかもしれない何かを見つけました:

あなたならばそれはovercomplicatedされる可能性があります

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

"autocad/objectdbx共通16タイプライブラリ" に

を参照を追加します。それを持っていない。ここで thisに関連する投稿を読んでいる場合は、AutoCADはオープンソースではないので、AutoCADが無ければ何もするのは難しいことに注意してください。

この巨大な部分が終わったら - それは可能だし、libtiff.org上の指示に従ってください、それはこのようになりますかわからない:

#include "tiffio.h" 
main() 
{ 
    TIFF* tif = TIFFOpen("foo.tif", "r"); 
    ... do stuff ... 
    TIFFClose(tif); 
} 
関連する問題