python-图像

python-图像,第1张

python-图像

1、打开图像文件

from PIL import Image

catIm=Image.open('zophie.png')

2、裁剪图片 crop()函数

croppedIm=catIm.crop((335,345,565,560))

croppedIm.save('cropped.png')

3、复制粘贴图像

catIm=Image.open('zophie.png')

catCopyIm=catIm.copy()

faceIm=catIm.crop((335,345,565,560))

catCopyIm.paste(faceIm,(0,0))

catCopyIm.paste(faceIm,(400,500))

catCopyIm.save('pasted.png')

4、调整图像大小 resize()函数

width,height=catIm.size

quartersizedIm=catIm.resize((int(width/2),int(height/2)))

quartersizedIm.save('quartersized.png')

svelteIm=catIm.resize((width,height+300))

svelteIm.save('svelte.png')

5、旋转和翻转图像          rotate()函数

catIm.rotate(90).save('rotated90.png')

catIm.rotate(180).save('rotated180.png')

expand参数:是否放大尺寸

catIm.rotate(6,expand=True).save('rotated6_expanded.png')

镜像倒转        transpose()函数

catIm.transpose(Image.FLIP_LEFT_RIGHT).save('horizontal_flip.png')        #水平翻转

catIm.transpose(Image.FLIP_TOP_BOTTOM).save('horizontal_flip.png')        #垂直翻转

6、更改单个像素

getpixel():得到单个像素颜色

putpixel():单个像素添加颜色

代码如下:

im=Image.new('RGBA',(100,100))

im.getpixel((0,0))

for x in range(100):

        for y in range(50):

                im.putpixel((x,y),(210,210,210))

from PIL import ImageColor

for x in range(100):

        for y in range(50,100):

                im.putpixel((x,y),ImageColor.getcolor('darkgray','RGBA'))

im.getpixel((0,0))

im.getpixel((0,50))

7、图像上画形状        ImageDraw.Draw(im)

点:point(xy,fill)        xy是元组,fill是点的颜色

线:line(xy,fill,width)        xy是元组,fill是线的颜色,width是线的宽度

矩形:rectangle(xy,fill,outline)        xy是元组(left,top,right,bottom,其中left、top是左上角的x坐  标、y坐标;right、bottom是右下角的x坐标、y坐标),fill是填充的颜色,outline是矩形轮廓的颜色

椭圆:ellipse(xy,fill,outline)        xy是元组(left,top,right,bottom),fill是填充的颜色,outline是轮廓的颜色

多边形:polygon(xy,fill,outline)        xy是元组,fill是填充的颜色,outline是轮廓的颜色

代码如下:

from PIL from Image,ImageDraw

im=Image.new('RGBA',(200,200),'white')

draw=ImageDraw.Draw(im)

draw.line([(0,0),(199,0),(199,199),(0,199),(0,0)],fill='black')

draw.rectangle((20,30,60,60),fill='blue')

draw.ellipse((120,30,160,60),fill='red')

draw.polygon(((57,87),(79,62),(94,85),(120,90),(103,113)),fill=brown')

im.save('drawing.png')

8、绘制文本        text()

代码如下:

from PIL import Image,ImageDraw,ImageFront

import os

im=Image.new('RGBA',(200,200),'white')

draw=ImageDraw.Draw(im)

draw.text((20,150),'hello',fill='purple')

fontsFolder='FONT_FOLDER'

arialFont=ImageFont.truetype(os.path.join(fontsFolder,'arial.ttf'),32)

draw.text((100,150),'Howdy',fill='gray',font=arialFont)

im.save('text.png')

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/5721363.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-18
下一篇 2022-12-18

发表评论

登录后才能评论

评论列表(0条)

保存