Название: Qt 4.2.2 Как сохранить QGraphicsScene в файл (bmp, png, ..)? Отправлено: zaz80 от Март 21, 2007, 20:48 Кто-нибудь пробовал сохранять построенную сцену (QGraphicsScene) со всеми элементами как изображение, т.е. в файл bmp, png, jpg, ...
Можно сохранить QGraphicsView, как QWidget: QGraphicsView *myGrView; QPixmap pixmap = QPixmap::grabWidget(myGrView); pixmap.save("d:\\test.bmp"); Но в этом случае, сохраняется (естественно) только видимая часть сцены, т.е. если сцена не помещается на экране, то и "картинка" будет неполной. HELP!!! Название: Qt 4.2.2 Как сохранить QGraphicsScene в файл (bmp, png, ..)? Отправлено: troorl от Март 21, 2007, 21:37 Я вот так сохраняю.
Код: QImage image(scene->width(), scene->height(), QImage::Format_ARGB32_Premultiplied); Только у меня возникла проблема с прозрачностью. Если поставить заливку фона сцены прозрачным цветом, то сохраняется эта картинка с какими-то артефактами. Например, полизображения может быть изуродовано полосками, а другая половина с нормальной прозрачностью. Если кто знает причину - отзовитесь. Название: Qt 4.2.2 Как сохранить QGraphicsScene в файл (bmp, png, ..)? Отправлено: zaz80 от Март 21, 2007, 21:59 спасибо!
Название: Qt 4.2.2 Как сохранить QGraphicsScene в файл (bmp, png, ..)? Отправлено: _govorilka от Март 26, 2007, 06:49 Цитата: "troorl" Я вот так сохраняю. Код: QImage image(scene->width(), scene->height(), QImage::Format_ARGB32_Premultiplied); Только у меня возникла проблема с прозрачностью. Если поставить заливку фона сцены прозрачным цветом, то сохраняется эта картинка с какими-то артефактами. Например, полизображения может быть изуродовано полосками, а другая половина с нормальной прозрачностью. Если кто знает причину - отзовитесь. QImage - это массив, и как любой другой массив его надо инициализировать (заполнять нулями). Название: Qt 4.2.2 Как сохранить QGraphicsScene в файл (bmp, png, ..)? Отправлено: troorl от Март 26, 2007, 20:39 Цитата: "_govorilka" QImage - это массив, и как любой другой массив его надо инициализировать (заполнять нулями). Да, я уже догадался. Код: image.fill(NULL); выручает :) Название: Re: Qt 4.2.2 Как сохранить QGraphicsScene в файл (bmp, png, ..)? Отправлено: mal от Апрель 07, 2008, 19:19 А если я повернул сцену с ее примитивами на какой либо угол. и хочу сохранить ее в таком виде - как быть?
Скажем добавление в приведенном коде после scene->render(...) painter.rotate(...) не помогает. Есть идеи? Название: Re: Qt 4.2.2 Как сохранить QGraphicsScene в файл (bmp, png, ..)? Отправлено: StatuS74 от Август 11, 2011, 10:15 так как сделать что бы картина полной сохранялось а не урезаной ?
Название: Re: Qt 4.2.2 Как сохранить QGraphicsScene в файл (bmp, png, ..)? Отправлено: StatuS74 от Октябрь 26, 2011, 08:14 я сохраняю вот так.
Код: QString puti_save; Название: Re: Qt 4.2.2 Как сохранить QGraphicsScene в файл (bmp, png, ..)? Отправлено: kambala от Октябрь 26, 2011, 09:02 Код
Название: Re: Qt 4.2.2 Как сохранить QGraphicsScene в файл (bmp, png, ..)? Отправлено: StatuS74 от Октябрь 26, 2011, 10:08 попробовал не сохраняет.
сделал вот так Код: QString puti_save; Название: Re: Qt 4.2.2 Как сохранить QGraphicsScene в файл (bmp, png, ..)? Отправлено: ninjaproger от Октябрь 26, 2011, 10:18 Попробуй через QPixmap;
QPixmap pixmap; QPainter pixPainter(&pixmap); YourEditorScene->render(&pixPainter,sceneRect,sceneRect); pixmap.save(filename, "PNG"); // writes pixmap into bytes in PNG format Название: Re: Qt 4.2.2 Как сохранить QGraphicsScene в файл (bmp, png, ..)? Отправлено: StatuS74 от Октябрь 26, 2011, 10:24 надо через QImage. если сохранять просто без пути то все работает. а если путь писать то не пишит
Название: Re: Qt 4.2.2 Как сохранить QGraphicsScene в файл (bmp, png, ..)? Отправлено: ninjaproger от Октябрь 26, 2011, 10:51 У меня с путями в таком варианте работает
QString format = "png"; QString initialPath = QDir::currentPath() + tr("/untitled.") + format; QString fileName = QFileDialog::getSaveFileName(this, tr("Save As"), initialPath, tr("%1 Files (*.%2);;All Files (*)") .arg(format.toUpper()) .arg(format)); if (!fileName.isEmpty()) getPixmap().save(fileName, format.toAscii()); попробуй пути получать через QDir Название: Re: Qt 4.2.2 Как сохранить QGraphicsScene в файл (bmp, png, ..)? Отправлено: StatuS74 от Октябрь 26, 2011, 11:14 все заработало =) сделал через директории
|