LINUX.ORG.RU

[qt][plasma] QPixmap и качество изображения

 ,


0

0

Почему при изменении размеров, качество изображения сильно портится? Вот пример: оба изображения обложек 80х80, но снизу отображается «при помощи» Plasma::IconWidget, а сверху - уменьшенный QPixmap (методом scaled()). Видно, что снизу качество лучше.

Как сделать так, чтобы качество не сильно ухудшалось (чтобы было на уровне нижней картинки)?

P.S. QIcon, кстати, тоже не портит качество. Но я не знаю как задать размеры. Подскажите, как?


Вы сами пишете виджет? Тогда желательно устанавливать в QPixmap::scaled() Qt::SmoothTransformation (по умолчанию используется Qt::FastTransformation) и кешировать результат. Или того же самого можно добиться с помощью QPainter::SmoothPixmapTransform.

Dendy ★★★★★
()
Ответ на: комментарий от Dendy

нет, я просто создаю объект, и изменённый передаю в качестве параметра, вот кусок кода на питоне:

cover = QPixmap(path_to_image)
self.data = Plasma.ToolTipContent
self.data.setImage(cover.scaled(80, 80)
#а рисуется он с помощью этого:
Plasma.ToolTipManager.self().setContent(self.applet, self.data)

как быть?

memnek
() автор топика
Ответ на: комментарий от memnek

Точно, перепутал, Qt.SmoothTransformation, хорошо, что сами исправили.

Dendy ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.