python 进行图形格式转换

本文先介绍用python 进行图形格式转换。最终是进行批量转换。

图形转换参考下文:

https://medium.com/@ajeet214/image-type-conversion-jpg-png-jpg-webp-png-webp-with-python-7d5df09394c9icon-default.png?t=N7T8https://medium.com/@ajeet214/image-type-conversion-jpg-png-jpg-webp-png-webp-with-python-7d5df09394c9JPG to PNG:

from PIL import Image

filea='a.jpg'
fileb='b.png'
im=Image.open(filea).convert("RGB")
im.save(fileb,'PNG')

PNG to JPG:

JPG to WEBP:

WEBP to JPG:

PNG to WEBP:

WEBP to PNG:

这些都可以参照上面的代码修改。

最近看到一种图形格式:avif 还有 heif

原有的代码读取不了。参考:Using AVIF and HEIF images with Python / PIL - Code Calamity

先安装 pip install pillow pillow-avif-plugin --upgrade

然后 :import pillow_avif  # Have to import this before importing PIL

这样就可以读取了。

批量转换需要操作系统文件的操作:

可以参考:

How to Get File Extension in Python | DigitalOcean

下面是我批量转换的一个代码:

from PIL import Image
import os.path

pa='C:\\img\\bulb_lb3'
pb=os.path.join(pa,'png')
print(pb)

names = [name for name in os.listdir(pa) 
        if os.path.isfile(os.path.join(pa, name))]

for name in names:
    file_name, file_extension = os.path.splitext(name)
    filename=file_name+".png"
    
    filea=os.path.join(pa, name)
    fileb=os.path.join(pb, filename)
    print(name)
    print(filea)
    print(fileb)

    im=Image.open(filea).convert("RGB")
    im.save(fileb,'PNG')
    #break
    #im.show()

我这个代码是转换webp 文件成png 文件,源文件放img\bulk_lb3 目录下,转换结果放其子目录png 目录下。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值