Какао - нарисовать изображение в NSRect
У меня возникают трудности при рисовании изображения в NSRect, приведенный ниже код создает NSRect в желаемой позиции, а также помещает изображение. Проблема в том, что изображение представляет собой круг с прозрачными областями, и они заполняются черным, поэтому вместо круга у меня есть черный квадрат с кружком в нем...
- (void)drawRect:(NSRect)dirtyRect{
NSImage *bg = [NSImage imageNamed:@"citydot_c1.png"];
NSRect city = NSMakeRect(10, 10, 8, 8);
[bg drawInRect:city fromRect:NSZeroRect operation:NSCompositeSourceAtop fraction:1.0f];
NSFrameRect(city);
}
Так что в принципе мне нужен способ удалить цвет фона NSRect, я думаю...
У кого-нибудь есть идеи?
1 ответ
Решение
Вы, вероятно, хотите составить изображение, используя Porter-Duff "Over":
[bg drawInRect:city fromRect:NSZeroRect operation:NSCompositeSourceOver fraction:1.0f];
Используя эту операцию наложения, вы получите нормальную прозрачность композиции.