簡體   English   中英

您可以繪制一條重疊的描邊貝塞爾曲線嗎?

[英]Can you draw a stroked bezier path that overlaps itself?

我正在嘗試繪制一條重疊的筆觸路徑,但是這樣做的方式是,您可以分辨出路徑的哪一部分在另一部分之上。

我遇到的一個問題是,如果路徑與自身重疊,它將連接到自身。 因此,我試圖通過繪制兩個單獨的路徑來解決此問題。

兩條分開的路徑

除了第二行的筆畫在視覺上與第一行斷開連接之外,這非常有用。

分隔線

有沒有一種方法比嘗試重畫將兩條路徑均等的筆划更干凈呢?

編輯:為澄清起見,我實際上正在做的是繪制一條較粗的黑線,然后在頂部繪制一條彩色線以獲得描邊效果。

正如Jesse在上面猜測的那樣,解決方案是將kCGLineCapButt用作路徑段“筆畫”部分的lineCapStyle。

事實證明,這樣做很容易創建我想要的效果。 如果要動態生成路徑,最大的麻煩就是確定繪制路徑段的順序。

您還必須注意,任何兩個控制點均與它們共享的路徑點共線(具有相同的斜率),否則對接端將無法完美對齊。 但是,如果您想要平滑的連接,就應該這樣做。

  1. 使用對接帽樣式筆觸您的底部路徑線段。 這將是路徑段的“筆划”(黑色)。 邊界為對接的第一個路徑

  2. 再次用圓帽樣式和稍薄的寬度筆觸底部路徑段。 這將是細分的“填充”(顏色)。 描邊填充圓頭的第一條路徑

  3. 為了更好地說明我的曲線,我添加了控制點。 帶有控制點的第一條路徑

  4. 根據需要重復… 帶有控制點的第二條路徑帶控制點的第三條路徑

  5. 移除控制點的最終結果。 在筆觸“填充”(黑色)路徑段之后,我還繪制了完整路徑的起點和終點處“筆划”(黑色)寬度的直徑的圓圈,以使末端看起來像是圓形對接帽樣式。 全曲線

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM