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文件还需要实现选择本地图片、选择转换后图片保存位置、获取本地图片、进行转换、保存图片等功能,部分代码如下图所示:

运行测试

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

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

相关文章

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

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

教你使用python编程绘制函数图像

函数公式很抽象,图像更直观,但聪明的我们总不会手画图像吧?来学习一下用Python怎么画函数图像吧。首先打开Visual Studio Code(后面简称VSCode),点击New File(中文版是...

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

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

怎么做到的?用python制作九宫格图片,太棒了

1. ? 应用场景 ?当初的想法是:想把一张图切割成九等份,发布到微信朋友圈,切割出来的图片,上传到朋友圈,发现微信不按照我排列的序号来排版。这样的结果是很耗时间的。让我深思,能不能有一种,直接拼接成...

python调用 stable diffusion批量生成图片代码解析

文中大多数内容来源github,版权属于原作者,1. 基础环境在windows上做示例,本地要安装了pythonpython的pip模块 安装 webuiapi编辑器 pyCharm 2024.2(c...

python图像处理入门-提取轮廓

提取图像中物体的轮廓,通常用在图像识别中,比如图像像素级分割,应用面比较广。import cv2 import numpy as np from skimage.measure import fi...