pyside 蒙版的基本使用-pyqt 掩码 掩模 圆形头像 mask 图像
图1:原图,图2:掩模图,图3:效果图
由下图可知,掩模图相当于只获取了黑色的部分,白色部分则丢弃(变为透明)
代码如下:
import sys
from PySide6.QtWidgets import (QApplication,QLabel, QMainWindow,QWidget)
from PySide6.QtCore import (Qt)
from PySide6.QtGui import QPalette, QPixmap, QPainter,QBitmap,QImage
from PySide6.QtUiTools import QUiLoaderclass MainWindow(QMainWindow):def __init__(self):self.screen_size = QApplication.primaryScreen().size()loader = QUiLoader()self.ui = loader.load(r"ui\test.ui")# self.ui.setStyleSheet(my_style.main_window)# 设置窗口相对于屏幕的位置和大小 (x, y, width, height)self.ui.setGeometry(self.screen_size.width() * 0.4, self.screen_size.height() * 0.05, self.screen_size.width() * 0.5, self.screen_size.height() * 0.8)self.ui.setWindowTitle("MainWindow")self.mask_test()def mask_test(self):x = 10y = 220w = h = 300# 显示原图load_img = QPixmap(r"C:\Users\mrh\Downloads\鸡你太美.jpg")# 等比例缩放图片,最大宽度为 w# 注意:掩模图和原图的尺寸必须完全一致,img = load_img.scaledToWidth(w, Qt.FastTransformation)lable1 = QLabel(self.ui.centralwidget)lable1.move(x,y)lable1.setPixmap(img)x = x+w+20# 显示蒙版图# 注意:蒙版图的尺寸必须是和原图一样,相当于蒙版和原图是在一个图纸中bm = QBitmap(QPixmap(r"C:\Users\mrh\Downloads\mask.jpg")).scaledToWidth(w, Qt.FastTransformation)lable2 = QLabel(self.ui.centralwidget)lable2.move(x,y)lable2.setPixmap(bm)x = x+w+20# 显示蒙版效果load_img = QPixmap(r"C:\Users\mrh\Downloads\鸡你太美.jpg").scaledToWidth(w, Qt.FastTransformation)# 只有转化为 QBitmap 格式才能设置掩码mask = QBitmap(bm)load_img.setMask(mask)lable3 = QLabel(self.ui.centralwidget)lable3.move(x,y)lable3.setPixmap(load_img)x = x+w+20def my_test():app = QApplication(sys.argv)w = MainWindow()w.ui.show()app.exec()if __name__ == '__main__':my_test()
唯一需要注意的是,原图像和掩模图的尺寸必须一致,否则没有效果。
test.ui文件是用 QT designer 画的一个空窗口,图片素材大家可自取:
pyside 蒙版的基本使用-pyqt 掩码 掩模 圆形头像 mask 图像相关推荐
- python使用openCV加载图像、并将BGR格式转换成HSV格式、定义HSV格式中需要分离颜色的掩码(掩模)区间(mask)、并使用mask信息进行颜色分离、BGR格式的图像转化为RGB、并可视化
python使用openCV加载图像.并将BGR格式转换成HSV格式.定义HSV格式中需要分离颜色的掩码(掩模)区间(mask).并使用mask信息进行颜色分离.将BGR格式的图像转化为RGB.可视化 ...
- python编程定义圆_Python语言编程系列014——PyQt中自定义圆形指示灯
背景 PyQt是Qt界面库在Python下的绑定库,为熟悉或喜欢Qt的开发者在Python语言下编写GUI界面程序提供了极大的便利,关于自定义控件前面已经给出了两个例子,分别是自定义颜色指示框控件和自 ...
- android imageview 上蒙版,在iOS中为UIImageView的圆形蒙版设置动画
马特有正确的想法 . 你想要做的是使用Core Animation和CAShapeLayer . 图层具有可选的蒙版属性,该属性控制可见的图层部分 . 您可以添加CAShapeLayer作为另一个图层 ...
- 不规则形状渐变掩模(gradient mask)的生成
渐变掩模 对于规则形状,比如圆形的渐变掩模生成是比较简单的,因为每一圈上像素的位置是固定的,只需要对每一圈上的像素填充上不同的值即可生成渐变的Mask,如图1所示为一个圆形的渐变Mask. 图1 但是 ...
- python笔记之NUMPY中的掩码数组numpy.ma.mask
python科学计算_numpy_线性代数/掩码数组/内存映射数组 1. 线性代数 numpy对于多维数组的运算在默认情况下并不使用矩阵运算,进行矩阵运算可以通过matrix对象或者矩阵函数来进行: ...
- 前端代码部署到docker_使用s3将具有sagemaker的自定义docker模型部署到无服务器前端...
前端代码部署到docker 介绍 (Introduction) Deploying a model with AWS SageMaker is a great way to allow users o ...
- Mask R-CNN Keras 对象检测 对象分割 像素掩码
原文链接 Mask R-CNN Keras 对象检测 对象分割 像素掩码 在 2019年7月16日 上张贴 由 hotdog发表回复 Mask R-CNN Keras 在本教程中,您将学习如何使用 K ...
- 论文翻译 | Mask-SLAM:基于语义分割掩模的鲁棒特征单目SLAM
点击上方"3D视觉工坊",选择"星标" 干货第一时间送达 1 摘要 本文提出了一种将单目视觉SLAM与基于深度学习的语义分割相结合的新方法.为了稳定运行,vSL ...
- PySide QtCore.Signal帮助手册
本文主要是翻译了Signal的文档,感兴趣的同学,可以参见 PySide的官方文档.翻译不足之处,还请指正. 函数用法 def connect (receiver)def disconnect (re ...
最新文章
- Hadoop 单机版和伪分布式版安装
- 利用Skywalking-netcore监控你的应用性能
- 小程序promise封装post请求_Promise封装微信小程序的Request请求
- Java数据结构与算法解析(一)——表
- 【白皮书分享】2021智慧城市白皮书:城市建设运营数字化转型.pdf(附下载链接)...
- 第1-2讲 初识SLAM
- maven生命周期所有阶段_Maven构建生命周期,阶段和目标
- 存储服务器之间的传输速度与服务器内部读写速度_3000MB/s读写带来的PC体验升级,东芝RD500固态硬盘评测...
- 【程序源代码】番茄时间小程序
- 好多网友都不知道怎么阅读Linux内核源码,这篇让你快速理解
- 【用C语言绘制谢尔宾斯基三角形】
- pandas中怎么把第一列删掉_pandas删除某一列的方法
- 80核处理器_【装机帮扶站】第690期:12核amp;16核怪兽CPU配置推荐
- 滴滴D1上路之后,科技巨头正在“抢滩登陆“造车战场
- Oracle的直方图
- 2.8.1利用“直流扫描分析”测试基本共射放大电路电压传输特性
- qtabwidget设置表头_Qt GUI图形图像开发之QT表格控件QTableView,QTableWidget复杂表头(多行表头) 及冻结、固定特定的行的详细方法与实例...
- 华为“天才少年”的200万年薪里,藏着人力资源管理的下一个10年
- 服务器配置文件的英文表达,服务器配置 英文
- 关于在Word2013中安装MathType的问题