ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

PyQt类学习后的自我总结目录笔记

2021-07-15 13:01:46  阅读:227  来源: 互联网

标签:draw PIL ImageEnhance image 自我 笔记 PyQt 工具 Image


PyQt类学习后的自我总结目录笔记
我把类暂分为三大类:

  1. 基本类:字体,颜色,大小等;
    衍生类:----
  2. 控件类:Layouts、Spacers、Buttons、Item Views、Item Widgets、Containers、Input Widgets 、Display Widgets
  3. 特定类:PIL
    做一些特定具体的事,又分为展示类,工具类[注:自已理解说明,并不专业严谨]
  • 第一层理解:我把展示类比作一张纸,工具类比作笔,笔在纸上作画,写字,离开了纸,笔就没有了作用。工具类[ImageDraw]在展示类[Image]上执行,在展示类上显示结果。
  • 第二层理解:笔在纸上写字作画,人握笔才行;工具类在展示类上执行,工具类须实例化,也叫对象化。
    第三层理解:纸不会凭空产生,肯定要有个人生产它,对纸做些操作,同理展示类实例化,才可以被展示操作,而实例化的展示类,可以被new,open,save等等
  • 第四层理解:圆规在纸上画圆,功能单一,随便叫个人就可以画,可以不知道那个人的名字,同理工具类只做一次简单的动作,就可以匿名调用;
    笔可以上纸上画直线,写字,画画,那拥有这支笔的人最好要有名字,同理工具类可以做许多事,拥有工具类的对象也要有一个名字,就是变量名,通过变量名就可以做这个工具类可以做的事。

一、基本类

基础类:QFont、QColor、QSize……

衍生类:

QFont衍生
QFont 为绘画文本提供制定的字体
QFontComboBox 提供了选择字体族的下拉列表框
QFontDatabase 提供了可以在Window 操作系统下能够使用的字体
QFontDialog 用来选择一个指定的字体
QFontEngineInfo 用来描述一个指定的字体引擎插件
QFontEnginePlugin 累提供了字体仓库插件的基础累, 用于嵌入式linux
QFontInfo 包含了一个字体的常规信息

QColor衍生
QColorDialog

二、控件类

三、特定类

PIL

1、 展示类: 比作一张纸。

Image (new、open、save、convert、split、alpha_composite……)
#   打开图片
im = Image.open("*.jpg")
#   新建图片
newim = Image.new("RGBA",im.size,(255,255,255,0)
#  图片模式转化
regaim = im.convert("RGBA")
#  图片分层
alpha = rgbaim.split()[3]
#  图片合并
Image.alpha_composite(im,newim)
#  图片保存
newim.save("*.png")   // 注意“RGBA”模式不能存为jpg格式,不支持透明通道。
------------
array转换成image
img.flags.writeable = True # 将数组改为读写模式
Image.fromarray(np.uint8(img))

2、 工具类: 比作笔等工具

1. 绘画写字 ImageDraw (Draw……)

模块[ ImageDraw ]比作工具箱,工具类[Draw]比做工具,方法[line、rectangle……]众多表示工具可以做许多的事,所以尽量要命名调用。

from PIL import Image
from PIL import ImageDraw
from PIL import ImageFont

#打开图片
image = Image.open("*.jpg")
#创建绘制对象
draw = ImageDraw.Draw(image)
#绘制直线
draw.line((20, 20, 150, 150), 'cyan')
#绘制矩形
draw.rectangle((100, 200, 300, 400), 'black', 'red')
 #绘制弧
draw.arc((100, 200, 300, 400), 0, 180, 'yellow')
draw.arc((100, 200, 300, 400), -90, 0, 'green')
#绘制弦
draw.chord((350, 50, 500, 200), 0, 120, 'khaki', 'orange')
#绘制圆饼图
draw.pieslice((350, 50, 500, 200), -150, -30, 'pink', 'crimson')
#绘制椭圆
draw.ellipse((350, 300, 500, 400), 'yellowgreen', 'wheat')
#外切矩形为正方形时椭圆即为圆
draw.ellipse((550, 50, 600, 100), 'seagreen', 'skyblue') 
#绘制多边形
draw.polygon((150, 180, 200, 180, 250, 120, 230, 90, 130, 100), 'olive', 'hotpink')
 
#绘制文本
font = ImageFont.truetype("consola.ttf", 40, encoding="unic")    #设置字体
draw.text((100, 50), u'Hello World', 'fuchsia', font)
 
image.show()
2. 图像的增强 ImageEnhance (Brightness、Color、Contrast、Sharpness)

模块[ImageEnhance]比作工具箱,工具类[Brightness]比做工具,方法[enhance]表示工具做的事。因为方法单一简单,所以可以匿名调用。

from PIL import Image
from PIL import ImageEnhance
#原始图像
image = Image.open('lena.jpg')
image.show()
 
#亮度增强
brightness = 1.5
image_brightened = ImageEnhance.Brightness(image).enhance(brightness)
image_brightened.show()
 
#色度增强
color = 1.5
image_colored = ImageEnhance.Color(image).enh_col.enhance(color)
image_colored.show()
 
#对比度增强
contrast = 1.5
image_contrasted = ImageEnhance.Contrast(image).enh_con.enhance(contrast)
image_contrasted.show()
 
#锐度增强
enh_sha = ImageEnhance.Sharpness(image)
sharpness = 3.0
image_sharped = enh_sha.enhance(sharpness)
image_sharped.show()

PIL库image模块的各方法

PIL的ImageDraw模块功能
#### PIL的ImageEnhance模块
#### PIL的ImageChops模块功能
#### 学习PIL图像处理库

3、基本类:

ImageFont
Python图像处理库PIL的ImageFont模块介绍

--------------------------------------------

标签:draw,PIL,ImageEnhance,image,自我,笔记,PyQt,工具,Image
来源: https://blog.csdn.net/nt15162773636/article/details/118756936

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有