【发布时间】:2012-07-12 19:04:40
【问题描述】:
我想在开罗旋转文本,因为我正在使用一个函数:cairo_rotate(m_cr, angle),以角度弧度旋转。现在要取消设置开始正常文本渲染的角度,我应该调用cairo_rotate(m_cr, - angle) function or cairo_rotate(m_cr, 0.0),我的意思是开罗的旋转是累积的吗?
【问题讨论】:
我想在开罗旋转文本,因为我正在使用一个函数:cairo_rotate(m_cr, angle),以角度弧度旋转。现在要取消设置开始正常文本渲染的角度,我应该调用cairo_rotate(m_cr, - angle) function or cairo_rotate(m_cr, 0.0),我的意思是开罗的旋转是累积的吗?
【问题讨论】:
旋转(和所有其他变换)是累积的。
但是,恕我直言,使用cairo_save(cr); cairo_rotate(cr, angle); 和后来的cairo_restore(cr); 来撤消效果会更好。这也适用于其他类型的转换,重置当前剪辑和当前源。事实上,cairo_restore 会恢复除当前路径之外的所有内容。
【讨论】: