Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > С/С++: Кроссплатформенное программирование, Qt/Gtk+/wxWidgets > [QT] Уменьшение картинки для QGraphicsPixmapItem


Автор: Brodyaga 1.6.2010, 14:53
Всем доброго времени суток!

Задаю картинку формата png размеров 50x50 в QPixmap, а сам QPixmap передаю QGraphicsPixmapItem'у. Картинка больше по размером чем график итем и выходит за его края. Как уменьше размер изображения зная размеры QGraphicsPixmapItem ?

Автор: djamshud 1.6.2010, 14:57
Цитата

QPixmap::scaled
QPixmap::scaledToWidth
QPixmap::scaledToHeight

?

Автор: Brodyaga 1.6.2010, 15:28
Пробовал, не получается, после изменений передаю этот QPixmap в график итем, он всеровно остаётся таким же.. 

Автор: ecspertiza 1.6.2010, 15:34
В аттаче файлик я его когда то давно для себя писал для ресайза изображения, его подключай к проекту и вызывай ф-цию QPixmap resizePixmap(QPixmap pxm,int width,int height) она вернет измененный  пиксмап. Ресайзит учитывая пропорции.

Автор: djamshud 1.6.2010, 15:57
Brodyaga, так вам проще делать scale графикайтема. Я что-то ступил по началу.

Автор: Brodyaga 2.6.2010, 15:31
Цитата

Brodyaga, так вам проще делать scale графикайтема. Я что-то ступил по началу.

Так и не понял по какому он принципу работает, примерно подогнав значения получил нужный мне размер, но чото както хреново он преобразовывает, у изображения какието края ломанные...

Цитата

В аттаче файлик я его когда то давно для себя писал для ресайза изображения, его подключай к проекту и вызывай ф-цию QPixmap resizePixmap(QPixmap pxm,int width,int height) она вернет измененный  пиксмап. Ресайзит учитывая пропорции.

Код работает, изображение уменьшается вроде нормально. Спасибо! smile

Автор: djamshud 2.6.2010, 15:58
Brodyaga, айтем изменяется относительно текущего размера, если мне память не изменяет. Решение с ним более верное, потому что обратно однажды сжатый пиксмап разожмется с потерей качества.

Автор: Brodyaga 7.6.2010, 10:39
Цитата

Brodyaga, айтем изменяется относительно текущего размера, если мне память не изменяет. Решение с ним более верное, потому что обратно однажды сжатый пиксмап разожмется с потерей качества.

Смотря что нужно.. мне обратно разжимать не надо, а сжимает scale коряво...

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)