将JPG格式图片转换成PNG格式 - Python
一个简单的小程序,用于将指定JPG格式的文件转换成PNG格式的。分成终端版本和GUI版本。
首先是终端版本:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | # !/usr/bin/env python3 # -*- coding: utf-8 -*- """ @author : 、一叶孤城 @contact : svipdragon@vip.qq.com @version : 1.0.0 #@license : Apache Licence @fileName : converter_image.py @timeCreated: 2021/10/19 11:23 ———————————————— """ # 首先是终端版本 from PIL import Image # 导入库 im = Image. open (r 'C:\xxx\1.jpg' ) # 打开需要转换的jpg图片所在位置 im.save(r 'C:\xxx\out.png' ) # 输出保存q |
其次是简单的GUI版本:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 | import tkinter as tk from tkinter import filedialog from PIL import Image root = tk.Tk() # 初始化窗口 root.title( '批量图片转换器' ) #窗口标题 canvas1 = tk.Canvas(root, width = 300 , height = 200 , bg = 'orange' , relief = 'raised' ) # 画布属性 canvas1.pack() label1 = tk.Label(root, text = '图片转换' ,bg = 'lightsteelblue2' ) # 给屏幕一个标题 label1.config(font = ( 'helvetica' , 20 )) # 字体 canvas1.create_window( 150 , 60 , window = label1) im = None # 初始化图片路径 def getJpg(): # 一个获取jpg图像的函数 global im importFileName = filedialog.askopenfilename() im = Image. open (importFileName) font = ( 'helvetica' , 12 , 'bold' ) # 字体 bg = 'royalblue' # 背景颜色 fg = 'white' # 前景颜色 browserButtonJpg = tk.Button(text = " 请选择JPG格式的图像 " , command = getJpg, bg = bg, fg = fg, font = font) #浏览按钮 canvas1.create_window( 150 , 130 , window = browserButtonJpg) def converterToPng(): # 一个转换成Png的函数并保存在用户喜欢的位置 global im if im is None : tk.messagebox.showerror( "错误" , "没有选择文件!" ) else : exportFile = filedialog.asksaveasfilename(defaultextion = '.png' ) im.save(exportFile) saveAsButton_PNG = tk.Button(text = '将JPG图像转换成PNG' , command = converterToPng, bg = bg, fg = fg, font = font) # 转换按钮 canvas1.create_window( 150 , 180 , window = saveAsButton_PNG) root.mainloop() # 运行 |
运行之后如下图:
分类:
GitHub收集的小程序
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)