У меня есть хорошая, работающая система на C #, которая рисует с помощью команд Cairo в методе рендеринга. Однако иногда я хотел бы рисовать в растровое изображение, а не динамически, когда экран должен быть обновлен. Например, в настоящее время у меня есть:
public override void render(Cairo.Context g) {
g.Save();
g.Translate(x, y);
g.Rotate(_rotation);
g.Scale(_scaleFactor, _scaleFactor);
g.Scale(1.0, ((double)_yRadius)/((double)_xRadius));
g.LineWidth = border;
g.Arc(x1, y2, _xRadius, 0.0, 2.0 * Math.PI);
g.ClosePath();
}
Но я бы хотел, если я решу, отобразить команды Cairo в Gtk.Pixbuf. Что-то вроде:
g = GetContextFromPixbuf(pixbuf);
render(g);
Это возможно? Было бы замечательно, если бы мне не пришлось возвращать контекст обратно в pixbuf, но рисунок Каира мог бы перейти непосредственно к pixbuf. Будем благодарны за любые подсказки!