python图片批量处理器批量加水印重命名源码

简介: python图片批量处理器批量加水印重命名源码

在PyCharm中运行《图片批量处理器》即可进入如图1所示的系统主界面。在该界面中,通过顶部的菜单栏可以选择所要进行的操作。

28a52d38b2d987c91aa1fe93c28b5e4.png


具体的操作步骤如下:

(1)选择要执行的操作:主窗体主要起到导航的功能,该窗体中通过选择相应菜单可以打开批量添加水印窗体和批量重命名窗体。

(2)批量添加水印:在主窗体的菜单中选择“主菜单”/“添加水印”菜单,弹出图片批量添加水印窗体,该窗体中,首先单击“加载图片”按钮,选择要添加水印的图片;然后对水印文字或者图片进行设置,接下来设置水印的透明度和位置,单击“路径设置”区域的“浏览”按钮,对水印图片的保存路径进行设置,全部设置完成后,单击“执行”按钮,即可批量为选择的图片添加文字或者图片水印,如图2所示。


75bf5790738cf07023b99d064ca8a31.png

(3)批量重命名:在主窗体的菜单中选择“主菜单”/“批量重命名”菜单,弹出图片批量重命名窗体,该窗体中,首先设置重命名的方式,本软件中提供了3种重命名方式,分别自文件名大写、文件名小写,以及按照指定的模板对图片进行重命名;设置完成后,单击“选择”按钮,选择要重命名的图片所在的文件,然后单击“重命名”按钮,即可按照设置的重命名方式对图片进行批量重命名,效果如图3所示。


0a157e6be67ac92454ccedcf8811d32.png

部分源码如下,其余完整详见下载。


# -*- coding: utf-8 -*-
# Form implementation generated from reading ui file 'main.ui'
# Created by: PyQt5 UI code generator 5.11.3,PyCharm
# 文件名称   :main.py
from PyQt5 import QtCore, QtGui, QtWidgets
from PyQt5.QtWidgets import QMessageBox
from PyQt5.QtGui import QBrush,QPixmap
from imageMS import imageRename,imageMark # 导入模块
class Ui_MainWindow(QtWidgets.QWidget):
    # 自动生成的代码,用来对窗体进行设置
    def setupUi(self, MainWindow):
        MainWindow.setObjectName("MainWindow")
        MainWindow.resize(800, 600) #设置窗体大小
        # 设置菜单栏
        self.menubar = QtWidgets.QMenuBar(MainWindow)
        self.menubar.setGeometry(QtCore.QRect(0, 0, 813, 23))
        self.menubar.setObjectName("menubar")
        # 添加“主菜单”菜单
        self.menu = QtWidgets.QMenu(self.menubar)
        self.menu.setObjectName("menu")
        # 添加“关于”菜单
        self.menu_2 = QtWidgets.QMenu(self.menubar)
        self.menu_2.setObjectName("menu_2")
        # 添加“添加水印”子菜单
        self.actionMark = QtWidgets.QAction(MainWindow)
        icon = QtGui.QIcon() # 创建图标对象
        # 设置图标文件
        icon.addPixmap(QtGui.QPixmap("img/mark.ico"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
        self.actionMark.setIcon(icon) # 为“添加水印”子菜单设置图标
        self.actionMark.setObjectName("actionMark")
        # 添加“批量重命名”子菜单
        self.actionRename = QtWidgets.QAction(MainWindow)
        icon1 = QtGui.QIcon() # 创建图标对象
        # 设置图标文件
        icon1.addPixmap(QtGui.QPixmap("img/rename.ico"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
        self.actionRename.setIcon(icon1) # 为“批量重命名”子菜单设置图标
        self.actionRename.setObjectName("actionRename")
        # 将“添加水印”子菜单添加到“主菜单”菜单中
        self.menu.addAction(self.actionMark)
        # 将“批量重命名”子菜单添加到“主菜单”菜单中
        self.menu.addAction(self.actionRename)
        # 菜单栏中添加“主菜单”
        self.menubar.addAction(self.menu.menuAction())
        # 添加“关于本软件”子菜单
        self.actionAbout = QtWidgets.QAction(MainWindow)
        icon = QtGui.QIcon() # 创建图标对象
        # 设置图标文件
        icon.addPixmap(QtGui.QPixmap("img/about.ico"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
        self.actionAbout.setIcon(icon) # 为“关于本软件”子菜单设置图标
        self.actionAbout.setObjectName("actionAbout")
        # 将“关于本软件”子菜单添加到“关于”菜单中
        self.menu_2.addAction(self.actionAbout)
        # 菜单栏中添加“关于”菜单
        self.menubar.addAction(self.menu_2.menuAction())
        # 设置窗体背景
        palette = QtGui.QPalette()
        # 设置窗体背景自适应
        palette.setBrush(MainWindow.backgroundRole(),QBrush(QPixmap("img/back.png").scaled(MainWindow.size(),QtCore.Qt.IgnoreAspectRatio,QtCore.Qt.SmoothTransformation)))
        MainWindow.setPalette(palette)
        MainWindow.setAutoFillBackground(True) # 设置自动填充背景
        # 禁止显示最大化按钮及调整窗体大小
        MainWindow.setFixedSize(800, 600);
        self.retranslateUi(MainWindow)
        QtCore.QMetaObject.connectSlotsByName(MainWindow)
    # 自动生成的代码,用来设置窗体中控件的默认值
    def retranslateUi(self, MainWindow):
        _translate = QtCore.QCoreApplication.translate
        MainWindow.setWindowTitle(_translate("MainWindow", "图片批量处理器"))
        self.menu.setTitle(_translate("MainWindow", "主菜单"))
        self.menu_2.setTitle(_translate("MainWindow", "|| 关于"))
        self.actionMark.setText(_translate("MainWindow", "添加水印"))
        self.actionRename.setText(_translate("MainWindow", "批量重命名"))
        self.actionAbout.setText(_translate("MainWindow", "关于本软件"))
        # 关联“添加水印”菜单的方法
        self.actionMark.triggered.connect(self.openMark)
        # 关联“批量重命名”菜单的方法
        self.actionRename.triggered.connect(self.openRename)
        # 关联“关于本软件”菜单的方法
        self.actionAbout.triggered.connect(self.about)
    # 打开水印窗体
    def openMark(self):
        self.another = imageMark.Ui_MarkWindow()  # 创建水印窗体对象
        self.another.show()  # 显示窗体
    # 打开重命名窗体
    def openRename(self):
        self.another = imageRename.Ui_RenameWindow()  # 创建重命名窗体对象
        self.another.show()  # 显示窗体
    # 关于本软件
    def about(self):
        QMessageBox.information(None, '关于本软件', '图片批量处理器是一款提供日常工作的工具软件,'
                                               '通过该软件,您可以方便的为图片添加文字水印和图片水印,'
                                               '而且可以自定义添加位置,以及透明度;另外,您还可以通过'
                                               '该软件对图片文件进行重命名,支持文件名大写、小写,以及'
                                               '根据自定义模板对图片文件进行编号。', QMessageBox.Ok)
# 主方法
if __name__ == '__main__':
    import sys
    app = QtWidgets.QApplication(sys.argv)
    MainWindow = QtWidgets.QMainWindow() # 创建窗体对象
    ui = Ui_MainWindow() # 创建PyQt5设计的窗体对象
    ui.setupUi(MainWindow) # 调用PyQt5窗体的方法对窗体对象进行初始化设置
    MainWindow.show() # 显示窗体
    sys.exit(app.exec_()) # 程序关闭时退出进程


相关文章
|
2月前
|
人工智能 数据安全/隐私保护 异构计算
桌面版exe安装和Python命令行安装2种方法详细讲解图片去水印AI源码私有化部署Lama-Cleaner安装使用方法-优雅草卓伊凡
桌面版exe安装和Python命令行安装2种方法详细讲解图片去水印AI源码私有化部署Lama-Cleaner安装使用方法-优雅草卓伊凡
345 8
桌面版exe安装和Python命令行安装2种方法详细讲解图片去水印AI源码私有化部署Lama-Cleaner安装使用方法-优雅草卓伊凡
|
5月前
|
机器学习/深度学习 监控 算法
基于mediapipe深度学习的手势数字识别系统python源码
本内容涵盖手势识别算法的相关资料,包括:1. 算法运行效果预览(无水印完整程序);2. 软件版本与配置环境说明,提供Python运行环境安装步骤;3. 部分核心代码,完整版含中文注释及操作视频;4. 算法理论概述,详解Mediapipe框架在手势识别中的应用。Mediapipe采用模块化设计,包含Calculator Graph、Packet和Subgraph等核心组件,支持实时处理任务,广泛应用于虚拟现实、智能监控等领域。
|
2月前
|
机器学习/深度学习 编解码 Python
Python图片上采样工具 - RealESRGANer
Real-ESRGAN基于深度学习实现图像超分辨率放大,有效改善传统PIL缩放的模糊问题。支持多种模型版本,推荐使用魔搭社区提供的预训练模型,适用于将小图高质量放大至大图,放大倍率越低效果越佳。
221 3
|
2月前
|
机器学习/深度学习 文字识别 Java
Python实现PDF图片OCR识别:从原理到实战的全流程解析
本文详解2025年Python实现扫描PDF文本提取的四大OCR方案(Tesseract、EasyOCR、PaddleOCR、OCRmyPDF),涵盖环境配置、图像预处理、核心识别与性能优化,结合财务票据、古籍数字化等实战场景,助力高效构建自动化文档处理系统。
566 0
|
2月前
|
机器学习/深度学习 数据采集 算法
基于mediapipe深度学习的运动人体姿态提取系统python源码
本内容介绍了基于Mediapipe的人体姿态提取算法。包含算法运行效果图、软件版本说明、核心代码及详细理论解析。Mediapipe通过预训练模型检测人体关键点,并利用部分亲和场(PAFs)构建姿态骨架,具有模块化架构,支持高效灵活的数据处理流程。
|
2月前
|
小程序 PHP 图形学
热门小游戏源码(Python+PHP)下载-微信小程序游戏源码Unity发实战指南​
本文详解如何结合Python、PHP与Unity开发并部署小游戏至微信小程序。涵盖技术选型、Pygame实战、PHP后端对接、Unity转换适配及性能优化,提供从原型到发布的完整指南,助力开发者快速上手并发布游戏。
|
4月前
|
算法 数据可视化 数据挖掘
基于EM期望最大化算法的GMM参数估计与三维数据分类系统python源码
本内容展示了基于EM算法的高斯混合模型(GMM)聚类实现,包含完整Python代码、运行效果图及理论解析。程序使用三维数据进行演示,涵盖误差计算、模型参数更新、结果可视化等关键步骤,并附有详细注释与操作视频,适合学习EM算法与GMM模型的原理及应用。
|
4月前
|
API 数据安全/隐私保护 开发者
企业微信自动加好友软件,导入手机号批量添加微信好友,python版本源码分享
代码展示了企业微信官方API的合规使用方式,包括获取access_token、查询部门列表和创建用户等功能
|
3月前
|
并行计算 算法 Java
Python3解释器深度解析与实战教程:从源码到性能优化的全路径探索
Python解释器不止CPython,还包括PyPy、MicroPython、GraalVM等,各具特色,适用于不同场景。本文深入解析Python解释器的工作原理、内存管理机制、GIL限制及其优化策略,并介绍性能调优工具链及未来发展方向,助力开发者提升Python应用性能。
226 0
|
4月前
|
编译器 Python
如何利用Python批量重命名PDF文件
本文介绍了如何使用Python提取PDF内容并用于文件重命名。通过安装Python环境、PyCharm编译器及Jupyter Notebook,结合tabula库实现PDF数据读取与处理,并提供代码示例与参考文献。

推荐镜像

更多