假設我在運行時使用Graphics類動態地繪製一些矢量形狀。例如一個正方形和一個圓圈。AS3:如何在運行時相交矢量?
有沒有辦法在運行時創建一個新的形狀,其中2個矢量形狀重疊?
這些操作在Illustrator,Corel等所有矢量設計程序中都很常見......但我還沒有在Adobe的文檔中找到任何其他地方的代碼來執行此操作。
假設我在運行時使用Graphics類動態地繪製一些矢量形狀。例如一個正方形和一個圓圈。AS3:如何在運行時相交矢量?
有沒有辦法在運行時創建一個新的形狀,其中2個矢量形狀重疊?
這些操作在Illustrator,Corel等所有矢量設計程序中都很常見......但我還沒有在Adobe的文檔中找到任何其他地方的代碼來執行此操作。
雖然Graphics類的繪圖操作是按照線條,點等來描述的,但就您所關心的而言,只是告訴它如何繪製到位圖上。沒有辦法刪除一次繪製的形狀,但沒有清除(),只是將整個東西擦拭乾淨。
我不完全理解爲什麼,因爲必須保留矢量數據 - 例如,在繪製之後縮放質量沒有損失。
如果你不想要進入一些鐵桿數學(超出直線什麼,你需要)這裏有一個答案,如果你曾經使用過PixelBender這可能幫助:
如果這只是一個化妝品,那麼你可以使用掩飾形狀來玩耍(儘管可能最終會變得很黑) - 但是,如果你真的想用交叉點來繪製或描述一個形狀,那麼你需要挖掘出你的數學書或尋找一個好的圖形庫。
希望這有助於
我的第一種方法的掩蔽,但隨後的雪碧的措施是不正確的,因爲他們包括隱蔽的部位也是如此。至於使用Pixel Bender,它可以工作...但這不是我想要的。我已經提出了您的答案,但在將其標記爲已接受之前將等待。感謝您的意見。 – Pier 2013-03-20 17:18:17
那麼你是否真的在尋找一個相交空間的數學描述,可以重繪的矢量形狀,還是你剛剛在圖形之後?如果你想要形狀遮罩不起作用,你需要計算它。我想你可能想研究四叉樹來優化檢查過程,但我之前沒有這樣做過,所以我不是100% – MickMalone1983 2013-03-20 17:34:40