2009-05-09 30 views
5

İki yolu birlikte, Birlik, Fark ve Kesişme gibi Boole işlemleriyle birleştirerek Kahire'de yollar oluşturmanın bir yolu var mı? Kahramanın kullanıldığı bir vektör grafik uygulaması üzerinde çalışıyorum ve kullanıcılara yolları bu şekilde bir araya getirme yeteneği vermek istiyorum ancak Kahire'de bunu yapmanın bir yolunu bulamıyorum.Kahire Yollarında Boole İşlemleri?

cevap

0

Yolları işleçlerle birleştirmek, benim için hiçbir anlam ifade etmiyor. "Line AND curve OR arc" den ne elde edersiniz?

Bunun yerine, cairo_set_operator() kullanarak compositing operators uygulayabilirsiniz: o anki çizim çalışması (varlık o cairo_fill(), cairo_stroke() ya neyse) yüzeyin eski içeriğiyle karıştırılmış nasıl olması gerektiği ayarlayacaktır.

+1

Inkscape'in yolu, yolları boole işlemleri ile birleştirdiği yolun bir örneğidir: http://www.usinginkscape.com/node/34. Sanırım bu etkilerin çoğu, bir dizi kompozisyon operatörü aracılığıyla başarılabilir, ancak iki figürün yollarının kesiştiği yerlerin, düzgün bir çizgi birleşimi olması gerekmez. –

+0

Hala şu soruyu anlamadım: inkscape'in sürümü 0.46'dan beri cairo kullanıyor: http://wiki.inkscape.org/wiki/index.php/Release_notes/0.46#Speed_and_interactivity – ntd

2

Cairo kütüphaneleriyle bunu yapmanın bir yolunu bulamadım. Ama ben de aradığım bir özellik. İki yolun kombinasyonunu okurken (örneğin), ntd'nin bahsettiği komposizyon operatörleri bunu yapamayacağı zaman kesinlikle yardımcı olacaktır. Bu arada, inkscape için komut dosyaları yazmaya çalışıyorum ve inkscape'in birleştirmeyi/farklılaşmayı sağlamaya çalışıyorum. Çalıştığım problem için kabul edilebilir ama kesinlikle sizin için değil. Cairo ya da başka bir svg kütüphanesi ile hiç şansınız oldu mu? Birkaç gün süren bir ziyaretten sonra önemsiz görünmüyor:/

+0

ps - yol kesişimi/birleştirme/yer paylaşımı listeleniyor cairo sitesinde olası bir kod yazması projesi olarak http://cairographics.org/summerofcode/ideas/ – ImAlsoGreg