На QGraphicsScene выводится изображение на котором пользователь может отмечать точки, виджет поддерживает масштабирование.
Необходимо обеспечить сохранение всего изображения вместе с отметками пользователя.
Код сохранения текущего изображения:
Код: Выделить всё
QString file = QFileDialog::getSaveFileName(0, tr("Save file"),
QDir::homePath());
if (!file.isEmpty()) {
const QGraphicsScene *cur = scene();
const qreal width = cur->width();
const qreal height = cur->height();
QImage image(width, height, QImage::Format_RGB888);
QPainter painter(&image);
painter.setRenderHint(QPainter::Antialiasing);
render(&painter, QRectF(0, 0, width, height), QRect(0, 0, width, height));
image.save(file);
}
Код работает, но сохраняется не всё изображение, например если в текущем окне отображается не всё изображение, то сохранённое изображение имеет размер оригинального изображение и отображённую часть в верхнем левом углу.
Подскажите как можно сохранить всё изображение?
Спасибо.