QT QImage 添加圆角

void QMemberData::resizeImage(QImage * image)
{
    if (image != nullptr) {
      //按比例缩放
        QSize size  = {48,48};
        *image = image->scaled (size.width (),size.height (),Qt::KeepAspectRatio);
        //变为圆角
        QPixmap pixmOld =  QPixmap::fromImage (*image);
        QPixmap pixmap(size);
        pixmap.fill (Qt::transparent);
        QPainter painter(&pixmap);
        painter.setRenderHints (QPainter::Antialiasing | QPainter::SmoothPixmapTransform);
        QPainterPath path;
        QRect rect = QRect(QPoint(0,0),size);
        path.addRoundedRect (rect,24,24);
        painter.setClipPath (path);
        painter.drawPixmap (rect,pixmOld);
        *image = pixmap.toImage ();
     }
}
image.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1 实验目的 目前计算机视觉技术已经比较成熟,相关的开源项目与算法很多,可以将这些开源算法进行整合,进而做成一个小...
    YOUNG_FAN阅读 6,844评论 0 50
  • 1 QPixmap 简介 QPixmap类是一种 off-screen 图像表示形式,可以用作绘画设备。使用QLa...
    水之心阅读 35,880评论 0 4
  • Qt 中提供了强大的 2D 绘图系统,可以使用相同的 API 在屏幕和绘图设备上进行绘制,它主要基于QPainte...
    飞扬code阅读 8,751评论 0 1
  • 简述 图形视图(Graphics View)提供了一个平台,用于大量自定义2D图元的管理与交互,并提供了一个视图部...
    YBshone阅读 5,373评论 0 5
  • 参考:Paint System。 Paint System 是使用相同 API 在屏幕或打印设备上绘画的系统。这里...
    水之心阅读 4,019评论 0 6