LINUX.ORG.RU

Qt4.2 сохранить изображение QPainter в файл


0

0

Создаю свой виджет, на котором чего-то там рисую в paintEvent. Выглядит это примерно так:

void RenderArea::paintEvent(QPaintEvent *)
{
    QPainter painter(this);
    
    painter.setPen(mypen);
    painter.setBrush(mybrush);

    painter.drawEllipse(x,y,d,d);
}

Как мне сей шедевр (который я вижу на виджете) сохранить в файл?

Нашел решение через QPicture, но тогда изображения не видно на виджете. А создавать два QPainter и дублировать все операции не хочется.
★★★

А нельзя рисовать на картинке, ее отображать на виджете, а потом сохранить ее же в файл? P.S. QT не знаю.

cobold ★★★★★
()

Сам недавно сталкивался с такой проблеммой. Решается через QPixmap::grabWidget(QWidget * widget). Вот примерчик:

RenderArea widget;

QPixmap snapShot;

snapShot.grabWidget(&widget);

snapShot.save("snapshot.png");

Sectoid ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.