2009-05-09 5 views
5

Union, Difference 및 Intersection과 같은 부울 연산을 통해 두 경로를 결합하여 카이로에서 경로를 구축 할 수있는 방법이 있습니까? 카이로를 사용하여 벡터 렌더링을하는 벡터 그래픽 응용 프로그램을 만들고 있는데이 방법으로 경로를 결합하는 기능을 사용자에게 제공하고 싶지만 카이로에서 할 수있는 방법을 찾을 수 없습니다.카이로 경로의 부울 연산?

답변

0

운영자와 경로를 결합하는 것은 나에게 이해가되지 않습니다. "선과 곡선 또는 호"에서 얻는 것은 무엇입니까?

대신 cairo_set_operator()를 사용하여 compositing operators을 적용 할 수는 현재 도면 작업 (있는 그 cairo_fill(), cairo_stroke() 또는 무엇이든)가 표면의 오래된 내용과 혼합되는 방법을 설정합니다.

+1

내가 의미하는 바는 Inkscape가 부울 연산을 통해 경로를 결합하는 방식입니다. http://www.usinginkscape.com/node/34. 그 효과의 대부분은 두 피겨의 패스가 교차하는 곳에 반드시 적절한 라인 조인을 할 필요가없는 것을 제외하고는 일련의 합성 연산자를 통해 얻을 수 있다고 가정합니다. –

+0

필자는 여전히 inkscape 자체가 버전 0.46 이후 카이로를 사용합니다. http://wiki.inkscape.org/wiki/index.php/Release_notes/0.46#Speed_and_interactivity – ntd

2

카이로 라이브러리로 이것을 수행 할 방법을 찾지 못했습니다. 그러나 그것은 내가 찾고있는 기능이기도합니다. ntd에서 언급 한 합성 연산자가이 작업을 수행 할 수없는 것처럼 보이는 두 가지 경로의 조합을 (예를 들어) 쓰다듬어 볼 때 분명 도움이 될 것입니다.

그동안 나는 inkscape에 대한 스크립트를 작성하고 inkscape가 결합/차분을 수행하도록했습니다. 내가 일하고있는 문제에 대해서는 받아 들일 만하지만 분명히 당신에게는 적합하지 않습니다. 카이로 나 다른 도서관에서 행운이 있었나요? 몇 일 인터넷 검색 후, 그것은 사소한 것처럼 보이지 않습니다 :/

+0

ps - path intersect/combine/overlay가 나열되어 있습니다. 가능한 여름 코드 프로젝트로 카이로 사이트에 http://cairographics.org/summerofcode/ideas/ – ImAlsoGreg