ofPath::getOutline() and ofPolyline::getBoundingBox() でofRectが返って来ない問題 #openFrameworks

capture

ofPath::getBoundingBox();

ofxSvgの各パスをgetBoundingBox()でゲットしようとしたのが、値が返って来ない問題がありました。この問題の解決策としては、アウトラインを取るのに線の太さが設定し、またofPathのWindingModeも適したものを選択しておく必要があります。

サンプルコード


ofPath path; //パスを追加してください。
path.setStrokeWidth(1.0); //太さがないとアウトラインは取れない
path.setPolyWindingMode(OF_POLY_WINDING_ODD); //適した
auto polyLine = path.getOutline()[0]; //とりあえず0番目のアウトライン
auto rect = polyLine.getBoudingBox();

参考

Get ofPath bounding box

Leave a Comment