8.wxPython设置图像遮罩(mask)的方法
时间:2022-07-22
本文章向大家介绍8.wxPython设置图像遮罩(mask)的方法,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
今天我们讲解几种在wxPython中设置图像mask的几种方法。
以上面这幅图画为例,嫁接昨天的桌面宠物代码,我们讲解wxPython图像处理为图像设置遮罩的方法。wxPython图像处理类有wx.Image和wx.Bitmap,其中wx.Image是一个与平台无关的类,可以加载各种格式的图形文件,而wx.Bitmap可以将图形显示在屏幕。一般先由wx.Image将图像文件加载,然后转换成wx.Bitmap对象,最后显示在屏幕上。wx.Image有两个函数可以设置图像遮罩:SetMaskColour和SetMaskFromImage,wx.Bitmap有一个函数可以设置图像遮罩:SetMaskColour。今天我们的代码就通过三个函数都实现了图片背景图像遮盖掉的目的。具体实现语句在img.SetMaskColour(255, 242,0),img.SetMaskFromImage(img,255, 242,0),self.bg.SetMaskColour((255, 242,0))三处。
#一个遮盖背景颜色的图像做的桌面精灵
import wx
class myframe(wx.Frame):
def __init__(self):
self.x=100
self.y=100
super().__init__(parent=None,pos=(self.x,self.y),style=wx.FRAME_SHAPED|wx.STAY_ON_TOP)
img=wx.Image("xin.png")
img.SetMaskColour(255, 242,0)
# img.SetMaskFromImage(img,255, 242,0)
#鼠标点击图片位置,可以打印特定位置坐标。
#打印特定位置的点的红绿蓝三通道的颜色,方便设置遮罩
posX=145
posY=39
print(img.GetRed(posX,posY),img.GetGreen(posX,posY),img.GetBlue(posX,posY))
self.bg=wx.Bitmap(img)
# self.bg.SetMaskColour((255, 242,0))
region=wx.Region(self.bg)
self.SetShape(region)
self.SetToolTip("皇天后土,主公在上")
self.Bind(wx.EVT_PAINT,self.onPaint)
self.Bind(wx.EVT_MOTION, self.OnMouseMotion)
self.Bind(wx.EVT_RIGHT_UP, self.OnRightClickEvent)
self.Bind(wx.EVT_LEFT_DOWN, self.OnLeftClickDown)
def OnLeftClickDown(self, event):
pos = event.GetPosition()
print(pos.x,pos.y)
self.pt = wx.Point(pos.x,pos.y)
def OnRightClickEvent(self, event):
wx.Exit()
def OnMouseMotion(self, event):
if event.Dragging() and event.LeftIsDown():
pos = self.ClientToScreen(event.GetPosition())
self.Move((pos.x-self.pt.x,pos.y-self.pt.y))
def onPaint(self,event):
mydc=wx.PaintDC(self)
mydc.DrawBitmap(self.bg,0,0,True)
myapp=wx.App()
frame=myframe()
frame.Show()
myapp.MainLoop()
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 2020最新Android面筋:太难了!历经一周对接6个面试官后,我的头条Offer终于来了!
- 第三章--第五节:集合
- Python 爬虫超详细讲解(零基础入门,老年人都看的懂)
- JavaWeb - Linux Operating System
- 第三章--第六节:元祖
- JavaWeb - 开发环境搭建和 Shell 编程
- 第四章--第一节:函数
- 教育平台项目后台管理系统:接口文档
- 第四章--第二节:类
- 教育平台项目后台管理系统:介绍与搭建
- Python办公自动化之Excel做表自动化:全网最全,看这一篇就够了!
- Java学习笔记-spring-Bean实例化
- Java学习笔记-spring-Bean作用于
- 教育平台项目后台管理系统:课程信息模块
- 教育平台项目后台管理系统:课程内容模块