Python实现图片格式转换

liftword4个月前 (01-08)技术文章39

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

界面设计

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

网络中的图片格式有很多,我选择了常见的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 潮流周刊#51:用 Python 绘制美观的图表

本周刊由 Python猫 出品,精心筛选国内外的 250+ 信息源,为你挑选最值得分享的文章、教程、开源项目、软件工具、播客和视频、热门话题等内容。愿景:帮助所有读者精进 Python 技术,并增长职...

Python中如何操作Surface对象绘制图形?

在Surface对象上绘制图形分为加载图片和绘制图片两个步骤。(1)加载图片加载图片即将图片读取到程序中,通过pygame中 image模块的load()方法可以向程序中加载图片,生成Surface对...

用Python制作数据报告:如何自动生成PDF格式的报告?

最近在琢磨数据分析工作的自动化,手动做报告真是太费劲啦!试过用Python整了个自动生成PDF报告的小工具,效果还不错。今天就聊聊怎么用Python把数据处理、可视化和PDF生成一条龙搞定。repor...

使用Python将图片转换为字符画并保存到文件

字符画(ASCII Art)是将图片转换为由字符组成的艺术作品。利用Python,我们可以轻松实现图片转字符画的功能。本教程将带你一步步实现这个功能,并详细解释每一步的代码和实现原理。环境准备首先,你...

Python批量重命名照片:让你的照片整理更加高效

Python批量重命名照片:让你的照片整理更加高效在日常生活中,我们经常会拍摄大量的照片,而这些照片的命名往往比较杂乱,甚至无法一眼辨识出每张照片的具体内容。尤其是当你拍摄了成百上千张照片时,整理和查...