2010-07-25 2 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. Таким образом, это будет просто черным, как вы обнаружили, даже если команды, которые вы используете, технически правильны. Я не знаю, как работать, но вы можете попытаться отправить сообщение на 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). Не уверен, что я пойду таким образом, я хотел бы придерживаться кода стиля Капучино/Какао, если это возможно. –

+0

Это понятно. Я на самом деле столкнулся с этим сам. Я с нетерпением жду того дня, когда рисование операций в Cappuccino достигнет полного уровня возможностей Cocoa - с этим будет приятно работать по сравнению с обычным HTML/CSS. –

+0

Я подал ошибку http://github.com/280north/cappuccino/issues/issue/811 и получил грубое исправление (Canvas only ATM), который работает для меня в викторине github: http://github.com/RegisFrey /капучино. –

Смежные вопросы