PackagesNotFoundError: The following packages are not available from current channels: - pil

python39

安装pil过程中报错

解决方案:
 

PIL这个库的名字官方改为了Pillow,PIL官方版不支持py3,不过有非官方那个的替代品pillow,地址:http://www.lfd.uci.edu/~gohlke/pythonlibs/#pillow

所以

只需要pip install Pillow即可

补充知识:

python之PIL模块基础功能

Image主要是打开图片后,对图片进行编辑,主要有以下一些常用功能:

1、读取并显示图片:

1

2

3

4

from PIL import Image

img = Image.open("H:\\salary.png",'r')

img.show()

2、显示图片大小:

1

2

3

4

from PIL import Image

img = Image.open("H:\\salary.png",'r')

print(img.size)

3、把图片旋转40度并显示:

1

2

3

4

from PIL import Image

img = Image.open("H:\\salary.png",'r')

img.rotate.show()

4、显示图片名称(包含路径):

1

2

3

4

from PIL import Image

img = Image.open("H:\\salary.png",'r')

print(img.filename)

5、图片缩小一倍(大概是这么算法):

1

2

3

4

from PIL import Image

img = Image.open("H:\\salary.png",'r')

img.thumbnail((img.size[0]/2,img.size[1]/2))

6、图片的像素点的缩放:

1

2

3

4

from PIL import Image

img = Image.open("H:\\salary.png",'r')

img_new = Image.eval(img,lambda x:x*2)
img_new.show()

7、图片合成或融合:

1

2

3

from PIL import Image


#img1和img2大小要一样,并且其一为透明的,否则只能看到一个图片

PIL.image.alpha_composite(img1,img2)
#alpha表示透明度
PIL.image.blend(im1,im2,alpha)
PIL.Image.composite(im1,im2,mask)

8、创建并保存图片:

1

2

from PIL import Image


#使用RGB模式创建一个黑色的图形(还有L和RGBA模式)
img = Image.new('RGB',(x,y),(0,0,0))
#L模式创建图形
img = Image.new('L',(x,y),255)
#RGBA模式创建图形
img = Image.new('RGBA',(x,y),(0,0,0,255))
img.show()
img.save('img.png')
#查看模式
print(img.mode)

9、将图片黑化(灰化):

1

2

3

4

from PIL import Image

img = Image.open("H:\\salary.png",'r')

img.convert("L").show()

10、图片的复制:

1

2

3

4

from PIL import Image

img = Image.open("H:\\salary.png",'r')
#这里也可以直接赋值
#img1 = img

img1 = img.copy()
img1.show()

11、获取对应坐标的像素:

1

2

3

from PIL import Image

img = Image.open("H:\\salary.png",'r')
print(img.getpixel(x,y))

12、粘贴一个图片到另外一个图片上:

1

2

3

from PIL import Image


#俩个图片的mode要一致,不一致可以用convert转换

img1 = Image.open("H:\\salary.png",'r')
img2 
= Image.open("H:\\pig.png",'r')
img1.paste(img2,(
50,15))
img1.show()

13、在给定图片上划直线:

1

2

3

from PIL import Image
from PIL import ImageDraw

img = Image.open("H:\\salary.png",'r')
draw 
= ImageDraw.Draw(img)
#传入俩个元祖参数,第一个是直线的俩端点坐标,另外一个是RGB
draw.line((22,43,99,11),(150,150,150))
img.show()

14、在给定图片上写文字:

1

2

3

from PIL import Imagefrom PIL import ImageDrawfrom PIL import ImageFont

img = Image.open("H:\\salary.png",'r')draw = ImageDraw.Draw(img)font = ImageFont.truetype('segoeuib.ttf',20)#传入4个参数:文字开始坐标,文字,颜色以及字体(字体可以不传入,使用默认字体)draw.text((50,60),'Hello,world',(140,255,166),font = font)img1.show()

你可能感兴趣的:(Python,python,pil,pillow)