如何解决如何在开罗重设当前点?
从cairo文档中,我可以看到某些功能(例如,文本toy-API cairo_show_text()
)需要设置当前点。
我们可以使用cairo_move_to()
设置当前点,然后调用cairo_show_text()
它将光栅化所需位置的文本。
顺便说一句,这引起了一个错误,因为在光栅化文本之后,我正在抚摸一条路径(该路径(使用对cairo_move_to()
的初始调用来设置文本的当前点)具有错误的点。
我通过在调用cairo_stroke()
之后立即调用cairo_show_text()
解决了该错误,由于它可以重置当前点,因此似乎可以正常工作。
似乎调用cairo_close_path()
而不是cairo_stroke()
并没有帮助。它没有重置当前点。我认为这很奇怪。为什么?
我的最后一个问题是:是否有适当的方法来重置当前点?我认为应该有。
解决方法
来自https://www.cairographics.org/manual/cairo-Paths.html#cairo-new-path
cairo_new_path()
清除当前路径。通话后将没有路径,也没有当前点。
出于完整性考虑:还有此功能不能清除当前路径:
来自https://www.cairographics.org/manual/cairo-Paths.html#cairo-new-sub-path
cairo_new_sub_path()
开始一个新的子路径。请注意,现有路径不会受到影响。通话之后将没有当前点。
在许多情况下,此调用是不需要的,因为新的子路径通常以cairo_move_to()开始。
使用
cairo_new_sub_path()
调用之一开始新的子路径时,对cairo_arc()
的调用特别有用。这使事情变得更容易,因为不再需要为调用cairo_move_to()
手动计算弧的初始坐标。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。