pillow

参考了很多

都写在注释里了

from PIL import ImageColor

# 使用getrgb( )方法返回色彩的元组。
ImageColor.getrgb('#0000ff') 
# getcolor( )的功能基本上与getrgb( )相同,"RGBA"则可返回RGBA元组,如果填写"RGB"则返回RGB元组。
ImageColor.getcolor('#0000ff','RGBA') 
from PIL import Image
from PIL import ImageFilter
from PIL import ImageFont
img  = Image.open('2.jpg') # 可以使用open( )方法打开一个图像对象,参数是要打开的图像文件名。


# 可以使用size属性获得图像大小,这个属性可返回图像的宽(width)和高(height)。
width,height = img.size
print(width,height)

# 可以使用filename属性获得图像的源文件名称
name = img.filename
print(name)

# 可以使用format属性获得图像文件格式(可想成图像文件的扩展名),
# 此外,可以使用format_description属性获得更详细的文件格式描述
print(img.format)
print(img.format_description)

# 可以使用save( )方法存储文件,
# 也可以将jpg文件转存成png或gif文件,
# 反之亦可,这些都是图像文件但是以不同格式存储。
# img.save('2.png')

# 可以使用show( )方法直接显示图像
# img.show()


# 可以使用new( )方法建立新的图像对象,它的语法格式如下。
# Image.new(mode,size,color=0)
newImg = Image.new("RGBA",(300,200),'aqua')

# Pillow模块提供resize( )方法可以调整图像大小,它的使用语法如下。
newImg.resize((150,100))

# Pillow模块提供rotate( )方法可以逆时针旋转图像,
# 如果旋转90°或270°,图像的宽度与高度会有变化,
# 但图像本身比例不变,多的部分以黑色图像替代,
# 如果是其他角度则图像维持不变。
# 在使用rotate( )方法时也可以增加第2个参数expand=True,
# 如果有这个参数会放大图像,让整个图像显示,多余部分用黑色填满。
newImg.rotate(45)


# 可以使用transpose( )让图像翻转,这个方法使用语法如下。
img.transpose(Image.FLIP_LEFT_RIGHT)
img.transpose(Image.FLIP_TOP_BOTTOM)



# Pillow模块的getpixel( )方法可以取得图像某一位置像素(pixel)的色彩。
# img.getpixel((x,y))
# Pillow模块的putpixel( )方法可以在图像的某一个位置填入色彩,常用的语法如下。
# img.putpixel((x,y),(r,g,b,a))




# Pillow模块有提供crop( )方法可以裁切图像,
# 其中参数是一个元组,元组内容是(左,上,右,下)的区间坐标。
cr = img.crop((200,100,300,200))

# Pillow模块有提供copy( )方法可以复制图像。
cop = cr.copy()


# Pillow模块有提供paste( )方法可以合成图像
newImg.paste(cop,(10,10))





# Pillow模块内有ImageFilter模块,使用此模块可以增加filter( )方法为图片加上滤镜效果。
# 此方法的参数意义如下。
# BLUR:模糊。
# CONTOUR:轮廓。
# DETAIL:细节增强。
# EDGE_ENHANCE:边缘增强。
# EDGE_ENHANCE_MORE:深度边缘增强。
# EMBOSS:浮雕效果。
# FIND_EDGES:边缘信息。
# SMOOTH:平滑效果。
# SMOOTH_MORE:深度平滑效果。
# SHARPEN:锐利化效果。
fil = img.filter(ImageFilter.CONTOUR)

# Pillow模块内有一个ImageDraw模块,
# 可以利用此模块绘制点(Points)、线(Lines)、矩形(Rectangles)、椭圆(Ellipses)、多边形(Polygons)。
# drawObject = ImageDraw.Draw(fil)


# ImageDraw模块的point( )方法可以绘制点
# drawObject.point(pos,fill)         fill:color
# ImageDraw模块的line( )方法可以绘制线条,
# drawObject.line(pos,width,fill)


# ImageDraw模块的ellipse( )方法可以绘制圆或椭圆
# drawObject.ellipse((left,top,right,bottom),fill,outline) # outline外框颜色

# ImageDraw模块的rectangle( )方法可以绘制矩形
# drawObject.rectangle((left,top,right,bottom),fill,outline) # outline外框颜色

# ImageDraw模块的polygon( )方法可以绘制多边形
# drawObject.polygon(pos,fill,outline) # outline外框颜色

# ImageDraw模块也可以用于在图像内填写英文或中文,所使用的函数是text( ),
# 使用非默认字体填写文字,
# 需调用ImageFont.truetype( )方法选用字体,同时设置字号。
# drawObject.text((x,y),text,fill,font)

画一张图

from PIL import Image ,ImageDraw

pic = Image.new('RGBA',(300,300))

draw = ImageDraw.Draw(pic)
for x in range(100,300,10):
    draw.line([(x,0),(300,x-100)])
for y in range(100,300,10):
    draw.line([(0,y),(y-100,300)])
pic.show()

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值