私は格子ライブラリを参照してくださいBoost Geometry 私はそれを見ていますが、少なくとも少しグラフィカルで何かとの作業に関するチュートリアルを参照してください。だから、N
ランダムポリゴン(色のサイズと形がランダム)を作成し、thamをベクター画像としてSVGのように作成する簡単なチュートリアルを手伝ってもらえるかなと思いますか?Boost.Geometry:ポリゴンの単純な配列を作成し、thamをsvgイメージとして保存するにはどうすればよいですか?
答えて
...解決済み:Googleでthis古いコードを見つけることができます。最新のブースト1.47.0でコンパイルされません。そこでここではとても長い話短い...あなたはそれを修正しようとすると、あなたは、いくつかの時代遅れのドキュメント上の例えばhereを取得したいあなたはそれを動作させるために行うものです:boost/geometry/extensions/io/svg/
ため
ダウンロード3コードファイル、それらはヘッダーのみです
、今あなたが現在ブーストコードを更新し、固定されたコンパイルできます
#include <iostream>
#include <fstream>
#include <boost/assign.hpp>
#include <boost/algorithm/string.hpp>
#include <boost/geometry/geometry.hpp>
#include <boost/geometry/geometries/geometries.hpp>
#include <boost/geometry/algorithms/envelope.hpp>
#include <boost/geometry/extensions/io/svg/svg_mapper.hpp>
template <typename Geometry1, typename Geometry2>
void create_svg(std::string const& filename, Geometry1 const& a, Geometry2 const& b)
{
typedef typename boost::geometry::point_type<Geometry1>::type point_type;
std::ofstream svg(filename.c_str());
boost::geometry::svg_mapper<point_type> mapper(svg, 400, 400);
mapper.add(a);
mapper.add(b);
mapper.map(a, "fill-opacity:0.5;fill:rgb(153,204,0);stroke:rgb(153,204,0);stroke-width:2");
mapper.map(b, "opacity:0.8;fill:none;stroke:rgb(255,128,0);stroke-width:4;stroke-dasharray:1,7;stroke-linecap:round");
}
int main()
{
using namespace boost::assign;
boost::geometry::model::ring<boost::geometry::model::d2::point_xy<double> > ring;
ring +=
boost::geometry::model::d2::point_xy<double>(4.0, -0.5), boost::geometry::model::d2::point_xy<double>(3.5, 1.0),
boost::geometry::model::d2::point_xy<double>(2.0, 1.5), boost::geometry::model::d2::point_xy<double>(3.5, 2.0),
boost::geometry::model::d2::point_xy<double>(4.0, 3.5), boost::geometry::model::d2::point_xy<double>(4.5, 2.0),
boost::geometry::model::d2::point_xy<double>(6.0, 1.5), boost::geometry::model::d2::point_xy<double>(4.5, 1.0),
boost::geometry::model::d2::point_xy<double>(4.0, -0.5);
boost::geometry::model::box<boost::geometry::model::d2::point_xy<double> > box;
boost::geometry::envelope(ring, box);
std::cout
<< "make_envelope:"
<< boost::geometry::dsv(box)
<< std::endl;
create_svg("make_envelope.svg", ring, box);
}
これは、これを描画します:
(ない画像が、Googleクロームで開閉可能なベクトルSVGファイル= ))これはC++でベクトルからSVGファイルを作成する方法です=)
+1を送信してください!ブースト::ジオメトリは、まだそのディレクトリが1.48に存在しないので、まだ遷移中です。 – kfmfe04
@Rella対応するread()操作はありますか?つまり、svgにポリゴンを描画すると、どうすればboost :: geometry :: model :: polygonに読み込むことができますか? –
- 1. svgコードを.svgイメージとして保存するにはどうすればよいですか?
- 2. バイト[]を単純なJSON配列としてシリアル化するにはどうすればいいですか?
- 3. はどうすればマウスは、私がイメージのセットではなく、単純な効果を作成しようとしていますイメージ
- 4. PhoneGap - イメージのコピーを作成してアプリケーションフォルダに保存するにはどうすればいいですか?
- 5. pChartで作成したイメージをファイルに保存するにはどうすればよいですか?
- 6. Eclipseを使用して単純なサーブレットを作成するにはどうすればよいですか?
- 7. 動的に変化する単純配列を使用して多次元配列を作成するにはどうすればよいですか?
- 8. SVGイメージをSVGイメージとして保存する方法
- 9. Matlabでクラスのインスタンスを生成し、配列に保存するにはどうすればよいですか?
- 10. Obj Cの単純なNSStringをFirebaseに保存するにはどうすればよいですか?
- 11. フォームをイメージとしてファイルに保存するにはどうすればよいですか?私のプログラムで
- 12. 2つの配列と単一のfloat値から単一のnumpyフィーチャ配列を作成するにはどうすればよいですか?私は次のように構成されたトレーニングデータファイルを作成しようとしています
- 13. イメージを保存するファイルを作成しようとしていますJava
- 14. 2次元配列をcsvファイルとして保存するにはどうすればよいですか?
- 15. 新しいフォルダを作成してファイルを保存するにはどうすればよいですか?
- 16. バイト配列として保存されたイメージをどのようにスケールするのですか?
- 17. 新しい鍵ペアを作成してファイルに保存するにはどうすればよいですか?
- 18. rpartを使って単純なツリーを作成するにはどうすればよいですか?
- 19. イメージをカメラロールに保存するにはどうすればよいですか?
- 20. イメージをレルムデータベースに保存するにはどうすればよいですか?
- 21. イメージをJSONに保存するにはどうすればよいですか?
- 22. C#で単純な音波を合成して出力するにはどうすればよいですか?
- 23. 複数のdivをイメージとして保存するにはどうすればよいですか?
- 24. NAudioを使用してオーディオデータのバイト配列を保存するにはどうすればよいですか?
- 25. nodejsを使用してsvgノードをファイルに保存するにはどうすればよいですか?
- 26. ループを使用して名前を配列に保存するにはどうすればよいですか?
- 27. 配列から単純なオブジェクトを作成しようとしています。私の配列では、変数が格納されています:
- 28. 単純な配列をデータベース(php/MySQL)に挿入するにはどうすればよいですか?
- 29. Facebook Graph APIのレスポンスをJavascript配列として保存するにはどうすればいいですか?
- 30. ImageViewをイメージとして保存するにはどうすればよいですか?
これは役に立ちます:https://svn.boost.org/trac/boost/wiki/LibrariesUnderConstruction#Boost.Plot – AraK