Python实现图片格式转换

liftword6个月前 (01-08)技术文章53

在日常生活和工作中经常遇到需要转换图片格式的情况,网上有很多图片转换工具,但都需要注册登录,还有的要收费,作为一个程序员怎么能花这冤枉钱,于是就想着自己开发一个可以转换图片格式的软件。

界面设计

虽然只是开发一个小工具软件,但也要按照软件开发的基本思路进行,首先进行构思设计要开发一个什么样的软件。图片转换功能最基本的需要选取本地的图片,然后转换后保存到一个目录。于是我设计了一个最简易的软件界面,如下图所示:

网络中的图片格式有很多,我选择了常见的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文件还需要实现选择本地图片、选择转换后图片保存位置、获取本地图片、进行转换、保存图片等功能,部分代码如下图所示:

运行测试

到此代码已经开发完成了,运行代码测试功能是否有错误,功能是否完成,能否进行格式转换。运行后界面如下图所示:

选择本地图片、图片格式、输出目录,点击“转换”按钮进行转换,如下图所示:

相关文章

Python自动生成手绘、证件照、九宫格...太炫酷了

Python像是叮当猫的口袋,几乎什么都能做,适合外行小白们去摸索学习,能极大的增加对编程的兴趣。有些工具用python来实现不一定是技术上的最优选择,但可能是最简洁、最面向大众的。介绍几个不错的处理...

新手必看!如何用Python绘制复杂函数图像

在数据可视化的奇妙世界里,Python 就像是一把万能钥匙,能够帮我们打开一扇扇通往复杂函数图像绘制的大门。今天,就跟着我一起来探索如何用 Python 绘制那些令人惊叹的复杂函数图像吧!对于数学爱好...

Python自动化办公:一分钟高效搞定Excel所有图片的导入导出

在日常办公中,我们经常需要在Excel表格中插入或导出图片,特别是在制作产品目录、报告或展示数据时。现在有这样一份任务,产品名录表里需要将每个产品的实拍图片插入到D列上,产品有上百个,传统方法需要将图...

用Python实现AI换脸

AI换脸要求把两张人脸的面部内容进行交替,并且能够尽量地进行拟合。我们首先在互联网上下载两张图片:(妹子证件照不好找,用下面两位哥的图片凑合一下)换脸技术在现在看来已经不是那么热门了,已经有很多应用软...

Python大屏看板最全教程之Pyecharts图表

阅读本文大约需要3分钟主要内容:数据分析。适用人群:Python初学者,数据分析师,或有志从事数据分析工作的人员。准备软件:Anaconda(Spyder:代码编译)、Navicat Premium...

Python如何对一张人脸图像进行特征提取?

对人脸图像进行特征提取通常需要使用深度学习和计算机视觉的相关库,在Python中相关常用的库包括如下的内容OpenCV、Dlib、和深度学习模型库如FaceNet、DeepFace等,通过这些工具我们...