Python实现图片格式转换
在日常生活和工作中经常遇到需要转换图片格式的情况,网上有很多图片转换工具,但都需要注册登录,还有的要收费,作为一个程序员怎么能花这冤枉钱,于是就想着自己开发一个可以转换图片格式的软件。
界面设计
虽然只是开发一个小工具软件,但也要按照软件开发的基本思路进行,首先进行构思设计要开发一个什么样的软件。图片转换功能最基本的需要选取本地的图片,然后转换后保存到一个目录。于是我设计了一个最简易的软件界面,如下图所示:
网络中的图片格式有很多,我选择了常见的svg、bmp、jpg、jpeg、gif、png、tiff、webp等格式进行转换。在上图“图片格式”设计成下拉框可以选择图片格式。
技术选型
界面初步设计完成后,还要考虑实现这个功能都可用哪些技术实现,经过一番考虑决定使用Python语言进行开发,界面开发使用PyQt5库,PyQt5有个界面设计工具Qt designer可以进行设计布局和控件如下图所示:
界面设计完成后可以导出一个ui文件供后面开发时使用如下图所示:
最后软件的核心功能图片转换功能使用Pillow库,对于svg格式的图片使用cairosvg库。
代码实现
使用ui文件开发界面有两种方式,一种是直接加载ui文件,还有一种是使用命令将ui文件转换为Python文件,命令如下:
pyuic5 imgConvert.ui -o imgConvert.py
转换后的Python文件部分代码如下图:
我最后选择直接加载ui文件进行开发,加载完ui文件还需要实现选择本地图片、选择转换后图片保存位置、获取本地图片、进行转换、保存图片等功能,部分代码如下图所示:
运行测试
到此代码已经开发完成了,运行代码测试功能是否有错误,功能是否完成,能否进行格式转换。运行后界面如下图所示:
选择本地图片、图片格式、输出目录,点击“转换”按钮进行转换,如下图所示: