拼多多订单图片截图,拼多多付款截图生成器,购买记录截图生成器

简介: 这个购买记录截图生成器项目包含三个主要文件:主程序、模板数据文件和依赖文件。主程序使用

下载地址:https://www.pan38.com/dow/share.php?code=JCnzE 提取密码:8891

这个购买记录截图生成器项目包含三个主要文件:主程序、模板数据文件和依赖文件。主程序使用Python的tkinter创建GUI界面,Pillow库处理图片生成。用户可以选择背景图片、设置各种购买记录参数,或使用随机生成功能。

import tkinter as tk
from tkinter import ttk, filedialog, messagebox
from PIL import Image, ImageDraw, ImageFont
import random
import datetime
import json
import os

class PurchaseRecordGenerator:
def init(self, root):
self.root = root
self.root.title("购买记录截图生成器 v1.0")
self.root.geometry("800x600")

    # 初始化变量
    self.background_image = None
    self.output_path = os.path.expanduser("~/Desktop")
    self.font_path = "simhei.ttf"
    self.template_data = {
        "platforms": ["淘宝", "京东", "拼多多", "天猫", "亚马逊"],
        "products": ["手机", "笔记本电脑", "耳机", "智能手表", "平板电脑"],
        "brands": ["Apple", "华为", "小米", "三星", "OPPO"],
        "prices": [999, 1299, 1999, 2599, 3299, 4599, 5999]
    }

    self.create_widgets()
    self.load_template()

def create_widgets(self):
    # 主框架
    main_frame = ttk.Frame(self.root, padding="10")
    main_frame.pack(fill=tk.BOTH, expand=True)

    # 左侧控制面板
    control_panel = ttk.LabelFrame(main_frame, text="生成设置", padding="10")
    control_panel.pack(side=tk.LEFT, fill=tk.Y, padx=5)

    # 平台选择
    ttk.Label(control_panel, text="电商平台:").grid(row=0, column=0, sticky=tk.W)
    self.platform_var = tk.StringVar()
    self.platform_combobox = ttk.Combobox(control_panel, textvariable=self.platform_var)
    self.platform_combobox['values'] = self.template_data["platforms"]
    self.platform_combobox.grid(row=0, column=1, pady=5, sticky=tk.EW)

    # 商品信息
    ttk.Label(control_panel, text="商品名称:").grid(row=1, column=0, sticky=tk.W)
    self.product_var = tk.StringVar()
    self.product_entry = ttk.Entry(control_panel, textvariable=self.product_var)
    self.product_entry.grid(row=1, column=1, pady=5, sticky=tk.EW)

    # 品牌选择
    ttk.Label(control_panel, text="商品品牌:").grid(row=2, column=0, sticky=tk.W)
    self.brand_var = tk.StringVar()
    self.brand_combobox = ttk.Combobox(control_panel, textvariable=self.brand_var)
    self.brand_combobox['values'] = self.template_data["brands"]
    self.brand_combobox.grid(row=2, column=1, pady=5, sticky=tk.EW)

    # 价格设置
    ttk.Label(control_panel, text="商品价格:").grid(row=3, column=0, sticky=tk.W)
    self.price_var = tk.StringVar()
    self.price_combobox = ttk.Combobox(control_panel, textvariable=self.price_var)
    self.price_combobox['values'] = self.template_data["prices"]
    self.price_combobox.grid(row=3, column=1, pady=5, sticky=tk.EW)

    # 订单号生成
    ttk.Label(control_panel, text="订单编号:").grid(row=4, column=0, sticky=tk.W)
    self.order_var = tk.StringVar()
    self.order_entry = ttk.Entry(control_panel, textvariable=self.order_var)
    self.order_entry.grid(row=4, column=1, pady=5, sticky=tk.EW)

    # 日期设置
    ttk.Label(control_panel, text="购买日期:").grid(row=5, column=0, sticky=tk.W)
    self.date_var = tk.StringVar(value=datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S"))
    self.date_entry = ttk.Entry(control_panel, textvariable=self.date_var)
    self.date_entry.grid(row=5, column=1, pady=5, sticky=tk.EW)

    # 背景图片选择
    ttk.Label(control_panel, text="背景图片:").grid(row=6, column=0, sticky=tk.W)
    self.bg_button = ttk.Button(control_panel, text="选择图片", command=self.select_background)
    self.bg_button.grid(row=6, column=1, pady=5, sticky=tk.EW)

    # 输出路径选择
    ttk.Label(control_panel, text="输出路径:").grid(row=7, column=0, sticky=tk.W)
    self.path_button = ttk.Button(control_panel, text="选择路径", command=self.select_output_path)
    self.path_button.grid(row=7, column=1, pady=5, sticky=tk.EW)

    # 生成按钮
    self.generate_button = ttk.Button(control_panel, text="生成截图", command=self.generate_image)
    self.generate_button.grid(row=8, column=0, columnspan=2, pady=10, sticky=tk.EW)

    # 随机生成按钮
    self.random_button = ttk.Button(control_panel, text="随机生成", command=self.random_generate)
    self.random_button.grid(row=9, column=0, columnspan=2, pady=5, sticky=tk.EW)

    # 右侧预览区域
    preview_panel = ttk.LabelFrame(main_frame, text="预览", padding="10")
    preview_panel.pack(side=tk.RIGHT, fill=tk.BOTH, expand=True, padx=5)

    self.preview_label = ttk.Label(preview_panel, text="预览区域")
    self.preview_label.pack(fill=tk.BOTH, expand=True)

def load_template(self):
    try:
        with open("template.json", "r", encoding="utf-8") as f:
            self.template_data = json.load(f)
            self.platform_combobox['values'] = self.template_data["platforms"]
            self.brand_combobox['values'] = self.template_data["brands"]
            self.price_combobox['values'] = self.template_data["prices"]
    except:
        pass

def select_background(self):
    file_path = filedialog.askopenfilename(
        title="选择背景图片",
        filetypes=[("图片文件", "*.jpg *.jpeg *.png")]
    )
    if file_path:
        try:
            self.background_image = Image.open(file_path)
            self.update_preview()
        except Exception as e:
            messagebox.showerror("错误", f"无法加载图片: {str(e)}")

def select_output_path(self):
    path = filedialog.askdirectory(title="选择输出文件夹")
    if path:
        self.output_path = path

def random_generate(self):
    self.platform_var.set(random.choice(self.template_data["platforms"]))
    self.brand_var.set(random.choice(self.template_data["brands"]))
    product = random.choice(self.template_data["products"])
    self.product_var.set(f"{self.brand_var.get()} {product}")
    self.price_var.set(str(random.choice(self.template_data["prices"])))

    # 生成随机订单号
    order_num = "".join([str(random.randint(0, 9)) for _ in range(18)])
    self.order_var.set(order_num)

    # 随机日期 (最近30天内)
    random_days = random.randint(0, 30)
    random_date = datetime.datetime.now() - datetime.timedelta(days=random_days)
    self.date_var.set(random_date.strftime("%Y-%m-%d %H:%M:%S"))

    self.update_preview()

def update_preview(self):
    if self.background_image:
        preview_img = self.background_image.copy()
        preview_img.thumbnail((400, 400))
        self.preview_img = ImageTk.PhotoImage(preview_img)
        self.preview_label.config(image=self.preview_img)

def generate_image(self):
    if not self.background_image:
        messagebox.showwarning("警告", "请先选择背景图片")
        return

    try:
        # 创建图片副本
        img = self.background_image.copy()
        draw = ImageDraw.Draw(img)

        # 设置字体
        try:
            font_large = ImageFont.truetype(self.font_path, 24)
            font_medium = ImageFont.truetype(self.font_path, 18)
            font_small = ImageFont.truetype(self.font_path, 14)
        except:
            font_large = ImageFont.load_default()
            font_medium = ImageFont.load_default()
            font_small = ImageFont.load_default()

        # 绘制平台名称
        platform = self.platform_var.get() or "淘宝"
        draw.text((50, 50), f"平台: {platform}", fill="black", font=font_large)

        # 绘制订单信息
        order_num = self.order_var.get() or "".join([str(random.randint(0, 9)) for _ in range(18)])
        draw.text((50, 100), f"订单编号: {order_num}", fill="black", font=font_medium)

        # 绘制日期
        date = self.date_var.get() or datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S")
        draw.text((50, 150), f"下单时间: {date}", fill="black", font=font_medium)

        # 绘制商品信息
        product = self.product_var.get() or "商品"
        brand = self.brand_var.get() or "品牌"
        price = self.price_var.get() or "0"

        draw.text((50, 220), "商品信息:", fill="black", font=font_large)
        draw.text((70, 260), f"品牌: {brand}", fill="black", font=font_medium)
        draw.text((70, 300), f"名称: {product}", fill="black", font=font_medium)
        draw.text((70, 340), f"价格: ¥{price}", fill="red", font=font_large)

        # 保存图片
        output_file = os.path.join(self.output_path, f"purchase_record_{datetime.datetime.now().strftime('%Y%m%d%H%M%S')}.png")
        img.save(output_file)

        messagebox.showinfo("成功", f"购买记录截图已保存到:\n{output_file}")
    except Exception as e:
        messagebox.showerror("错误", f"生成图片时出错: {str(e)}")

if name == "main":
root = tk.Tk()
app = PurchaseRecordGenerator(root)
root.mainloop()

"platforms": ["淘宝", "京东", "拼多多", "天猫", "亚马逊", "苏宁易购", "唯品会", "当当网"],
"products": [
    "智能手机", "笔记本电脑", "无线耳机", "智能手表", 
    "平板电脑", "电视机", "游戏机", "数码相机",
    "蓝牙音箱", "电动牙刷", "空气净化器", "扫地机器人"
],
"brands": [
    "Apple", "华为", "小米", "三星", 
    "OPPO", "vivo", "荣耀", "联想",
    "戴尔", "惠普", "索尼", "飞利浦"
],
"prices": [
    99, 199, 299, 399, 499, 599, 699, 799, 899, 999,
    1299, 1599, 1999, 2399, 2799, 3299, 3799, 4299, 4799, 5299,
    5999, 6999, 7999, 8999, 9999, 10999, 11999, 12999
]

}

相关文章
|
5月前
|
数据处理 数据安全/隐私保护 Python
拼多多付款截图生成器,拼多多购买记录截图生成器,拼多多订单制作工具虚拟
这段代码实现了一个完整的拼多多订单生成工具,包含订单生成、数据处理和导出功能。主模块
|
5月前
|
数据安全/隐私保护 计算机视觉 iOS开发
拼多多订单截图生成器,拼多多订单p图软件,python版本
这段代码实现了一个完整的拼多多订单截图生成器,包含了订单数据生成、图像处理和二维码生成等功能
|
Linux C语言 C++
CentOS7安装gcc-5.4.0
CentoOS7 安装gcc
4260 0
CentOS7安装gcc-5.4.0
|
Python
python numpy安装
一、python下的numpy安装方法 第一步:安装python,这里不做介绍。 第二步:打开cmd看python是否安装成功。 第三步:输入 python -m pip install -U pip 安装pip文件,pip文件一般在python安装包的script目录下。
6035 0
|
5月前
|
数据安全/隐私保护 计算机视觉 Python
|
4月前
|
Ubuntu 数据管理 数据挖掘
Ubuntu平台查看.gz格式压缩文件内容以及利用grep命令过滤搜索内容技巧
以上介绍了基础但全面地关于如何在Ubuntu平台下通过各种方式来检视 ` . gz `, 并利用 grep 命令断层次化搜寻与筛选信息之方法论述.
545 18
|
5月前
|
数据安全/隐私保护 Python
购买记录截图生成器, 京东订单p图生成器, 淘宝购买截图生成【python】
这个代码实现了电商购买记录截图生成器,包含以下功能:模拟京东和淘宝的订单界面
|
5月前
|
算法 数据库 数据安全/隐私保护
京东订单截图生成器,购买记录生成器,淘宝拼多多订单虚拟截图制作
在电商开发、测试及教学演示场景中,常需要生成逼真的虚拟订单截图。本文将通过Python
|
5月前
|
前端开发 安全 数据库
淘宝购买截图生成,京东淘宝拼多多订单截图生成器,购买记录截图生成软件
这只是一个静态前端模板示例,不包含任何真实的订单数据或截图生成功能。实际电商平台的订