news 2026/4/23 17:24:46

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

作者头像

张小明

前端开发工程师

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/22 18:56:02

终极CodeLocator指南:快速提升Android开发效率的26个神器功能

终极CodeLocator指南:快速提升Android开发效率的26个神器功能 【免费下载链接】CodeLocator 项目地址: https://gitcode.com/gh_mirrors/cod/CodeLocator 还在为Android开发中的繁琐调试而烦恼吗?🤔 每次修改View属性都要反复编译运行…

作者头像 李华
网站建设 2026/4/23 16:14:49

为什么你的AutoGLM集成总出错?这4个接口参数必须搞清楚!

第一章:为什么你的AutoGLM集成总出错?这4个接口参数必须搞清楚!在对接 AutoGLM API 时,许多开发者频繁遭遇认证失败、响应超时或模型调用异常等问题。根本原因往往并非网络或服务端故障,而是对核心接口参数的理解偏差。…

作者头像 李华
网站建设 2026/3/30 3:37:59

扩散模型入门:TensorFlow Denoising Diffusion详解

扩散模型入门:TensorFlow Denoising Diffusion详解 在生成式AI席卷内容创作、工业仿真和医疗影像的今天,一个核心问题始终困扰着开发者:如何在保证生成质量的同时,实现稳定、可复现且易于部署的模型训练流程?传统生成对…

作者头像 李华
网站建设 2026/4/23 16:14:15

快速上手MusicFreeDesktop:打造你的专属音乐世界

快速上手MusicFreeDesktop:打造你的专属音乐世界 【免费下载链接】MusicFreeDesktop 插件化、定制化、无广告的免费音乐播放器 项目地址: https://gitcode.com/gh_mirrors/mu/MusicFreeDesktop 欢迎来到MusicFreeDesktop的世界!这是一款开源音乐播…

作者头像 李华
网站建设 2026/4/23 12:31:44

全国河网GIS数据完整指南:免费获取1-4级河道矢量文件

全国河网GIS数据完整指南:免费获取1-4级河道矢量文件 【免费下载链接】河网shp文件资源下载介绍 本开源项目提供了一套完整的全国河网GIS数据资源,涵盖了我国一级、二级、三级及四级河道的shp矢量数据,包括线状和面状两种格式。这些数据可直接…

作者头像 李华