【问题标题】:Render periodic image in Cairo在开罗渲染周期性图像
【发布时间】:2013-02-13 20:55:06
【问题描述】:

我有一些绘图例程用于向用户呈现模拟的图形表示。这个模拟有周期性的边界条件(如果有东西离开顶部,它就会回到底部)。截至目前,该实现有效地将所有绘图选项作为draw(x%WIDTH,y%HEIGHT) 执行,这或多或少都有效——如果我从<width-1,y><width+1,y> 画一条线,这将变成一条一直穿过屏幕。我可以测试是否会触发周期性,并使用move_to 而不是line_to,但这似乎效率低下,并且仅适用于多边形。

有没有办法将 cairo 切换到“周期性模式”,例如,我可以在画布顶部画一个从画布顶部延伸出来的圆圈,它会部分出现在底部?写入对象的实际坐标会非常好,而不是为每帧的每个坐标执行 MOD

先发制人:说“画两个圆,一个在底部,一个在顶部”不是我想要的。

【问题讨论】:

    标签: c gtk cairo


    【解决方案1】:

    不,没有这种模式。

    可能对您有用也可能不起作用的一件事是分配一个具有 Alpha 通道的表面,该通道在两个方向上都是两倍大小,然后以 WIDTH/HEIGHT 为模绘制所有内容,然后最后将四个子表面合成到您的真实表面。

    【讨论】:

    • 谢谢——即使我仍然需要使用模块算术,这是一种相当巧妙的绘制形状来包装的方法。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多