1
J'ai une image de motif que je dois répéter dans Gtk::DrawingArea
en utilisant cairomm
.Comment répéter un motif en utilisant cairomm?
J'ai essayé d'utiliser Cairo::ImageSource
sans avoir de chance.
J'ai une image de motif que je dois répéter dans Gtk::DrawingArea
en utilisant cairomm
.Comment répéter un motif en utilisant cairomm?
J'ai essayé d'utiliser Cairo::ImageSource
sans avoir de chance.
Il est facile en utilisant Cairo::Pattern
classe:
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();
}
Pourriez-vous montrer un échantillon du code que vous avez essayé et cela n'a pas fonctionné? Cela pourrait aider les autres utilisateurs à voir ce qui peut être amélioré. – Tonin
Droit ... le fait est que je n'ai pas trouvé un seul exemple sur internet. J'ai donc dû déterrer la documentation du cairo, pour finalement trouver cette méthode magique 'set_extend'. Aucune autre solution trouvée! –