2025年2月24日 星期一 甲辰(龙)年 腊月廿四 设为首页 加入收藏
rss
您当前的位置:首页 > 计算机 > 编程开发 > Python

python --旋转图片(横图转竖图)

时间:08-15来源:作者:点击数:25
CDSY,CDSY.XYZ

python --旋转图片(横图转竖图)

水平翻转

  • from PIL import Image
  • def flip_horizontal(image_path, output_path):
  • with Image.open(image_path) as image:
  • flipped_image = image.transpose(method=Image.FLIP_LEFT_RIGHT)
  • flipped_image.save(output_path)

垂直翻转

  • from PIL import Image
  • def flip_vertical(image_path, output_path):
  • with Image.open(image_path) as image:
  • flipped_image = image.transpose(method=Image.FLIP_TOP_BOTTOM)
  • flipped_image.save(output_path)

上述代码中,flip_horizontal 和 flip_vertical 分别是水平翻转和垂直翻转的函数。image_path 是输入图片的路径,output_path 是输出图片的路径。

使用示例中先调用 flip_horizontal 水平翻转图片,再调用 flip_vertical 垂直翻转图片。可以根据实际需求选择其中一种或两种方式。

横图转竖图

  • from PIL import Image
  • def rotate_image(image_path, output_path):
  • with Image.open(image_path) as image:
  • if image.width > image.height:
  • # 横图,需要旋转
  • rotated_image = image.transpose(method=Image.ROTATE_270)
  • rotated_image.save(output_path)
  • else:
  • # 竖图,不需要操作
  • image.save(output_path)
  • # 示例用法
  • image_path = "path/to/image"
  • output_path = "path/to/output"
  • rotate_image(image_path, output_path)

竖图转成横图

  • from PIL import Image
  • def rotate_image(image_path, output_path):
  • with Image.open(image_path) as image:
  • if image.width < image.height:
  • # 竖图,需要旋转
  • rotated_image = image.transpose(method=Image.ROTATE_90)
  • rotated_image.save(output_path)
  • else:
  • # 横图,不需要操作
  • image.save(output_path)
  • # 示例用法
  • image_path = "path/to/image"
  • output_path = "path/to/output"
  • rotate_image(image_path, output_path)

上述代码中的函数和判断逻辑与将横图转成竖图的示例类似,只是将判断条件改为图片的宽度小于高度。如果是竖图,则进行旋转操作,将其转成横图;如果是横图,则直接保存到输出路径。旋转的角度也可以修改成 Image.ROTATE_270(逆时针旋转 90 度)或其他需要的角度。

CDSY,CDSY.XYZ
方便获取更多学习、工作、生活信息请关注本站微信公众号城东书院 微信服务号城东书院 微信订阅号
推荐内容
相关内容
栏目更新
栏目热门
本栏推荐