当前位置: 首页 > news >正文

建立网站对吗合肥网站快速排名提升

建立网站对吗,合肥网站快速排名提升,广西建设职业技术学院贫困生网站,济南做网络安全的公司在本篇博客中,我们将通过一个简单的实例来展示如何使用 wxPython 创建一个图形用户界面(GUI)应用程序,用于将图片从一种格式转换为另一种格式。我们将通过以下几个步骤实现这一目标: C:\pythoncode\new\imageconvertty…

在本篇博客中,我们将通过一个简单的实例来展示如何使用 wxPython 创建一个图形用户界面(GUI)应用程序,用于将图片从一种格式转换为另一种格式。我们将通过以下几个步骤实现这一目标:
C:\pythoncode\new\imageconverttype.py

  1. 选择多个 .png 文件。
  2. 选择目标文件类型(例如,jpeg, gif, png, bmp, webp)。
  3. 点击“转换”按钮,将选择的文件转换为目标格式。
  4. 将转换后的文件保存到指定的文件夹中。

全部代码

import wx
import os
from PIL import Imageclass ImageConverter(wx.Frame):def __init__(self, *args, **kw):super(ImageConverter, self).__init__(*args, **kw)self.InitUI()def InitUI(self):panel = wx.Panel(self)vbox = wx.BoxSizer(wx.VERTICAL)# 选择文件按钮self.files_button = wx.Button(panel, label="选择图片文件")self.files_button.Bind(wx.EVT_BUTTON, self.on_select_files)# 显示选择的文件列表self.files_list = wx.ListBox(panel, size=(400, 150))# 选择转换后的文件类型self.target_format_choice = wx.Choice(panel, choices=["JPEG", "GIF", "PNG", "BMP", "WEBP"])self.target_format_choice.SetSelection(0)  # 默认选择JPEG# 选择保存的文件夹self.output_folder_button = wx.Button(panel, label="选择保存文件夹")self.output_folder_button.Bind(wx.EVT_BUTTON, self.on_select_folder)# 显示选中的保存文件夹路径self.output_folder_text = wx.TextCtrl(panel, size=(400, 25), style=wx.TE_READONLY)# 转换按钮self.convert_button = wx.Button(panel, label="转换")self.convert_button.Bind(wx.EVT_BUTTON, self.on_convert)# 布局vbox.Add(self.files_button, flag=wx.EXPAND | wx.ALL, border=10)vbox.Add(self.files_list, flag=wx.EXPAND | wx.ALL, border=10)vbox.Add(self.target_format_choice, flag=wx.EXPAND | wx.ALL, border=10)vbox.Add(self.output_folder_button, flag=wx.EXPAND | wx.ALL, border=10)vbox.Add(self.output_folder_text, flag=wx.EXPAND | wx.ALL, border=10)vbox.Add(self.convert_button, flag=wx.EXPAND | wx.ALL, border=10)panel.SetSizer(vbox)self.SetSize((500, 400))self.SetTitle('图片格式转换器')self.Centre()self.Show(True)def on_select_files(self, event):with wx.FileDialog(self, "选择图片文件", wildcard="PNG files (*.png)|*.png",style=wx.FD_OPEN | wx.FD_MULTIPLE) as dlg:if dlg.ShowModal() == wx.ID_OK:paths = dlg.GetPaths()self.files_list.SetItems(paths)def on_select_folder(self, event):with wx.DirDialog(self, "选择保存文件夹", style=wx.DD_DEFAULT_STYLE) as dlg:if dlg.ShowModal() == wx.ID_OK:self.output_folder_text.SetValue(dlg.GetPath())def on_convert(self, event):# 获取选择的文件路径和目标格式selected_files = self.files_list.GetStrings()target_format = self.target_format_choice.GetStringSelection().lower()output_folder = self.output_folder_text.GetValue()if not selected_files or not output_folder:wx.MessageBox("请选择文件和目标文件夹", "错误", wx.ICON_ERROR)returnif target_format not in ["jpeg", "gif", "png", "bmp", "webp"]:wx.MessageBox("无效的目标格式", "错误", wx.ICON_ERROR)return# 转换每个文件for file in selected_files:try:# 打开图片with Image.open(file) as img:# 确定输出文件名base_name = os.path.splitext(os.path.basename(file))[0]output_path = os.path.join(output_folder, f"{base_name}.{target_format}")# 保存为目标格式img.convert("RGB").save(output_path, target_format.upper())wx.MessageBox(f"转换成功: {output_path}", "完成", wx.ICON_INFORMATION)except Exception as e:wx.MessageBox(f"转换失败: {file}\n错误: {str(e)}", "错误", wx.ICON_ERROR)if __name__ == '__main__':app = wx.App(False)ImageConverter(None)app.MainLoop()

准备工作

首先,确保你已经安装了 wxPythonPillow(Python Imaging Library)。这两个库将分别用于创建界面和处理图片转换功能。

在命令行中使用 pip 安装:

pip install wxPython Pillow
  • wxPython:用于创建跨平台的桌面应用程序。
  • Pillow:用于处理图像文件,如打开、转换格式、保存等。

代码实现

接下来,我们将通过代码实现上述功能。

import wx
import os
from PIL import Imageclass ImageConverter(wx.Frame):def __init__(self, *args, **kw):super(ImageConverter, self).__init__(*args, **kw)self.InitUI()def InitUI(self):panel = wx.Panel(self)vbox = wx.BoxSizer(wx.VERTICAL)# 选择文件按钮self.files_button = wx.Button(panel, label="选择图片文件")self.files_button.Bind(wx.EVT_BUTTON, self.on_select_files)# 显示选择的文件列表self.files_list = wx.ListBox(panel, size=(400, 150))# 选择转换后的文件类型self.target_format_choice = wx.Choice(panel, choices=["JPEG", "GIF", "PNG", "BMP", "WEBP"])self.target_format_choice.SetSelection(0)  # 默认选择JPEG# 选择保存的文件夹self.output_folder_button = wx.Button(panel, label="选择保存文件夹")self.output_folder_button.Bind(wx.EVT_BUTTON, self.on_select_folder)# 显示选中的保存文件夹路径self.output_folder_text = wx.TextCtrl(panel, size=(400, 25), style=wx.TE_READONLY)# 转换按钮self.convert_button = wx.Button(panel, label="转换")self.convert_button.Bind(wx.EVT_BUTTON, self.on_convert)# 布局vbox.Add(self.files_button, flag=wx.EXPAND | wx.ALL, border=10)vbox.Add(self.files_list, flag=wx.EXPAND | wx.ALL, border=10)vbox.Add(self.target_format_choice, flag=wx.EXPAND | wx.ALL, border=10)vbox.Add(self.output_folder_button, flag=wx.EXPAND | wx.ALL, border=10)vbox.Add(self.output_folder_text, flag=wx.EXPAND | wx.ALL, border=10)vbox.Add(self.convert_button, flag=wx.EXPAND | wx.ALL, border=10)panel.SetSizer(vbox)self.SetSize((500, 400))self.SetTitle('图片格式转换器')self.Centre()self.Show(True)def on_select_files(self, event):with wx.FileDialog(self, "选择图片文件", wildcard="PNG files (*.png)|*.png",style=wx.FD_OPEN | wx.FD_MULTIPLE) as dlg:if dlg.ShowModal() == wx.ID_OK:paths = dlg.GetPaths()self.files_list.SetItems(paths)def on_select_folder(self, event):with wx.DirDialog(self, "选择保存文件夹", style=wx.DD_DEFAULT_STYLE) as dlg:if dlg.ShowModal() == wx.ID_OK:self.output_folder_text.SetValue(dlg.GetPath())def on_convert(self, event):# 获取选择的文件路径和目标格式selected_files = self.files_list.GetStrings()target_format = self.target_format_choice.GetStringSelection().lower()output_folder = self.output_folder_text.GetValue()if not selected_files or not output_folder:wx.MessageBox("请选择文件和目标文件夹", "错误", wx.ICON_ERROR)returnif target_format not in ["jpeg", "gif", "png", "bmp", "webp"]:wx.MessageBox("无效的目标格式", "错误", wx.ICON_ERROR)return# 转换每个文件for file in selected_files:try:# 打开图片with Image.open(file) as img:# 确定输出文件名base_name = os.path.splitext(os.path.basename(file))[0]output_path = os.path.join(output_folder, f"{base_name}.{target_format}")# 保存为目标格式img.convert("RGB").save(output_path, target_format.upper())wx.MessageBox(f"转换成功: {output_path}", "完成", wx.ICON_INFORMATION)except Exception as e:wx.MessageBox(f"转换失败: {file}\n错误: {str(e)}", "错误", wx.ICON_ERROR)if __name__ == '__main__':app = wx.App(False)ImageConverter(None)app.MainLoop()

代码解析

  1. 界面设计:使用 wx.Panelwx.BoxSizer 来构建应用的布局。

    • 选择文件按钮:通过 wx.FileDialog 让用户选择多个 .png 文件。
    • 目标文件类型选择:使用 wx.Choice 让用户选择目标格式(如 JPEG, GIF, PNG, BMP, WEBP)。
    • 保存文件夹选择:通过 wx.DirDialog 让用户选择一个文件夹来保存转换后的文件。
    • 转换按钮:点击按钮后,将所选文件转换并保存到指定文件夹。
  2. 图片转换:使用 Pillow 库来处理图片的转换。我们通过 Image.open() 打开图片,调用 convert("RGB") 方法以确保图像可以转换为目标格式,然后调用 save() 保存为新的格式。

  3. 错误处理:如果文件转换失败或用户未选择文件、文件夹等,程序会弹出错误消息框,提示用户。

运行和测试

  • 启动程序后,点击 “选择图片文件” 按钮,选择要转换的 .png 文件。
  • 选择目标格式(如 jpeg, gif, bmp 等)。
  • 点击 “选择保存文件夹” 按钮,选择保存文件的目录。
  • 最后,点击 “转换” 按钮,程序会将选择的图片转换为目标格式,并保存在指定文件夹中。

结果如下

在这里插入图片描述

http://www.wangmingla.cn/news/87789.html

相关文章:

  • 做门窗网站哈尔滨关键词优化方式
  • 甘肃省嘉峪关建设局网站html网页设计模板
  • 押注网站建设电子商务网络营销
  • 北京网站建设机构新闻软文发布平台
  • 如何做360搜索网站一份完整的市场调查方案
  • 结构设计网站推荐培训方案及培训计划
  • 手机应用软件开发培训班seo优化平台
  • 建设论坛网站视频网络推广赚钱
  • 甜点网站要怎么做宁波seo推广方式排名
  • 虚拟机如何做网站在线crm管理系统
  • 微平台小程序seo研究中心倒闭
  • 怎么做html5网站吗外链推广
  • 怎么做网站邮箱制作一个简单的网站
  • 国外做vj的网站免费个人网页制作
  • 成都网站建设服务有什么最近热点新闻事件2023
  • 怎么优化自己网站邀请注册推广赚钱
  • win7 iis 网站百度关键词查询工具免费
  • 网站平台建设属于固定资产吗奶茶网络营销策划方案
  • 上海企业建站方案百度新闻客户端
  • 会议平台网站建设足球直播在线直播观看免费cctv5
  • 如何自己建个人网站携程: 2023年旅行搜索上涨超900%
  • 男女同房做爰视频免费网站站长申论
  • 区块链网站开发体app开发网络营销公司好不好
  • 备份文件wordpress如何优化网页加载速度
  • 求一个做美食视频的网站网络营销的方法包括哪些
  • CMS源码就可以做网站吗网络营销渠道可分为哪些
  • 建设政府网站的成本视频剪辑培训班学费一般多少
  • 做微课常用的网站所有的竞价托管公司
  • 四川省纪委网站建设搜索引擎营销题库和答案
  • 做外贸一般在哪个网站公司网站seo外包