首页 Python通用模块视频教程 Pillow图片翻转transpose()、角度旋转rotate()、变换transform()
pay pay

Pillow图片翻转transpose()、角度旋转rotate()、变换transform()

日期: 五月 11, 2023, 10:44 a.m.
阅读: 146
作者: Python自学网-村长

摘要: Pillow图片翻转transpose()、角度旋转rotate()、变换transform()

# Image.transpose(method)
'''
method 参数决定了图片要如何翻转,参数值如下:
    Image.FLIP_LEFT_RIGHT:左右水平翻转;
    Image.FLIP_TOP_BOTTOM:上下垂直翻转;
    Image.ROTATE_90:图像旋转90度;
    Image.ROTATE_180:图像旋转180度;
    Image.ROTATE_270:图像旋转270度;
    Image.TRANSPOSE:图像转置;
    Image.TRANSVERSE:图像横向翻转。
'''
im = Image.open('2023.png')
new_im = im.transpose(Image.FILTERED)  # 类似于镜像显示
# new_im = im.transpose(Image.FLIP_TOP_BOTTOM)  # 类似于镜像显示
new_im.show()

# Image.rotate(angle, resample=PIL.Image.NEAREST, expand=None, center=None, translate=None, fillcolor=None)
'''
angle:表示任意旋转的角度;
resample:重采样滤波器,默认为PIL.Image.NEAREST最近邻插值方法;
expand:可选参数,表示是否对图像进行扩展,如果参数值为True则扩大输出图像,如果为False或者省略,则表示按原图像大小输出;
center:可选参数,指定旋转中心,参数值是长度为2的元组,默认以图像中心进行旋转;
translate:参数值为二元组,表示对旋转后的图像进行平移,以左上角为原点;
fillcolor:可选参数,填充颜色,图像旋转后,对图像之外的区域进行填充。
'''
im = Image.open('2023.png')
# 重采样滤波器选项:NEAREST(0), BILINEAR(2), BICUBIC(3)
# im2 = im.rotate(60, resample=Image.BILINEAR, expand=None, center=None, translate=None, fillcolor=None)
# im2 = im.rotate(60, resample=Image.BILINEAR, expand=True, center=None, translate=None, fillcolor=None)
# im2 = im.rotate(60, resample=Image.BILINEAR, expand=True, center=(100, 100), translate=None, fillcolor=None)
# im2 = im.rotate(60, resample=Image.BILINEAR, expand=True, center=(100, 100), translate=(100, 100), fillcolor=None)
im2 = im.rotate(60, resample=Image.BILINEAR, expand=True, center=(100, 100), translate=(100, 100), fillcolor='tomato')
im2.show()

# Image.transform(size, method, data=None, resample=0)
'''
size:指定新图片的大小;
method:指定图片的变化方式,比如 Image.EXTENT 表示矩形变换;
data:该参数用来给变换方式提供所需数据==截取原图像的区域;
resample:图像重采样滤波器,默认参数值为 PIL.Image.NEAREST.
'''
im = Image.open('2023.png')
im2 = im.transform((200, 200), Image.EXTENT, data=[200, 200, 300, 350], resample=0)
im2.show()

 

原创视频,版权所有,未经允许,切勿转载,违者必究!
回顶部