2010-07-25 19 views
1

我有一個矩形CPImage設置像這樣夾一CPImage成圓形或其它形狀

var img = [[CPImage alloc] initWithContentsOfFile:"Resources/img.jpg""]; 

我想顯示在我的CPView子轉了一圈與圖像的部分剪切(什麼位於月蝕之外)保持透明。我試過這個:

- (void)drawRect:(CGRect)aRect 
{  
    var path = [CPBezierPath bezierPathWithOvalInRect:aRect]; 

    [[CPColor colorWithPatternImage:img] set]; 
    [path fill]; 
} 

但我只是得到一個黑色的圓圈。

回答

0

這裏的問題是,你不能使用圖像來填充卡布奇諾(尚)。所以它會像你發現的那樣變成黑色,即使你使用的命令在技術上是正確的。我並不知道有解決方法,但是您可以嘗試發佈到Cappuccino user list,並查看是否有人正在使用此功能。

+0

[我在列表中詢問](http://groups.google.com/group/objectivej/browse_thread/thread/d5664f60387c6d03),建議使用[Raphaeljs](http://raphaeljs.com) [補丁](http://groups.google.com.au/group/raphaeljs/browse_thread/thread/39d352fe5794988c/94ca260aa38095c1?lnk=gst&q=clip+to+path#94ca260aa38095c1)。不知道如果我這樣做,如果可能的話,我想堅持卡布奇諾/可可風格的代碼。 – 2010-07-27 14:18:53

+0

這是可以理解的。我自己曾經遇到過這樣的事情。我期待卡布奇諾的繪圖操作能夠實現Cocoa的全部功能 - 與普通的HTML/CSS相比,這將是一種樂趣。 – 2010-07-27 21:25:03

+0

我提交了一個bug http://github.com/280north/cappuccino/issues/issue/811,並有一個粗略的修復(Canvas only ATM),它適用於我在github fork中:http://github.com/RegisFrey /卡布奇諾。 – 2010-08-06 03:09:09