2015-07-24 7 views
-1

Im Looking понизить Разрешение QPixmap обрезаны, который затем сохраняется в PNGQT - Сохранение более низкое разрешение QPixmap

QPixmap original(imgPath); // read in the image that was selected from tree 
    QPixmap cropped = original.copy(cropRectInt); // make copy of image that is cropped to the size of the rect 

//***Convert cropped to lower res here***// 

    QFile file("5.png"); 
    cropped.save(&file, "PNG"); // save for testing 

    QByteArray byteArray; 
    QBuffer buffer(&byteArray); 
    cropped.save(&buffer, "PNG"); 
    QString imgBase64 = QString::fromLatin1(byteArray.toBase64().data()); 
+1

На какой вопрос вы спрашиваете? Вы получаете сообщение об ошибке? Если да, добавьте ошибку на вопрос. – DAC84

+1

Не могли бы вы рассказать о проблеме, с которой вы столкнулись? –

+0

Я искал способы снизить разрешение Qpixmap без везения, Основная цель - просто уменьшить размер изображения. – John

ответ

1

Попробуйте использовать quality параметр в вызове QPixmap::save(QIODevice* device, const char* format, int quality)

Вы можете обратиться this QT documentation

+0

Это было больше того, что я искал благодаря тому, что изменили сохранение на 'cropped.save (& file,« PNG », 50);' – John

+0

после тестирования лучшим методом было использование как «cropped.scaledToHeight», так и «cropped.save (,, int quality)», – John