news 2026/4/18 14:37:03

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

作者头像

张小明

前端开发工程师

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/4/18 11:57:00

对比学习在推荐系统中的TensorFlow实现

对比学习在推荐系统中的 TensorFlow 实现 在电商首页的“猜你喜欢”、短视频平台的无限滑动流、音乐 App 的每日推荐中,我们每天都在与推荐系统互动。然而,这些看似智能的背后,隐藏着一个长期困扰工程师的核心难题:用户行为太稀疏…

作者头像 李华
网站建设 2026/4/18 3:14:30

ESP32开发环境搭建从零实现:温湿度监控项目示例

从零开始用ESP32做一个温湿度监控器:手把手带你打通开发全流程 你有没有想过,只花几十块钱就能做出一个能实时监测家里温湿度的小设备?而且它还能连Wi-Fi、上传数据、远程查看——听起来像极客玩具,其实上手比你想的简单得多。 …

作者头像 李华
网站建设 2026/4/18 13:31:00

DiffSynth-Studio完整安装与使用教程:AI视频创作新纪元

DiffSynth-Studio完整安装与使用教程:AI视频创作新纪元 【免费下载链接】DiffSynth-Studio DiffSynth Studio 是一个扩散引擎。我们重组了包括 Text Encoder、UNet、VAE 等在内的架构,保持了与开源社区模型的兼容性,同时提高了计算性能。我们…

作者头像 李华
网站建设 2026/4/18 11:57:18

Windows下Arduino驱动安装操作指南

Windows下Arduino驱动安装全攻略:从零搞定CH340串口识别 你有没有遇到过这样的场景? 刚买到一块Arduino Nano,兴冲冲插上USB线,打开Arduino IDE准备上传第一个“Blink”程序,结果却弹出一串红字错误:“ …

作者头像 李华
网站建设 2026/4/18 8:39:59

LuaJIT 2.1:重新定义Lua脚本性能边界的革命性引擎

LuaJIT 2.1:重新定义Lua脚本性能边界的革命性引擎 【免费下载链接】luajit2 OpenRestys Branch of LuaJIT 2 项目地址: https://gitcode.com/gh_mirrors/lu/luajit2 在追求极致性能的编程世界里,传统解释型语言往往面临执行效率的瓶颈。然而&…

作者头像 李华
网站建设 2026/4/18 8:15:36

代码生成助手:TensorFlow CodeBERT应用探索

代码生成助手:TensorFlow CodeBERT应用探索 在现代软件开发节奏日益加快的背景下,开发者每天面临大量重复性编码任务、API 使用困惑以及规范遵循压力。一个能“看懂”注释并自动生成可靠代码的智能助手,已不再是科幻场景——借助 CodeBERT 这…

作者头像 李华