У меня проблема при масштабировании и преобразовании QGraphicsPixmapItem
, Я создал графический редактор, в котором я использую QGraphicsItem
первоначального размера 100,100 и после этого я изменяю размеры и поворачиваю его setTransform()
метод.
После этого я сохраняю это преобразование и использую его для моего другого приложения, называемого плеером, в котором я использую это преобразование и показываю на нем изображения и видео, я использую QgraphicsPixmapItem
чтобы показать изображения сейчас, если я установил масштаб и setTransform
методы изображения его ясность становится испорченным.
Можно ли сохранить четкость как есть, даже если я масштабирую и преобразую ее. Используемое изображение имеет размер 2560×1440 пикселей.
Любая помощь будет оценена.
Код является:
QGraphicsPixmapItem *pixitem = new QGraphicsPixmapItem;
pixitem->setFlags(QGraphicsItem::ItemIsMovable);
pixitem->setPos(50,50);
QTransform trans;
trans.setMatrix(4.20399,2.9286,0,-3.86601,0.761397,0,33.1015,-134.5,1);
pixitem->setPixmap(QPixmap("abc.jpg").scaled(100,100));
pixitem->setTransform(trans);
pixitem->setShapeMode(QGraphicsPixmapItem::MaskShape);
scene->addItem(pixitem);
Ты можешь использовать setTransformationMode
функция для установки режима преобразования элемента изображения. Значением по умолчанию является Qt::FastTransformation
, Вы должны установить режим преобразования в Qt::SmoothTransformation
чтобы включить билинейную фильтрацию, которая дает лучшее качество при масштабировании:
pixitem->setTransformationMode(Qt::SmoothTransformation);