Thanks Gideon, that worked.

On Sun, Dec 6, 2009 at 9:03 PM, Gideon King <[email protected]> wrote:

> Your code restores the graphics state, which will remove your rounded rect
> clipping path, before you draw the image.
>
> If you draw the image before restoring the graphics state, you should be
> OK.
>
> Also you should not need to explicitly set the winding rule.
>
> HTH
>
> Gideon
>
> On 05/12/2009, at 7:22 AM, John Wright wrote:
>
> > I am trying to create a NSImage or NSImageCell with rounded corners
> > inside a NSTableView. I can't get anything to work. Here is the best I
> > have so far inside my custom NSCell:
> >
> > - (void)drawInteriorWithFrame:(NSRect)frame inView:(NSView *)controlView
> {
> >   if (thumbnailLink) {
> >         NSURL *url = [NSURL URLWithString:thumbnailLink];
> >         if (url) {
> >                 NSRect imageFrame = [self
> _imageFrameForInteriorFrame:frame];
> >                 NSImage *image = [[NSImage alloc]
> initWithContentsOfURL:url];
> >                 [image setScalesWhenResized:YES];
> >                 [image setSize:NSMakeSize(IMAGE_HEIGHT, IMAGE_WIDTH)];
> >
> >                 [NSGraphicsContext saveGraphicsState];
> >                 imageFrame = NSInsetRect(imageFrame, 1, 1);
> >                 NSBezierPath *clipPath = [NSBezierPath
> > bezierPathWithRoundedRect:imageFrame cornerRadius:5.0];
> >                 [clipPath setWindingRule:NSEvenOddWindingRule];
> >                 [clipPath addClip];
> >                 [NSGraphicsContext restoreGraphicsState];
> >                 [image drawInRect:imageFrame fromRect:NSMakeRect(0, 0,
> > 0, 0) operation:NSCompositeSourceIn fraction:1.0];
> >                 [image release];
> >         }
> > }
> > ...
> >
> > Any ideas on how to do this?.
>
>
_______________________________________________

Cocoa-dev mailing list ([email protected])

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to [email protected]

Reply via email to