123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051 |
- #include "PlayerWidget.h"
- #include <QResizeEvent>
- PlayerWidget::PlayerWidget(QWidget *parent)
- {
- m_windowSize = QSize(0, 0);
- }
- PlayerWidget::~PlayerWidget()
- {
- }
- /* 刷新一帧 */
- void PlayerWidget::updateFrame(Image_YUV420& image)
- {
- m_image = image;
- if(m_windowSize.width() == 0 || m_windowSize.height() == 0)
- {
- m_windowSize.setWidth(image.width);
- m_windowSize.setHeight(image.height);
- }
- update();
- }
- /* 绘画事件 */
- void PlayerWidget::paintEvent(QPaintEvent *event)
- {
- // SPDLOG_TRACE("开始绘制画面...");
- /* 对图像进行缩放 */
- if(m_windowSize.width() != m_image.width || m_windowSize.height() != m_image.height)
- {
- m_image = m_image.scaled(m_windowSize.width(), m_windowSize.height(), Qt::KeepAspectRatio, Qt::SmoothTransformation);
- }
- QPainter painter(this);
- painter.drawImage(0, 0, *m_image);
- }
- /* 重新设置大小事件 */
- void PlayerWidget::resizeEvent(QResizeEvent *event)
- {
- m_windowSize.setWidth(event->size().width());
- m_windowSize.setHeight(event->size().height());
- QWidget::resizeEvent(event);
- }
|