gpt4 book ai didi

cocoa - NSBezierPath圆角矩形有坏角

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

我有一个NSBezierPath,它制作了一个圆角矩形,但它的角看起来不连贯,并且在全尺寸查看时比笔画的其余部分显得更亮。我的代码是:

 NSBezierPath *path = [NSBezierPath bezierPath];
[path appendBezierPathWithRoundedRect:NSMakeRect(0, 0, [self bounds].size.width, [self bounds].size.height) xRadius:5 yRadius:5];

NSGradient *fill = [[NSGradient alloc] initWithColorsAndLocations:[NSColor colorWithCalibratedRed:0.247 green:0.251 blue:0.267 alpha:0.6],0.0,[NSColor colorWithCalibratedRed:0.227 green:0.227 blue:0.239 alpha:0.6],0.5,[NSColor colorWithCalibratedRed:0.180 green:0.188 blue:0.196 alpha:0.6],0.5,[NSColor colorWithCalibratedRed:0.137 green:0.137 blue:0.157 alpha:0.6],1.0, nil];
[fill drawInBezierPath:path angle:-90.0];

[[NSColor lightGrayColor] set];
[path stroke];

这是两个角的图片(在小图片中不那么明显):

corners

有谁知道这是什么原因造成的吗?我是不是错过了什么?

感谢您的帮助

最佳答案

圆角矩形的直线正好位于 View 的边界上,因此每条线的宽度的一半被切断。 (就好像它们在子像素上一样。)

尝试改变

NSMakeRect(0, 0, [self bounds].size.width, [self bounds].size.height)

NSMakeRect(0.5, 0.5, [self bounds].size.width - 1, [self bounds].size.height - 1)

如果 NSBezierPath 看起来有点奇怪或模糊,请尝试将其移动半个像素。

关于cocoa - NSBezierPath圆角矩形有坏角,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5722085/

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