У меня есть следующий код.
QString fileName = QFileDialog::getSaveFileName(
this,
tr("Output Image file"),
(""),
tr("PNG (*.png);;JPEG (*.JPEG);;Windows Bitmap (*.bmp);;All Files (*.*)")
);
if(fileName != "")
{
QwtPlot* pPlot = ...
QSize size = pPlot->size();
QRect printingRect(QPoint(0, 0), size);
QPixmap pixmapPrinter(size);
pixmapPrinter.fill(Qt::white);
{
QPainter painter(&pixmapPrinter);
pPlot->print(&painter, printingRect);
}
bool isOk = pixmapPrinter.save(fileName);
if(!isOk)
{
QString msgText = tr("Failed to write into ") + fileName;
QMessageBox::critical(this, tr("Error Writing"), msgText);
}
}
Итак, путь такой: - всплывающее диалоговое окно «Файл» - пользователи выбирают формат и файл - система рисует график на QPixmap - сохраняет QPixmap в файл.
Работает для PNG и BMP без проблем, но для JPEG, JPG, JPG и т. Д. Не работает.
Я изучил всю документацию Qt, но не смог найти никаких деталей. Это должно просто работать.
Есть идеи?
Я использую коммерческое издание Qt, 4.5.1 для Windows.
Я использую dll, Qt не на пути.
Я только что понял, что я статически подключаюсь к классическому стороннему jpeg.lib (программному обеспечению JPEG для Independent JPEG Group), которое используется другой библиотекой.
Возможно ли, что из-за этого возникнет конфликт или что-то еще?
Или просто плагин загружен неправильно.