c++ - 如何使用 cairomm 重复模式?

标签 c++ background repeat cairo gtkmm

我有一个图案图像,需要使用 cairomm 在我的 Gtk::DrawingArea 中重复。

我尝试使用 Cairo::ImageSource 但没有运气。

最佳答案

使用 Cairo::Pattern 类很容易:

bool MyDrawingArea::on_draw(const Cairo::RefPtr<Cairo::Context> &cr) {
    Cairo::RefPtr<Cairo::Pattern> image = Cairo::SurfacePattern::create(Cairo::ImageSurface::create_from_png("my_bg_pattern.png"));
    image_->set_extend(Cairo::EXTEND_REPEAT); // THIS IS THE IMPORTANT BIT!
    cr->set_source(image);
    cr->paint();
}

关于c++ - 如何使用 cairomm 重复模式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34230845/

相关文章:

c++ - 为什么我用 WriteFile 写入 0 个字节?

ios - 核心剧情: grid lines background color

android - ImageView的src和背景有什么区别

javascript - GSAP 重复延迟数组?

python 3 : Trying to iterate lines of alphabet based on function of i

css - 可以从中心向外重复背景图像吗?

c++ - 使用 OpenGL 围绕枢轴点旋转

c++ - 防止将左值引用绑定(bind)到非常量对象

c++ - C++ 中的 Getter/setter 是正确的方法吗?

css - wikia css 的背景问题