gpt4 book ai didi

cocoa - +颜色与图案图像 : should preserve transparency in Cocoa

转载 作者:行者123 更新时间:2023-12-03 16:27:17 27 4
gpt4 key购买 nike

我有一个自定义的NSView,用于显示背景颜色。这有效。但是,该图像中的阴影未保留。

图像的所有透明或半透明区域都呈现为黑色。我该如何解决这个问题?

- (void)drawRect:(NSRect)dirtyRect {
NSColor *pattern = [NSColor colorWithPatternImage:[NSImage imageNamed:@"bg"]];
[pattern setFill];
NSRectFill(dirtyRect);
}

谢谢。

最佳答案

NSRectFill()NSRectFillUsingOperation(rect, NSCompositeCopy) 的快捷方式。这意味着它不会将颜色的 Alpha channel 与背景合成,它只是在您传入的矩形中绘制源颜色。相反,您应该使用:

NSRectFillUsingOperation(rect, NSCompositeSourceOver);

NSCompositeSourceOver 合成操作将在源图像不透明的地方显示源图像,并在其他位置显示目标图像。

关于cocoa - +颜色与图案图像 : should preserve transparency in Cocoa,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7631493/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com