想成为大牛 2020-02-25 17:20 采纳率: 0%
浏览 1211

QT QImage的宽高设置是否有要求?

我把宽高设置成(350,350)就可以显示。设置成(360,360),(370,370)(400,400)就无法显示。

```QImage image1(400,400,QImage::Format_ARGB32);
QPainter m_painter2(&image1);
m_painter2.drawPixmap(0,0,400,400,QPixmap(":/new/prefix1/image/map3.jpg"));

后面是通过信号与槽将绘制的图片发送给主窗口。刚学的QT...
  • 写回答

1条回答 默认 最新

  • Civitasv 2020-02-25 21:41
    关注

    我试了下,并没有要求,但一般设置为图像的大小,可以保证不失真,给你一个参考代码吧:

    
        // 绘制出一个image
        QImage image(1920, 1080, QImage::Format_ARGB32);
        QPixmap pixmap("G:\\Monica2.jpg");
        QPainter painter(&image);
        painter.drawPixmap(0,0,1920,1080, pixmap);
    
        // 展示绘制出的image
        setAutoFillBackground(true); 
        QPalette pal(palette());
        // QPalette:Window是背景色:A general background color.
        // QBrush(image.scaled(size(), Qt::IgnoreAspectRatio,Qt::SmoothTransformation)):用于生成适配窗口大小的图片作为QBrush
        pal.setBrush(QPalette::Window, QBrush(image.scaled(size(), Qt::IgnoreAspectRatio,
            Qt::SmoothTransformation)));
        setPalette(pal);
    
    
    

    有问题可以讨论~

    评论

报告相同问题?

悬赏问题

  • ¥15 系统 24h2 专业工作站版,浏览文件夹的图库,视频,图片之类的怎样删除?
  • ¥15 怎么把512还原为520格式
  • ¥15 MATLAB的动态模态分解出现错误,以CFX非定常模拟结果为快照
  • ¥15 求高通平台Softsim调试经验
  • ¥15 canal如何实现将mysql多张表(月表)采集入库到目标表中(一张表)?
  • ¥15 wpf ScrollViewer实现冻结左侧宽度w范围内的视图
  • ¥15 栅极驱动低侧烧毁MOSFET
  • ¥30 写segy数据时出错3
  • ¥100 linux下qt运行QCefView demo报错
  • ¥50 F1C100S下的红外解码IR_RX驱动问题