J'ai un NSBezierPath
qui fait un rectangle arrondi mais les coins de celui-ci semblent saccadés et semblent plus brillants que le reste du trait vu à pleine échelle. Mon code est:Le rectangle arrondi de NSBezierPath a de mauvais coins
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];
Heres une image de 2 des coins (ne est pas aussi évident dans une petite image):
Quelqu'un sait ce qui cause cela? Est-ce que je manque juste quelque chose?
Merci pour toute aide
Travaillé comme par magie! Merci beaucoup. – nosedive25
Plutôt que de le décaler d'un demi-pixel, il est généralement préférable d'insérer le dessin sur la moitié de la largeur de trait du tracé, ce que vous faites réellement ici. –
Plus court chemin: NSInsetRect (self.bounds, 0.5, 0.5) – sergeyne