У меня есть NSMatrix с парой NSButtons, в которых нет текста, а только изображения. Одно из изображений загружено из Интернета, и я хотел бы, чтобы его углы были закруглены в моем приложении OS X.
Я нашел один ответ, который почти соответствует тому, что я искал: Как нарисовать закругленный NSImage но, к сожалению, когда я его использую, он ведет себя как сумасшедший:
// In my NSButtonCell subclass
- (void)drawImage:(NSImage*)image withFrame:(NSRect)imageFrame inView:(NSView*)controlView
{
// [super drawImage:image withFrame:imageFrame inView:controlView];
[NSGraphicsContext saveGraphicsState];
NSBezierPath *path = [NSBezierPath bezierPathWithRoundedRect:imageFrame xRadius:5 yRadius:5];
[path addClip];
[image drawInRect:imageFrame fromRect:NSZeroRect operation:NSCompositeSourceOver fraction:1.0];
[NSGraphicsContext restoreGraphicsState];
}
Проблема в том, что если изображение частично прозрачное (PNG), то оно полностью уничтожается и я вижу только пару белых пикселей на черном фоне.
И если изображение не прозрачное, то оно получает закругленные углы, но поворачивается на 180 °, и я не знаю, почему.
Какие-либо предложения?