- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试在 xamarin.mac 框架中绘制一个矩形。这似乎可以通过 CoreGrpahics 命名空间来完成,但我不确定它是如何与 xamarin Hook 的。例如
NSColor.Black.Set();
NSBezierPath.StrokeLine(new CGPoint(-10.0f, 0.0f), new CGPoint(10.0f, 0.0f));
当我认为它应该使单行出现时,不会在屏幕上显示任何内容。这在另一个 Xamarin 中似乎微不足道。框架,因为有可用的内置函数,但 xamarin.mac 文档非常稀少。
最佳答案
欢迎光临!很高兴看到更多 Xamarin.Mac 用户。
@SushiHangover 对此进行了暗示,但您需要处于有效的绘制上下文中。请原谅我是否过度解释,但像您正在讨论的自定义绘图通常是在 NSView 中完成的,通常是通过覆盖 View 的 DrawRect(CGRect dirtyRect)
方法。该方法由 AppKit 在适当的图形上下文中固有地调用。因此,如果在 View 的该方法中调用,您的代码将正常工作。请记住,这些绘图方法会被经常调用,并且必须高效。
如果您要使用 CGPath 而不是 NSBezierPath,则需要通过调用 NSGraphicsContext.CurrentContext.CGContext.addPath(path)
将该路径添加到上下文中。
我在这里为您制作了一个名为“MacOS 自定义绘图”的小 Xamarin 工作簿,它显示了两种方式:https://github.com/NickSpag/Workbooks .我还建议使用 Workbooks 进行绘图练习和测试,因为它们可以非常轻松地持续快速地重新加载您的代码。
关于c# - 如何在 xamarin.mac 中绘制矩形,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53310230/
我是一名优秀的程序员,十分优秀!