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

杭州网站关键词推广程序可以做网站吗

杭州网站关键词推广,程序可以做网站吗,wordpress建站有广告吗,门户网站建设为企业带来的好处实现将截图预览,并按照顺序加入一个pdf文件中,实现照片管理尤其对于喜欢看教程截图做笔记的网友们。 C:\pythoncode\new\python-image-pdf-processor.py 界面展示 🧱 一、核心结构概述 主类 ImageViewer(wx.Frame) 是主窗口类,…

实现将截图预览,并按照顺序加入一个pdf文件中,实现照片管理尤其对于喜欢看教程截图做笔记的网友们。
C:\pythoncode\new\python-image-pdf-processor.py

界面展示

在这里插入图片描述

🧱 一、核心结构概述

主类 ImageViewer(wx.Frame)

  • 是主窗口类,继承自 wx.Frame
  • 包括左侧文件浏览和图片列表、右侧图片预览区域。
  • 支持的图片格式:['.jpg', '.jpeg', '.png', '.bmp', '.gif', '.tiff']

📁 二、左侧区域(图片选择与操作)

1. 打开文件夹按钮

self.btn_open = wx.Button(self.panel, label="打开文件夹")
self.btn_open.Bind(wx.EVT_BUTTON, self.on_open_dir)
  • 打开目录,绑定 on_open_dir() 函数。
  • 使用 wx.DirDialog 选择目录,读取支持格式的图片,显示到 ListBox1

2. 当前路径显示

self.path_text = wx.StaticText(self.panel, label="当前路径: ")
  • 显示当前选择的图片文件夹路径。

3. ListBox1 — 图片列表

self.listbox1 = wx.ListBox(...)
self.listbox1.Bind(wx.EVT_LISTBOX, self.on_select_image1)
self.listbox1.Bind(wx.EVT_LISTBOX_DCLICK, self.on_move_to_listbox2)
  • 单击:预览该图片。
  • 双击:将图片添加到 ListBox2

4. ListBox2 — 已选图片

self.listbox2 = wx.ListBox(...)
self.listbox2.Bind(wx.EVT_LISTBOX, self.on_select_image2)
  • 单击:预览。
  • 存放用户选择的用于合并 PDF 的图片。

5. 移动按钮(上下移动排序)

self.btn_up.Bind(wx.EVT_BUTTON, self.on_move_up)
self.btn_down.Bind(wx.EVT_BUTTON, self.on_move_down)
  • 可重新排列 ListBox2 中的图片顺序(影响 PDF 顺序)。

6. 合并PDF按钮

self.btn_pdf = wx.Button(...)
self.btn_pdf.Bind(wx.EVT_BUTTON, self.on_create_pdf)
  • 用于触发将 ListBox2 中图片合并生成 PDF 的逻辑(on_create_pdf() 需要你提供或补全)。

🖼 三、右侧区域(图片预览)

使用 ScrolledPanel 可滚动区域显示图片

self.scroll_panel = scrolled.ScrolledPanel(...)
self.img_preview = wx.StaticBitmap(...)
  • ScrolledPanel 允许在图片较大时滚动查看。
  • img_preview 是显示缩略图的主要控件。

🔁 四、主要方法详解

on_open_dir()

# 打开文件夹,调用 load_images()

load_images()

# 遍历文件夹,筛选支持的图片扩展名并按字母排序

on_select_image1()on_select_image2()

# 从 ListBox1 或 ListBox2 中选取图片后调用 display_image() 进行预览

display_image(img_path)

# 使用 PIL 打开图片,根据最大尺寸 (480x580) 缩放显示
# 转为 wx.Image -> wx.Bitmap -> 显示在 img_preview 上
# 支持 RGB 和 RGBA 格式

on_move_to_listbox2()

# 将 ListBox1 中双击的图片名称添加到 ListBox2,防止重复

on_move_up() / on_move_down()

# 更改 ListBox2 中图片顺序,影响 PDF 合并顺序

📌 五、缺失但预期存在的方法

on_create_pdf()

该方法虽然绑定了按钮,但代码未贴出。预期功能:

  1. 获取 ListBox2 中图片完整路径;
  2. 使用 reportlab 创建 PDF 页面;
  3. 每页插入一张图片(需缩放到 A4 页面);
  4. 保存到文件。
def on_create_pdf(self, event):output_path = os.path.join(self.current_dir, "output.pdf")c = canvas.Canvas(output_path, pagesize=A4)width, height = A4for i in range(self.listbox2.GetCount()):filename = self.listbox2.GetString(i)img_path = os.path.join(self.current_dir, filename)try:pil_img = Image.open(img_path)img_w, img_h = pil_img.sizescale = min(width / img_w, height / img_h)new_w = img_w * scalenew_h = img_h * scalec.drawImage(img_path, (width - new_w) / 2, (height - new_h) / 2, new_w, new_h)c.showPage()except Exception as e:wx.MessageBox(f"无法添加图片:{filename}\n{str(e)}", "错误", wx.ICON_ERROR)c.save()wx.MessageBox("PDF合并完成!", "成功", wx.ICON_INFORMATION)
http://www.dtcms.com/a/474888.html

相关文章:

  • 教育行业网站设计网站如何验证登陆状态
  • Linux 网络调优之重新认识 Linux 本机网络
  • 万网如何建网站html网站建设实例代码
  • Attention Is All You Need 学习笔记
  • 凡科网站怎样做重庆潼南网站建设
  • Communication Stack简介
  • 多种二分查找
  • 比较好的免费外贸网站东莞皮具网站建设
  • 三好街 做网站丢盖网logo制作免费
  • 储能电池厂追溯升级:电芯卷绕、注液到 Pack 成品的全生命周期数据
  • 茶类网站建设方案四川工程信息网官网
  • 水田智能监控系统
  • 怎么找出网站的备案号阿帕奇网站搭建
  • 网站服务器地址怎么查wordpress 本地 域名绑定
  • 目前网站建设采用什么技术健康咨询类网站模板
  • 普罗米修斯监控实战:从原理到小型项目
  • Ansible-role角色
  • 网站设计 济南中国前500强企业排名
  • 网站开发入门书籍南京网站建设哪家好
  • 解决PyQt5资源模块导入错误:如何修复 ‘No module named ui_sources_rc’ 问题
  • 城市介绍网站模板西充县规划建设局网站
  • 彩票网站开发制作营销类的网站
  • Unity框架YouYouFramework学习第2篇:启动框架
  • wordpress站点赏析检察院网站建设方案
  • wordpress获取时间函数seo在网站制作
  • 计算机视觉(opencv)——基于 MediaPipe 的手势识别系统
  • 免费建网站代码网站登录超时怎么解决
  • 网站开发与管理对应的职业及岗位眉县网站开发
  • 网站建设销售求职东莞建设网住房保障专栏20批公示栏
  • 传统文本特征提取三巨头:TF-IDF、Word2Vec与FastText的深度对比