QT 圆形头像绘制方法

目标效果:

方法一:

将目标图像转换成圆形。根据图像得到圆形的Pixmap,再将pixmap绘制到label上。
这种方法的优点是不必在意绘制的label的形状是什么。相当于目标图片被裁切成背景透明的圆形图片。

//载入图片
QString path = "D:/123.jpg";
QPixmap pixmap(path);
pixmap = pixmap.scaled(ui.label->size(), Qt::IgnoreAspectRatio, Qt::SmoothTransformation);int width = ui.label->size().width();
int height = ui.label->size().height();QPixmap image(width,height);
image.fill(Qt::transparent);QPainterPath painterPath;
painterPath.addEllipse(0, 0, width, height);QPainter painter(&image);
painter.setRenderHints(QPainter::Antialiasing | QPainter::SmoothPixmapTransform);
painter.setClipPath(painterPath);
painter.drawPixmap(0, 0, width, height, pixmap);
//绘制到label
ui.label->setPixmap(image);

注意:
1.这里的label是高宽相等的;
2.这里的label设置了背景透明。

方法二:

将要显示图像的label设置成圆形。
设置样式:

border-radius: 40px;
border-image: url(D:/123.jpg);

其中40是圆形半径(正方形边长的一半)。一个80*80的label,设置样式border-radius: 40px;,就会变成圆形:

再为其贴个图,设置border-image属性即可。

如果只是要一个圆形的图标,图片内容不会怎么改变,可以使用这种方法,设置比较简单。
但如果图片在程序运行期间时常改变,建议使用第一种方法。

QT 圆形头像绘制方法相关推荐

  1. Android使用 CircleImageView 实现圆形头像的方法

    圆形头像看起来非常美观,下文通过实例代码给大家介绍android中使用CircleImageView实现圆形头像的方法,一起看看吧 有时我们在应用中会用到圆形头像,下面是利用CircleImageVi ...

  2. 利用 BitmapShader 制作自带边框圆形头像

    目前为止,已经掌握了两种制作圆形头像的方法,一种是利用 PorterDuffXfermode,一种是 Shader 工具.至于选择哪一种方法因人而异,但幸运的是这两种方法的使用都并不难.好了,现在介绍 ...

  3. Android 自定义View----离屏缓冲和图像混合模式(圆形头像)

    这里主要了解下离屏缓冲和图像混合模式,可能在自定义view的时候会用到,绘制的内容也非常简单,一个简单的圆形头像 绘制大概分为5步: 1,开启离屏缓冲 2,绘制一个圆 3,设置图像混合模式   htt ...

  4. 打造微信圆形头像更换

    很多都会发现微信的头像不是圆形,而今天我将浅谈一下,如何实现圆形头像.QQ5.0以后的版本就是圆形头像了而微信不是.当然了实现圆形头像的方法有很多种,可以使用开源的库,可以去写一个自定义的控件,或者去 ...

  5. android分析之自定义圆形头像

    package de.hdodenhof.circleimageview; public class CircleImageView extends ImageView { private stati ...

  6. 低像素Bitmap圆形头像实现边缘锐化

    问题 在项目中从存储设备中读取出的低像素Bitmap(圆形头像,在实现圆形切割的时候出现边缘模糊的情况,在尝试普通的圆形头像实现方法的过程中,发现平时使用的圆形头像方法并不生效,觉得可能是因为画布拉伸 ...

  7. 微信小程序海报画布生成圆形头像

    由于海报需求将用户头像在海报上呈圆形 实现过程如下 // 绘制圆形头像 //绘制的头像宽度let avatarurl_width = 40 //绘制的头像高度let avatarurl_heigth ...

  8. 如何用Qt抠一个圆形头像出来

    如题,如何使用Qt抠一个圆形头像出来? 先来看效果: 首先加载一张图片,显示一个透明圆形,圆形外半透明,滚动鼠标滚轮,圆形区域变大变小. 鼠标按下可以拖动图片移动,来选定要截取的图片位置,按下&quo ...

  9. Qt自定义控件之圆形按钮、圆形头像

    Qt自定义控件之圆形按钮.圆形头像 前言 代码实现 实验效果 前言 现在很多软件的头像或者按钮都是圆形了,看起来比较舒服.比如QQ登录头像,酷狗客户端的一些按钮都是圆形.Qt实现圆形头像,大致有几种思 ...

最新文章

  1. C4D灯光照明技术学习教程
  2. 数据结构之直接插入排序
  3. python中文读音ndarray-numpy中的ndarray方法和属性
  4. 两个有序链表序列的合并(c语言实现)
  5. java的默认值规则_Java 8:默认方法解析规则
  6. Git的多人协作和分支处理测试
  7. 纠结也好,蛋疼也罢,既然创业了,就把路走好。
  8. 路由器OpenWRT、LEDE、潘多拉、华硕、梅林、老毛子系统区别和特点
  9. pipeline离线安装
  10. 使用 net C 发送邮件(带成功案例)
  11. POI导出word文件中表格合并方法(行合并,列合并)
  12. Kettle的“增加序列”(自增字段)的使用
  13. 流体机械特性曲线 水轮机运转特性曲线
  14. 微信群营销:有哪些加微信群的渠道?
  15. Spark Livy
  16. sympy 符号函数求导
  17. 利尔达客思之“智能照明”的本质解析
  18. ISAP 算法的学习
  19. 消息中间件 RabbitMQ 之 工作队列(2)—消息应答
  20. 21天战拖记——Day20:整理自己的桌面(2014-05-23)

热门文章

  1. ADFS3.0/4.0 证书更新/替换
  2. 验证位置时发生错误:“org.tigris.subversion.javahl.ClientException......
  3. Linux CPU亲缘性详解
  4. 高中计算机学考vb,浙江省高中信息技术选考加试题VB专项练习题一及答案
  5. Spring 5 DI 相关内容 5.3 自动配置 5.3.4 完成自动装配的配置
  6. portainer简明使用教程
  7. 《命运赋》--吕蒙正
  8. emake-Linux学习20201004
  9. 计算机多cpu如何工作,电脑是如何工作的
  10. GM(1,1)和GM(1,n)预测模型