Как уменьшить размер изображения в qt?

Пользователь

от alisa.bahringer , в категории: C/C++ , 7 месяцев назад

Как уменьшить размер изображения в qt?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

1 ответ

Пользователь

от bart , 4 месяца назад

@alisa.bahringer 

Есть несколько способов уменьшить размер изображения в Qt:

  1. Используйте метод scaled класса QPixmap:
1
2
QPixmap originalPixmap("image.png");
QPixmap scaledPixmap = originalPixmap.scaled(QSize(100, 100), Qt::KeepAspectRatio);


В результате будет создана новая QPixmap scaledPixmap, размер которой не превышает 100x100 пикселей, но соотношение сторон останется тем же.

  1. Используйте метод scaled класса QImage:
1
2
QImage originalImage("image.png");
QImage scaledImage = originalImage.scaled(QSize(100, 100));


Этот метод также создает новое изображение, но в отличие от scaled из QPixmap, сохраняет соотношение сторон масштабируемого изображения.

  1. Используйте метод setFixedSize у QLabel или QPixmap:
1
2
3
4
QPixmap originalPixmap("image.png");
QLabel *label = new QLabel(this);
label->setPixmap(originalPixmap.scaled(QSize(100, 100), Qt::KeepAspectRatio));
label->setFixedSize(100, 100);


Этот метод устанавливает фиксированный размер для QLabel или QPixmap, что приводит к масштабированию изображения до нужного размера. Соотношение сторон сохраняется.