2011-02-28 61 views
2

我想申請一個「中風」或輪廓的PNG,就像Photoshop一樣。我有一種感覺,這可以用CALayer來完成,但經過一些修補之後,它並不是很明顯。 setBorderWidth + setBorderColor幾乎是我想要的,除了它只爲圖像的整個維度添加邊框,而不是png圖像本身的輪廓。用CALayer創建.PNG的描邊/輪廓?

一旦中風被應用,我想也淘汰PNG的填充,只留下初始形狀的輪廓邊框。

An example of my starting image (left) and desired result (right)

回答

0

沒有做到你的要求自動的方式。你必須知道你想要「淘汰」你的PNG中的形狀的路徑。一旦你定義了,你可以創建一個CAShapeLayer,它接受一個包含你的點的CGPathRef。您可以使用您選擇的任何顏色描邊和填充路徑圖層,然後將其添加到顯示視圖的圖層層次結構中,或者使用它來定義視圖中某個圖層的蒙版。

+1

如何確定形狀的路徑?它必須以影子被應用而聞名,不是嗎? – Keller 2011-03-01 00:09:13

+0

有趣的我剛剛開始回答你的問題,並偶然發現了這個鏈接:http://parmanoir.com/Distance_field。我沒有實際執行過這樣的事情,但聽起來好像它可能會讓你走上正確的道路。底線是你想要完成的是可行的,但不是微不足道的。 – 2011-03-01 04:05:43