【发布时间】:2015-09-16 20:54:37
【问题描述】:
我想用NSBezierPath在DrawRect中的自定义NSView周围画一个1px宽的边框:
BorderColor.Set();
var path = NSBezierPath.FromRect(theRect);
path.LineWidth = 1;
path.Stroke();
现在BorderColor 设置为NSColor.Gray,在调试时我可以看到它有一个 RGBA 颜色代码:(127,127,127,255)
但是屏幕上出现的 1px 宽的边框会变成这种颜色:(194,194,194,255)
当我将path.LineWidth 设置为 3 时,我可以看到 3 条线,中间的颜色错误 (194..),2 条颜色的翅膀 (135,135,135,255) - 足够接近想要的 (127..)颜色还可以。
当我使用四个 1px 宽的矩形作为边框,Fill 这四个矩形时,我也得到了 (135..) 颜色,这又可以了。
我可以使用这个基于矩形的解决方案,我只是想知道:
有没有办法使用NSBezierPath.Stroke 为 1px 宽的边框实现正确的颜色?
【问题讨论】:
标签: cocoa colors border xamarin.mac nsbezierpath