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_()) # 程序关闭时退出进程


相关文章
|
22天前
|
人工智能 机器人 测试技术
【python】python小游戏——开心消消乐(源码)【独一无二】
【python】python小游戏——开心消消乐(源码)【独一无二】
|
22天前
|
存储 人工智能 搜索推荐
【python】python用户管理系统[简易版](源码+报告)【独一无二】
【python】python用户管理系统[简易版](源码+报告)【独一无二】
|
22天前
|
存储 数据挖掘 数据库
【Python】python天气数据抓取与数据分析(源码+论文)【独一无二】
【Python】python天气数据抓取与数据分析(源码+论文)【独一无二】
|
6天前
|
机器学习/深度学习 算法 自动驾驶
opencv python 图片叠加
【4月更文挑战第17天】
|
16天前
|
存储 定位技术 数据库
【python毕业设计】python基于Pygame的吃金币游戏设计与实现(源码+毕业论文)【独一无二】
【python毕业设计】python基于Pygame的吃金币游戏设计与实现(源码+毕业论文)【独一无二】
|
16天前
|
数据采集 存储 人工智能
【python】python汽车效能数据集—回归建模(源码+数据集)【独一无二】
【python】python汽车效能数据集—回归建模(源码+数据集)【独一无二】
|
16天前
|
人工智能 数据可视化 数据挖掘
【python】Python国内GDP经济总量数据分析可视化(源码+报告)【独一无二】
【python】Python国内GDP经济总量数据分析可视化(源码+报告)【独一无二】
|
17天前
|
人工智能 机器人 测试技术
【Python】Python仓储管理系统(源码)【独一无二】
【Python】Python仓储管理系统(源码)【独一无二】
|
22天前
|
人工智能 机器人 测试技术
【Python】Python房屋销售系统(源码)【独一无二】(课程设计)
【Python】Python房屋销售系统(源码)【独一无二】(课程设计)
|
22天前
|
人工智能 监控 数据可视化
【Python】Python商业公司贸易业务数据分析可视化(数据+源码)【独一无二】
【Python】Python商业公司贸易业务数据分析可视化(数据+源码)【独一无二】

热门文章

最新文章