Russian Qt Forum

Qt => 2D и 3D графика => Тема начата: serega-5508 от Апрель 05, 2011, 21:02



Название: сохранение картинки
Отправлено: serega-5508 от Апрель 05, 2011, 21:02
у меня есть QGraphicsScene, на ней я рисую прямоугольник. Подскажите, пожалуйста, как мне сохранить этот прямоугольник, как картинка в формате jpeg???


Название: Re: сохранение картинки
Отправлено: alexman от Апрель 05, 2011, 22:42
А как надо? Сначала решите в каком формате хотите сохранить, а затем вопрос задавайте!


Название: Re: сохранение картинки
Отправлено: serega-5508 от Апрель 05, 2011, 23:26
alexman, так я написал в формате jpeg, bmp, можно любой формат картинки, как в paint.


Название: Re: сохранение картинки
Отправлено: alexman от Апрель 05, 2011, 23:38
bool QPixmap::save ( const QString & fileName, const char * format = 0, int quality = -1 ) const


Название: Re: сохранение картинки
Отправлено: serega-5508 от Апрель 06, 2011, 00:52
Код:
QImage image;
    QApplication::setOverrideCursor(Qt::WaitCursor);
    bool saved = image.save(fileName, "jpeg");
    QApplication::restoreOverrideCursor();

    if (saved)
    {
        setCurrentFile(fileName);
        statusBar()->showMessage(tr("File saved"), 2000);
    }
    else {
            QMessageBox::warning(this, tr("Paint 2D"),
                                 tr("Error when saving image."));
            statusBar()->showMessage(tr("Saving canceled"), 2000);
        }
вот как я созраняю, но выдаёт ошибку, всегда выполняется else. Но в диалоговом окне я не могу выбрать формат сохранения, подскажите, что и где не так!


Название: Re: сохранение картинки
Отправлено: Fess от Апрель 06, 2011, 05:34
проверьте валидность image
isNull, isValid - в таком духе..


Название: Re: сохранение картинки
Отправлено: alexman от Апрель 06, 2011, 07:51
Так попробуй! Расскажешь...
Код:
        QImage image;
QImageWriter writer( fileName );
writer.setFormat( "jpeg" );

if ( writer.write( image ) ) {
qDebug() << "yes";
} else {
qDebug() << writer.errorString();
}


Название: Re: сохранение картинки
Отправлено: alexman от Апрель 06, 2011, 07:52
alexman, так я написал в формате jpeg, bmp, можно любой формат картинки, как в paint.
Кстати из первого вопроса непонятно, что вы хотите сохранить картинку в формате jpeg.


Название: Re: сохранение картинки
Отправлено: Fess от Апрель 06, 2011, 07:56
Подскажите, пожалуйста, как мне сохранить этот прямоугольник, как картинкаy в формате jpeg???


Название: Re: сохранение картинки
Отправлено: serega-5508 от Апрель 06, 2011, 18:15
alexman, пробовал ваш код, но ничего не вышло! :(


Название: Re: сохранение картинки
Отправлено: alexman от Апрель 06, 2011, 20:59
Что не вышло? Запусти из Qt Creator и получишь что-то типа:
Код:
Empty JPEG image (DNL not supported)
"Unknown error"

Оно и правильно, так как изображение пустое!


Название: Re: сохранение картинки
Отправлено: alexman от Апрель 06, 2011, 21:04
Подскажите, пожалуйста, как мне сохранить этот прямоугольник, как картинкаy в формате jpeg???
Я на работе троим показал и все с первого раз смысла вопроса не поняли! Поэтому и написал:
Цитировать
А как надо? Сначала решите в каком формате хотите сохранить, а затем вопрос задавайте!