吾爱破解 - LCG - LSG |安卓破解|病毒分析|www.52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 7446|回复: 101
收起左侧

[Windows] 用gpt做了个批量加logo的软件

  [复制链接]
qrw小贱 发表于 2024-7-11 11:45
工作要把拍摄的图加上logo,本来想ps做个动作的,这两天看了看gpt,就想着试试能不能自己做个软件

微信截图_20240711112343.png
下载地址:https://wwt.lanzouv.com/iULAd2455bve
微信图片_20240711112245.png

软件截图

软件截图

免费评分

参与人数 9吾爱币 +7 热心值 +8 收起 理由
QQ1476 + 1 + 1 谢谢@Thanks!
gqdsc + 1 谢谢@Thanks!
dogox + 1 + 1 我很赞同!
15911974915 + 1 谢谢@Thanks!
dongsxfs + 1 + 1 用心讨论,共获提升!
LLzz2023 + 1 + 1 我很赞同!
steven71 + 1 鼓励转贴优秀软件安全工具和文档!
饮食协会 + 1 + 1 感谢!亲测有效,但logo位置定位那个 最好说明一下怎么调整吧
8sp8 + 1 + 1 用心讨论,共获提升!

查看全部评分

本帖被以下淘专辑推荐:

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

 楼主| qrw小贱 发表于 2024-7-11 13:49
我需要写一个软件,这个软件可以把一个logo放在另一个图片上的固定位置上,比如左上,坐下等等,应该怎么写,请给我写出来,最好可以打包成软件
ChatGPT
为了实现一个将logo放在另一张图片固定位置上的软件,我们可以使用Python中的Pillow库。Pillow库非常适合处理图像操作,并且可以轻松实现将logo叠加到图片的功能。
以下是一个基本的Python脚本,演示了如何将logo放在另一个图片的左上角、左下角、右上角和右下角。然后我们可以使用PyInstaller将其打包成一个可执行文件。
安装所需库
首先,确保你已经安装了Pillow和PyInstaller库。如果没有安装,可以使用以下命令进行安装:
bash
复制代码
pip install pillow pyinstaller
Python脚本
创建一个名为add_logo.py的Python脚本,内容如下:
python
复制代码
from PIL import Image

def add_logo(image_path, logo_path, position):
    image = Image.open(image_path)
    logo = Image.open(logo_path)

    # Resize logo if it is larger than the image
    if logo.size[0] > image.size[0] or logo.size[1] > image.size[1]:
        logo.thumbnail((image.size[0], image.size[1]))

    if position == 'top-left':
        pos = (0, 0)
    elif position == 'top-right':
        pos = (image.size[0] - logo.size[0], 0)
    elif position == 'bottom-left':
        pos = (0, image.size[1] - logo.size[1])
    elif position == 'bottom-right':
        pos = (image.size[0] - logo.size[0], image.size[1] - logo.size[1])
    else:
        raise ValueError("Position must be 'top-left', 'top-right', 'bottom-left', or 'bottom-right'.")

    image.paste(logo, pos, logo)
    return image

if __name__ == "__main__":
    import sys
    if len(sys.argv) != 5:
        print("Usage: python add_logo.py <image_path> <logo_path> <position> <output_path>")
        sys.exit(1)

    image_path = sys.argv[1]
    logo_path = sys.argv[2]
    position = sys.argv[3]
    output_path = sys.argv[4]

    result_image = add_logo(image_path, logo_path, position)
    result_image.save(output_path)
    print(f"Logo added to {position} and saved as {output_path}")
打包成可执行文件
使用PyInstaller将脚本打包成一个可执行文件:
bash
复制代码
pyinstaller --onefile add_logo.py
生成的可执行文件将在dist目录中。你可以通过命令行运行该程序,例如:
bash
复制代码
./dist/add_logo image.jpg logo.png top-right output.jpg
脚本说明
&#8226;        add_logo函数接收四个参数:原始图片路径、logo图片路径、logo位置(如左上、右上、左下、右下),返回处理后的图片。
&#8226;        __main__部分用于从命令行接收参数并调用add_logo函数。
&#8226;        paste方法用于将logo粘贴到指定位置,第三个参数logo确保支持透明度处理。
这样,你就拥有了一个可以将logo添加到图片上指定位置的小工具,并且可以通过命令行轻松调用。
4o
我现在没有软件,该怎么装,具体一点
ChatGPT
好的,下面是详细的步骤,介绍如何安装所需的软件,并运行这个项目。我们将分步骤介绍如何安装Python和所需的库,编写脚本,打包成可执行文件,并运行这个可执行文件。
第一步:安装Python
如果你的系统还没有安装Python,可以按照以下步骤安装。
Windows
1.        下载Python: 访问Python官方网站,下载最新版本的Python安装包。
2.        安装Python: 运行下载的安装包,在安装过程中勾选“Add Python to PATH”,然后点击“Install Now”进行默认安装。
macOS
1.        使用Homebrew安装: 打开终端,输入以下命令安装Homebrew:
bash
复制代码
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
2.        安装Python: 使用Homebrew安装Python:
bash
复制代码
brew install python
Linux
在大多数Linux发行版上,Python通常已经预装。如果没有,可以使用包管理器安装:
bash
复制代码
# Debian/Ubuntu
sudo apt-get update
sudo apt-get install python3 python3-pip

# Fedora
sudo dnf install python3 python3-pip

# Arch Linux
sudo pacman -S python python-pip
第二步:安装Pillow和PyInstaller库
打开命令行终端(Windows上使用“命令提示符”或“PowerShell”,macOS和Linux上使用“终端”),然后运行以下命令安装所需的Python库:
bash
复制代码
pip install pillow pyinstaller
第三步:编写Python脚本
1.        创建Python脚本文件: 打开你的文本编辑器(如Notepad++、Sublime Text或任何IDE),创建一个名为add_logo.py的文件,并将以下代码粘贴进去:
python
复制代码
from PIL import Image

def add_logo(image_path, logo_path, position):
    image = Image.open(image_path)
    logo = Image.open(logo_path)

    # Resize logo if it is larger than the image
    if logo.size[0] > image.size[0] or logo.size[1] > image.size[1]:
        logo.thumbnail((image.size[0], image.size[1]))

    if position == 'top-left':
        pos = (0, 0)
    elif position == 'top-right':
        pos = (image.size[0] - logo.size[0], 0)
    elif position == 'bottom-left':
        pos = (0, image.size[1] - logo.size[1])
    elif position == 'bottom-right':
        pos = (image.size[0] - logo.size[0], image.size[1] - logo.size[1])
    else:
        raise ValueError("Position must be 'top-left', 'top-right', 'bottom-left', or 'bottom-right'.")

    image.paste(logo, pos, logo)
    return image

if __name__ == "__main__":
    import sys
    if len(sys.argv) != 5:
        print("Usage: python add_logo.py <image_path> <logo_path> <position> <output_path>")
        sys.exit(1)

    image_path = sys.argv[1]
    logo_path = sys.argv[2]
    position = sys.argv[3]
    output_path = sys.argv[4]

    result_image = add_logo(image_path, logo_path, position)
    result_image.save(output_path)
    print(f"Logo added to {position} and saved as {output_path}")
2.        保存文件: 将文件保存为add_logo.py。
第四步:打包成可执行文件
1.        打包脚本: 在命令行终端中,导航到保存add_logo.py文件的目录。然后运行以下命令:
bash
复制代码
pyinstaller --onefile add_logo.py
这将生成一个单个可执行文件,输出文件位于dist目录中。
第五步:运行可执行文件
1.        运行生成的可执行文件: 在命令行中,导航到dist目录。使用以下命令运行生成的可执行文件:
bash
复制代码
./add_logo image.jpg logo.png top-right output.jpg
你需要将image.jpg、logo.png、top-right和output.jpg替换为你的实际图片文件、logo文件、指定位置和输出文件名。
完成
按照以上步骤,你应该能够安装所需的软件,编写并打包脚本,并成功运行将logo添加到图片上的程序。如果有任何问题或需要进一步的帮助,请随时告知。
4o
第四步开始看不懂不会操作
ChatGPT
明白,我会更详细地解释第四步开始的操作。我们将一步一步来,确保你能够顺利完成。
第四步:打包成可执行文件
1. 确保脚本文件正确保存
确保你已经在第三步中创建并保存了add_logo.py文件。假设该文件保存到了你的用户目录下(如C:\Users\你的用户名\add_logo.py)。
2. 打开命令行终端
&#8226;        Windows: 按Win + R,输入cmd,然后按回车键。
&#8226;        macOS: 打开应用程序 > 实用工具 > 终端。
&#8226;        Linux: 打开终端。
3. 导航到脚本文件所在的目录
在命令行终端中,使用cd命令导航到保存add_logo.py文件的目录。例如,如果文件保存在C:\Users\你的用户名\目录下,可以输入以下命令:
bash
复制代码
cd C:\Users\你的用户名
4. 打包脚本文件
在命令行终端中,确保你已经在包含add_logo.py文件的目录下,然后运行以下命令:
bash
复制代码
pyinstaller --onefile add_logo.py
这个命令将使用PyInstaller将脚本文件打包成一个单独的可执行文件。
第五步:运行可执行文件
1. 导航到生成的可执行文件目录
打包完成后,你会在脚本所在目录中看到一个新的名为dist的文件夹。这个文件夹里面包含了生成的可执行文件。
在命令行终端中,导航到dist目录。例如:
bash
复制代码
cd dist
2. 运行可执行文件
在dist目录中,你会看到一个名为add_logo.exe的可执行文件。你可以通过命令行运行它,或者双击运行它。
在命令行中,使用以下命令运行生成的可执行文件:
bash
复制代码
add_logo.exe image.jpg logo.png top-right output.jpg
这里的参数解释如下:
&#8226;        image.jpg: 原始图片的文件路径。
&#8226;        logo.png: logo图片的文件路径。
&#8226;        top-right: logo的位置,可以是top-left、top-right、bottom-left或bottom-right。
&#8226;        output.jpg: 输出图片的文件路径。
例如,如果你有一张名为original.jpg的原始图片和一张名为logo.png的logo图片,并且希望将logo放在右上角,并将结果保存为result.jpg,你可以运行以下命令:
bash
复制代码
add_logo.exe original.jpg logo.png top-right result.jpg
整理总结
1.        确保你的脚本文件add_logo.py已经正确保存。
2.        打开命令行终端。
3.        使用cd命令导航到保存脚本文件的目录。
4.        运行pyinstaller --onefile add_logo.py打包脚本。
5.        导航到dist目录。
6.        运行生成的可执行文件,使用正确的参数。
希望这些步骤能够帮助你顺利完成。如果你在某一步遇到问题,请告诉我,我会进一步详细解释。
4o
C:\Users\Administrator\Desktop>cd C:\Users\Administrator\Desktop C:\Users\Administrator\Desktop>cd dist C:\Users\Administrator\Desktop\dist>add_logo.exe original.jpg logo.png top-right result.jpg Traceback (most recent call last): File "add_logo.py", line 36, in <module> File "add_logo.py", line 4, in add_logo File "PIL\Image.py", line 3431, in open FileNotFoundError: [Errno 2] No such file or directory: 'C:\\Users\\Administrator\\Desktop\\dist\\original.jpg' [17788] Failed to execute script 'add_logo' due to unhandled exception! C:\Users\Administrator\Desktop\dist>
ChatGPT
出现这个错误是因为original.jpg和logo.png这两个文件不在当前目录C:\Users\Administrator\Desktop\dist下。我们可以通过以下步骤来解决这个问题:
步骤一:确保图片文件位置正确
将original.jpg和logo.png这两个文件放置在与可执行文件相同的目录中,即C:\Users\Administrator\Desktop\dist。
步骤二:使用完整路径
如果你不想移动图片文件,也可以在运行命令时指定图片文件的完整路径。
假设original.jpg和logo.png文件在桌面上,你可以这样运行命令:
bash
复制代码
add_logo.exe C:\Users\Administrator\Desktop\original.jpg C:\Users\Administrator\Desktop\logo.png top-right C:\Users\Administrator\Desktop\dist\result.jpg
示例
1.        将original.jpg和logo.png文件移动到C:\Users\Administrator\Desktop\dist目录。
2.        在命令行终端中,导航到dist目录:
bash
复制代码
cd C:\Users\Administrator\Desktop\dist
3.        运行可执行文件:
bash
复制代码
add_logo.exe original.jpg logo.png top-right result.jpg
或者,使用完整路径:
bash
复制代码
add_logo.exe C:\Users\Administrator\Desktop\original.jpg C:\Users\Administrator\Desktop\logo.png top-right C:\Users\Administrator\Desktop\dist\result.jpg
完整操作流程
1.        打开命令提示符(cmd)。
2.        使用cd命令导航到dist目录:
bash
复制代码
cd C:\Users\Administrator\Desktop\dist
3.        确保图片文件在正确的位置,或者使用完整路径运行命令:
bash
复制代码
add_logo.exe C:\Users\Administrator\Desktop\original.jpg C:\Users\Administrator\Desktop\logo.png top-right C:\Users\Administrator\Desktop\dist\result.jpg
这样可以确保你的图片文件路径正确,程序能够找到并处理这些文件。
4o
我想打包成一个exe 文件 ,并且 我想批量的修改图片应该怎么做
ChatGPT
为了满足你的需求,我们可以创建一个增强版的脚本,将其打包成一个可执行文件,并支持批量处理图片。
以下是详细步骤,包含了脚本的编写、打包成可执行文件以及批量处理图片的功能。
步骤一:编写增强版Python脚本
创建一个名为batch_add_logo.py的Python脚本,内容如下:
python
复制代码
import os
from PIL import Image

def add_logo(image_path, logo_path, position, output_path):
    image = Image.open(image_path)
    logo = Image.open(logo_path)

    # Resize logo if it is larger than the image
    if logo.size[0] > image.size[0] or logo.size[1] > image.size[1]:
        logo.thumbnail((image.size[0], image.size[1]))

    if position == 'top-left':
        pos = (0, 0)
    elif position == 'top-right':
        pos = (image.size[0] - logo.size[0], 0)
    elif position == 'bottom-left':
        pos = (0, image.size[1] - logo.size[1])
    elif position == 'bottom-right':
        pos = (image.size[0] - logo.size[0], image.size[1] - logo.size[1])
    else:
        raise ValueError("Position must be 'top-left', 'top-right', 'bottom-left', or 'bottom-right'.")

    image.paste(logo, pos, logo)
    image.save(output_path)

def batch_add_logo(image_folder, logo_path, position, output_folder):
    if not os.path.exists(output_folder):
        os.makedirs(output_folder)
   
    for filename in os.listdir(image_folder):
        if filename.lower().endswith(('png', 'jpg', 'jpeg')):
            image_path = os.path.join(image_folder, filename)
            output_path = os.path.join(output_folder, filename)
            add_logo(image_path, logo_path, position, output_path)
            print(f"Processed {filename}")

if __name__ == "__main__":
    import sys
    if len(sys.argv) != 5:
        print("Usage: python batch_add_logo.py <image_folder> <logo_path> <position> <output_folder>")
        sys.exit(1)

    image_folder = sys.argv[1]
    logo_path = sys.argv[2]
    position = sys.argv[3]
    output_folder = sys.argv[4]

    batch_add_logo(image_folder, logo_path, position, output_folder)
    print("Batch processing completed.")
步骤二:打包成可执行文件
1. 安装PyInstaller
确保你已经安装了PyInstaller。如果没有安装,可以运行以下命令进行安装:
bash
复制代码
pip install pyinstaller
2. 打包脚本文件
打开命令行终端,导航到保存batch_add_logo.py文件的目录,然后运行以下命令:
bash
复制代码
pyinstaller --onefile batch_add_logo.py
这将生成一个单独的可执行文件,输出文件位于dist目录中。
步骤三:运行可执行文件进行批量处理
1. 导航到生成的可执行文件目录
在命令行终端中,导航到dist目录。例如:
bash
复制代码
cd dist
2. 运行生成的可执行文件
假设你有一个名为images的文件夹,其中包含了所有要处理的图片,logo文件名为logo.png,并且希望将处理后的图片保存到output文件夹,你可以运行以下命令:
bash
复制代码
batch_add_logo.exe C:\path\to\images C:\path\to\logo.png top-right C:\path\to\output
参数解释:
&#8226;        C:\path\to\images: 包含原始图片的文件夹路径。
&#8226;        C:\path\to\logo.png: logo图片的文件路径。
&#8226;        top-right: logo的位置,可以是top-left、top-right、bottom-left或bottom-right。
&#8226;        C:\path\to\output: 输出图片的文件夹路径。
完整操作流程
1.        编写并保存脚本:
o        创建并保存batch_add_logo.py脚本。
2.        打包脚本:
o        打开命令提示符(cmd)。
o        使用cd命令导航到保存batch_add_logo.py脚本的目录。
o        运行pyinstaller --onefile batch_add_logo.py命令进行打包。
3.        运行可执行文件:
o        使用cd命令导航到dist目录。
o        运行可执行文件,例如:
bash
复制代码
batch_add_logo.exe C:\path\to\images C:\path\to\logo.png top-right C:\path\to\output
这样,你就可以批量处理图片并将logo添加到指定位置。希望这些步骤能够帮助你顺利完成。如果有任何问题或需要进一步的帮助,请随时告诉我。
4o
可以做成可以随时用的软件吗,比如,我可以选择需要添加的logo,需要修改的图片,输出图片的文件夹,通过软件直接点击,不要用代码去运行
ChatGPT
要创建一个可以随时使用并且有图形用户界面的软件,我们可以使用Python的tkinter库来创建图形界面,并结合Pillow库来实现添加logo的功能。这样,你就可以通过图形界面来选择需要添加的logo、要修改的图片文件夹和输出图片的文件夹,然后点击按钮进行处理。
步骤一:编写带图形界面的Python脚本
以下是一个使用tkinter创建图形界面的Python脚本:
python
复制代码
import os
from tkinter import Tk, Label, Button, Entry, filedialog, StringVar, messagebox
from PIL import Image

def add_logo(image_path, logo_path, position, output_path):
    image = Image.open(image_path)
    logo = Image.open(logo_path)

    if logo.size[0] > image.size[0] or logo.size[1] > image.size[1]:
        logo.thumbnail((image.size[0], image.size[1]))

    if position == 'top-left':
        pos = (0, 0)
    elif position == 'top-right':
        pos = (image.size[0] - logo.size[0], 0)
    elif position == 'bottom-left':
        pos = (0, image.size[1] - logo.size[1])
    elif position == 'bottom-right':
        pos = (image.size[0] - logo.size[0], image.size[1] - logo.size[1])
    else:
        raise ValueError("Position must be 'top-left', 'top-right', 'bottom-left', or 'bottom-right'.")

    image.paste(logo, pos, logo)
    image.save(output_path)

def batch_add_logo(image_folder, logo_path, position, output_folder):
    if not os.path.exists(output_folder):
        os.makedirs(output_folder)
   
    for filename in os.listdir(image_folder):
        if filename.lower().endswith(('png', 'jpg', 'jpeg')):
            image_path = os.path.join(image_folder, filename)
            output_path = os.path.join(output_folder, filename)
            add_logo(image_path, logo_path, position, output_path)
            print(f"Processed {filename}")
   
    messagebox.showinfo("完成", "所有图片处理完毕")

def select_logo():
    logo_path.set(filedialog.askopenfilename())

def select_image_folder():
    image_folder.set(filedialog.askdirectory())

def select_output_folder():
    output_folder.set(filedialog.askdirectory())

def start_processing():
    if not image_folder.get() or not logo_path.get() or not output_folder.get() or not position.get():
        messagebox.showwarning("警告", "请填写所有字段")
        return
    batch_add_logo(image_folder.get(), logo_path.get(), position.get(), output_folder.get())

# 创建主窗口
root = Tk()
root.title("批量添加Logo软件")

# 定义字符串变量
logo_path = StringVar()
image_folder = StringVar()
output_folder = StringVar()
position = StringVar(value='top-right')

# 创建标签和输入框
Label(root, text="选择Logo图片:").grid(row=0, column=0, padx=10, pady=10)
Entry(root, textvariable=logo_path, width=50).grid(row=0, column=1, padx=10, pady=10)
Button(root, text="浏览", command=select_logo).grid(row=0, column=2, padx=10, pady=10)

Label(root, text="选择图片文件夹:").grid(row=1, column=0, padx=10, pady=10)
Entry(root, textvariable=image_folder, width=50).grid(row=1, column=1, padx=10, pady=10)
Button(root, text="浏览", command=select_image_folder).grid(row=1, column=2, padx=10, pady=10)

Label(root, text="选择输出文件夹:").grid(row=2, column=0, padx=10, pady=10)
Entry(root, textvariable=output_folder, width=50).grid(row=2, column=1, padx=10, pady=10)
Button(root, text="浏览", command=select_output_folder).grid(row=2, column=2, padx=10, pady=10)

Label(root, text="选择Logo位置:").grid(row=3, column=0, padx=10, pady=10)
Entry(root, textvariable=position, width=50).grid(row=3, column=1, padx=10, pady=10)

# 创建开始按钮
Button(root, text="开始处理", command=start_processing).grid(row=4, column=1, padx=10, pady=20)

# 运行主循环
root.mainloop()
步骤二:打包成可执行文件
确保你已经安装了pyinstaller和其他必要的库(Pillow和tkinter通常随Python一起安装)。如果没有安装,可以运行以下命令:
bash
复制代码
pip install pillow pyinstaller
在命令行终端,导航到保存batch_add_logo.py文件的目录,然后运行以下命令:
bash
复制代码
pyinstaller --onefile --windowed batch_add_logo.py
这个命令将生成一个单独的可执行文件,输出文件位于dist目录中。
步骤三:运行生成的可执行文件
在命令行中,导航到dist目录,然后运行生成的可执行文件。你会看到一个图形界面,可以通过浏览按钮选择logo图片、图片文件夹和输出文件夹,并输入logo位置(如top-left, top-right, bottom-left, bottom-right),然后点击“开始处理”按钮来批量处理图片。
完整操作流程总结
1.        编写并保存脚本:
o        创建并保存batch_add_logo.py脚本。
2.        打包脚本:
o        打开命令提示符(cmd)。
o        使用cd命令导航到保存batch_add_logo.py脚本的目录。
o        运行pyinstaller --onefile --windowed batch_add_logo.py命令进行打包。
3.        运行可执行文件:
o        使用cd命令导航到dist目录。
o        双击或运行生成的可执行文件来使用图形界面进行批量处理。
希望这些步骤能够帮助你创建一个带图形界面的、易于使用的软件来批量处理图片。如果有任何问题或需要进一步的帮助,请随时告诉我。
4o
请优化下软件,加logo的位置我想固定,比如我想加的这个logo,固定到需要加的图片上位置的左边整个画面的1/10,上面整个画面的1/8,类似这样,需要加logo的位置,可以供我任意选择
ChatGPT
好的,我们可以改进脚本,让用户可以自定义Logo在图片上的具体位置。我们可以用tkinter的滑块(Scale)来让用户选择Logo在图片上的相对位置。
改进后的Python脚本
以下是改进后的带有图形用户界面的Python脚本:
python
复制代码
import os
from tkinter import Tk, Label, Button, Entry, filedialog, StringVar, DoubleVar, Scale, HORIZONTAL, messagebox
from PIL import Image

def add_logo(image_path, logo_path, position_x, position_y, output_path):
    image = Image.open(image_path)
    logo = Image.open(logo_path)

    # Resize logo if it is larger than the image
    if logo.size[0] > image.size[0] or logo.size[1] > image.size[1]:
        logo.thumbnail((image.size[0], image.size[1]))

    # Calculate the position
    pos_x = int(image.size[0] * position_x)
    pos_y = int(image.size[1] * position_y)

    image.paste(logo, (pos_x, pos_y), logo)
    image.save(output_path)

def batch_add_logo(image_folder, logo_path, position_x, position_y, output_folder):
    if not os.path.exists(output_folder):
        os.makedirs(output_folder)
   
    for filename in os.listdir(image_folder):
        if filename.lower().endswith(('png', 'jpg', 'jpeg')):
            image_path = os.path.join(image_folder, filename)
            output_path = os.path.join(output_folder, filename)
            add_logo(image_path, logo_path, position_x, position_y, output_path)
            print(f"Processed {filename}")
   
    messagebox.showinfo("完成", "所有图片处理完毕")

def select_logo():
    logo_path.set(filedialog.askopenfilename())

def select_image_folder():
    image_folder.set(filedialog.askdirectory())

def select_output_folder():
    output_folder.set(filedialog.askdirectory())

def start_processing():
    if not image_folder.get() or not logo_path.get() or not output_folder.get():
        messagebox.showwarning("警告", "请填写所有字段")
        return
    batch_add_logo(image_folder.get(), logo_path.get(), position_x.get(), position_y.get(), output_folder.get())

# 创建主窗口
root = Tk()
root.title("批量添加Logo软件")

# 定义字符串变量和双精度变量
logo_path = StringVar()
image_folder = StringVar()
output_folder = StringVar()
position_x = DoubleVar(value=0.1)
position_y = DoubleVar(value=0.1)

# 创建标签和输入框
Label(root, text="选择Logo图片:").grid(row=0, column=0, padx=10, pady=10)
Entry(root, textvariable=logo_path, width=50).grid(row=0, column=1, padx=10, pady=10)
Button(root, text="浏览", command=select_logo).grid(row=0, column=2, padx=10, pady=10)

Label(root, text="选择图片文件夹:").grid(row=1, column=0, padx=10, pady=10)
Entry(root, textvariable=image_folder, width=50).grid(row=1, column=1, padx=10, pady=10)
Button(root, text="浏览", command=select_image_folder).grid(row=1, column=2, padx=10, pady=10)

Label(root, text="选择输出文件夹:").grid(row=2, column=0, padx=10, pady=10)
Entry(root, textvariable=output_folder, width=50).grid(row=2, column=1, padx=10, pady=10)
Button(root, text="浏览", command=select_output_folder).grid(row=2, column=2, padx=10, pady=10)

Label(root, text="Logo位置 - X (相对于宽度):").grid(row=3, column=0, padx=10, pady=10)
Scale(root, from_=0, to=1, orient=HORIZONTAL, resolution=0.01, variable=position_x, length=400).grid(row=3, column=1, padx=10, pady=10)

Label(root, text="Logo位置 - Y (相对于高度):").grid(row=4, column=0, padx=10, pady=10)
Scale(root, from_=0, to=1, orient=HORIZONTAL, resolution=0.01, variable=position_y, length=400).grid(row=4, column=1, padx=10, pady=10)

# 创建开始按钮
Button(root, text="开始处理", command=start_processing).grid(row=5, column=1, padx=10, pady=20)

# 运行主循环
root.mainloop()
步骤二:打包成可执行文件
确保你已经安装了pyinstaller和其他必要的库(Pillow和tkinter通常随Python一起安装)。如果没有安装,可以运行以下命令:
bash
复制代码
pip install pillow pyinstaller
在命令行终端,导航到保存batch_add_logo.py文件的目录,然后运行以下命令:
bash
复制代码
pyinstaller --onefile --windowed batch_add_logo.py
这个命令将生成一个单独的可执行文件,输出文件位于dist目录中。
步骤三:运行生成的可执行文件
在命令行中,导航到dist目录,然后运行生成的可执行文件。你会看到一个图形界面,可以通过浏览按钮选择logo图片、图片文件夹和输出文件夹,并通过滑块设置Logo在图片上的相对位置(X和Y的比例),然后点击“开始处理”按钮来批量处理图片。
完整操作流程总结
1.        编写并保存脚本:
o        创建并保存batch_add_logo.py脚本。
2.        打包脚本:
o        打开命令提示符(cmd)。
o        使用cd命令导航到保存batch_add_logo.py脚本的目录。
o        运行pyinstaller --onefile --windowed batch_add_logo.py命令进行打包。
3.        运行可执行文件:
o        使用cd命令导航到dist目录。
o        双击或运行生成的可执行文件来使用图形界面进行批量处理。
这样,你就可以通过图形界面自由选择Logo的位置,并批量处理图片。如果有任何问题或需要进一步的帮助,请随时告诉我。

 楼主| qrw小贱 发表于 2024-7-11 11:47
angelxiaoyang 发表于 2024-7-11 11:50
collinchen1218 发表于 2024-7-11 11:51
angelxiaoyang 发表于 2024-7-11 11:50
问下 这个是属于VB语言 还是 C#

很明显的python
engeng2 发表于 2024-7-11 11:51
是AI生成的代码吧?我还以为加水印都要引入大模型了
8sp8 发表于 2024-7-11 12:23
是AI生成的代码吧?我还以为加水印都要引入大模型了
ycb510725 发表于 2024-7-11 12:43
哦呦,太棒了,很有帮助
sp3bf 发表于 2024-7-11 12:56
有帮助,学习了,谢谢
elongnet 发表于 2024-7-11 13:33
这么神奇。
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

快速回复 收藏帖子 返回列表 搜索

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-9-8 11:30

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表