news 2026/9/3 5:47:55

文创产品图案随机生成器,输入风格,(国潮/复古/极简),元素(花鸟/几何/文字),自动生成文创贴纸,手机壳图案,支持一键导出高清图,解决设计师灵感枯竭的问题。

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
文创产品图案随机生成器,输入风格,(国潮/复古/极简),元素(花鸟/几何/文字),自动生成文创贴纸,手机壳图案,支持一键导出高清图,解决设计师灵感枯竭的问题。

我帮你写了一个文创产品图案随机生成器,用Python+PIL实现风格化图案生成,支持手机壳/贴纸导出,模块化设计注释清晰,附README、使用说明和核心知识点卡片,直接可用。

文创产品图案随机生成器

一、Python代码实现

import random

import argparse

from PIL import Image, ImageDraw, ImageFont

import os

def load_design_config():

"""

加载文创图案设计配置(风格-元素-色彩映射)

返回:嵌套字典,包含风格库、元素库及对应视觉要素

"""

return {

"风格库": {

"国潮": {

"基础色彩": ["#C3272B", "#D4AF37", "#000000"], # 朱砂红/鎏金/墨黑

"构图规则": "中心对称+传统纹样点缀"

},

"复古": {

"基础色彩": ["#8B4513", "#722F37", "#F5DEB3"], # 焦糖棕/酒红/米黄

"构图规则": "不对称怀旧布局+做旧肌理"

},

"极简": {

"基础色彩": ["#F5F5F5", "#808080", "#D2B48C"], # 米白/浅灰/原木色

"构图规则": "大量留白+线性元素主导"

}

},

"元素库": {

"花鸟": {

"国潮": ["牡丹", "凤凰", "燕子", "缠枝纹"],

"复古": ["玫瑰", "鹦鹉", "藤蔓", "老花边"],

"极简": ["单枝花", "飞鸟轮廓", "叶脉线条"]

},

"几何": {

"国潮": ["云纹方块", "回纹三角", "方胜纹"],

"复古": ["Art Deco线条", "圆形波点", "菱形格"],

"极简": ["三角形拼接", "矩形渐变", "同心圆"]

},

"文字": {

"国潮": ["书法字", "印章文", "篆书短句"],

"复古": ["老宋体", "英文花体", "数字艺术字"],

"极简": ["无衬线字", "细笔画字", "字母组合"]

}

},

"产品规格": {

"手机壳": (1080, 2400), # 主流安卓手机比例

"贴纸": (500, 500) # 方形贴纸通用尺寸

}

}

def parse_user_input(style, element):

"""

标准化用户输入(去空格+首字母大写)

参数:style-风格输入,element-元素输入

返回:(标准化风格, 标准化元素)

"""

return style.strip().capitalize(), element.strip().capitalize()

def validate_input(style, element, config):

"""

校验输入是否在配置范围内

返回:True/False + 错误提示

"""

if style not in config["风格库"]:

return False, f"风格仅支持:{list(config['风格库'].keys())}"

if element not in config["元素库"]:

return False, f"元素仅支持:{list(config['元素库'].keys())}"

return True, ""

def generate_pattern(style, element, config):

"""

核心图案生成逻辑:按风格+元素随机组合视觉要素

参数:风格/元素名称,配置字典

返回:PIL Image对象(图案画布)

"""

# 1. 获取基础配置

style_cfg = config["风格库"][style]

elem_pool = config["元素库"][element][style]

width, height = config["产品规格"]["手机壳"] # 默认生成手机壳尺寸

# 2. 创建画布(带底色)

img = Image.new("RGB", (width, height), style_cfg["基础色彩"][2])

draw = ImageDraw.Draw(img)

# 3. 随机选取元素组合(2-3个元素)

selected_elems = random.sample(elem_pool, k=random.randint(2, 3))

# 4. 按风格规则绘制元素(简化版示意)

for i, elem in enumerate(selected_elems):

x = random.randint(100, width-200)

y = random.randint(200, height-300)

color = random.choice(style_cfg["基础色彩"][:2]) # 选前2个主色

# 模拟不同元素绘制(实际项目可替换为矢量图形)

if "纹" in elem or "线条" in elem:

draw.line([(x,y), (x+150,y)], fill=color, width=3)

elif "字" in elem:

font = ImageFont.truetype("simhei.ttf", 40) # 需系统有黑体

draw.text((x,y), elem[:2], fill=color, font=font)

else: # 图形类元素

draw.ellipse([x,y,x+80,y+80], outline=color, width=2)

return img

def export_images(img, style, element, config):

"""

导出高清图案(手机壳+贴纸双尺寸)

参数:生成的Image对象,风格/元素名,配置字典

返回:导出的文件路径列表

"""

output_dir = "文创图案输出"

os.makedirs(output_dir, exist_ok=True)

paths = []

# 生成两种产品尺寸

for product, size in config["产品规格"].items():

resized_img = img.resize(size, Image.Resampling.LANCZOS) # 高清缩放

path = f"{output_dir}/{style}_{element}_{product}.png"

resized_img.save(path, dpi=(300, 300)) # 300dpi高清导出

paths.append(path)

return paths

def main():

"""程序入口:解析参数→生成图案→导出结果"""

parser = argparse.ArgumentParser(description="文创图案随机生成器(风格+元素→手机壳/贴纸)")

parser.add_argument("--style", required=True, help="风格(国潮/复古/极简)")

parser.add_argument("--element", required=True, help="元素(花鸟/几何/文字)")

args = parser.parse_args()

# 加载配置与校验输入

config = load_design_config()

style, element = parse_user_input(args.style, args.element)

is_valid, err_msg = validate_input(style, element, config)

if not is_valid:

print(f"❌ 输入错误:{err_msg}")

return

# 生成图案并导出

pattern_img = generate_pattern(style, element, config)

export_paths = export_images(pattern_img, style, element, config)

# 输出结果

print(f"\n✨ 生成成功!文件已保存至:")

for path in export_paths:

print(f"📁 {path}")

if __name__ == "__main__":

main()

二、README文件内容

# 文创产品图案随机生成器

## 简介

本工具通过**风格(国潮/复古/极简)+元素(花鸟/几何/文字)** 组合,随机生成文创图案,支持**手机壳**(1080×2400)、**贴纸**(500×500)双尺寸高清导出(300dpi),解决设计师灵感枯竭问题。基于Python+PIL开发,模块化设计易扩展。

## 安装要求

- Python 3.8+

- 依赖库:`pip install pillow`

## 使用方法

### 1. 命令行模式(推荐)

bash

python pattern_generator.py --style 国潮 --element 花鸟

### 2. 参数说明

- `--style`:必填,可选【国潮/复古/极简】

- `--element`:必填,可选【花鸟/几何/文字】

## 示例输出

输入:`--style 复古 --element 几何`

输出:

✨ 生成成功!文件已保存至:

📁 文创图案输出/复古几何手机壳.png

📁 文创图案输出/复古几何贴纸.png

## 扩展说明

1. **添加新风格**:修改`load_design_config()`的"风格库",新增键值对(如"赛博朋克")

2. **丰富元素库**:在"元素库"下对应风格中添加新元素(如国潮花鸟加"锦鲤")

3. **优化绘制逻辑**:替换`generate_pattern()`中的简化绘制代码为SVG矢量渲染(需额外库)

## 注意事项

- 文字绘制需系统安装黑体(simhei.ttf),缺失时可替换为其他字体路径

- 输出目录自动创建为"文创图案输出",重复运行会覆盖同名文件

## 许可证

MIT License

三、使用说明

1. 环境准备:

- 安装Python 3.8+,执行

"pip install pillow"安装依赖

2. 运行工具:

- 命令行传参:

"python pattern_generator.py --style 极简 --element 文字"

- 查看输出:当前目录下"文创图案输出"文件夹含手机壳/贴纸PNG图

3. 自定义扩展:

- 编辑

"load_design_config()"函数,在"风格库"/"元素库"中添加新条目

四、核心知识点卡片

- PIL图像处理:用

"Image"创建画布、

"ImageDraw"绘制元素、

"resize"高清缩放

- 配置驱动设计:通过嵌套字典管理风格-元素-色彩映射,实现灵活扩展

- 随机模块应用:

"random.sample"选元素、

"random.choice"选色彩,保证多样性

- 模块化函数:拆分配置加载、输入校验、图案生成、导出为独立函数

- 高清导出:

"save(dpi=(300,300))"确保印刷级清晰度,

"LANCZOS"重采样抗锯齿

- 命令行解析:

"argparse"处理必填参数(

"--style"/

"--element"),提升易用性

- 异常处理:输入校验函数返回错误提示,避免无效生成

关注我,有更多实用程序等着你!

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/3 1:23:14

SeedVR2:让普通硬件实现专业级视觉增强的突破性方案

SeedVR2:让普通硬件实现专业级视觉增强的突破性方案 【免费下载链接】SeedVR2-3B 项目地址: https://ai.gitcode.com/hf_mirrors/ByteDance-Seed/SeedVR2-3B 在数字视觉创作领域,硬件门槛一直是众多创作者面临的现实困境。传统超分辨率工具对显存…

作者头像 李华
网站建设 2026/9/3 3:50:17

Open-AutoGLM开源进入最后阶段(仅剩72小时,开发者速进)

第一章:Open-AutoGLM开源进入倒计时备受瞩目的开源项目 Open-AutoGLM 即将正式发布,标志着自动化大语言模型构建领域迈入新阶段。该项目致力于提供一套完整、可扩展的框架,使开发者能够快速训练、优化并部署定制化 GLM 架构模型。社区已开放预…

作者头像 李华
网站建设 2026/9/2 7:04:24

Arduino ESP32通俗解释:deep sleep低功耗模式

Arduino ESP32低功耗实战:用Deep Sleep让电池撑两年你有没有遇到过这样的情况?辛辛苦苦做了一个基于ESP32的温湿度监测器,连上Wi-Fi定时上传数据,功能完美。可一换上电池——不到一天就没电了。别急,这不怪你代码写得差…

作者头像 李华
网站建设 2026/9/2 21:49:25

如何快速使用LOOT:游戏模组优化的完整指南

如何快速使用LOOT:游戏模组优化的完整指南 【免费下载链接】loot A modding utility for Starfield and some Elder Scrolls and Fallout games. 项目地址: https://gitcode.com/gh_mirrors/lo/loot LOOT(Load Order Optimization Tool&#xff0…

作者头像 李华
网站建设 2026/9/3 0:24:26

三星固件下载终极指南:使用Samloader轻松获取官方固件

三星固件下载终极指南:使用Samloader轻松获取官方固件 【免费下载链接】samloader Download Samsung firmware from official servers 项目地址: https://gitcode.com/gh_mirrors/sa/samloader 想要为你的三星设备下载最新固件吗?Samloader是一个…

作者头像 李华
网站建设 2026/9/2 21:49:22

Qwen1.5-4B模型极限部署:4GB显存实战指南

Qwen1.5-4B模型极限部署:4GB显存实战指南 【免费下载链接】Qwen1.5 项目地址: https://gitcode.com/GitHub_Trending/qw/Qwen1.5 还在为显卡显存不足而无法体验大语言模型而苦恼吗?🤔 4GB显存的设备真的能流畅运行Qwen1.5-4B这样的先…

作者头像 李华