Canvas Design Skill 详解
创建博物馆级别的静态视觉艺术作品
基本信息
| 属性 | 值 |
|---|---|
| 名称 | canvas-design |
| 类别 | 创意设计 |
| 输出格式 | PNG / PDF |
| 许可证 | Apache 2.0 |
yaml
name: canvas-design
description: Create beautiful visual art in .png and .pdf documents
using design philosophy. You should use this skill when the user asks
to create a poster, piece of art, design, or other static piece.
Create original visual designs, never copying existing artists' work
to avoid copyright violations.1. 核心概念
1.1 与 Algorithmic Art 的区别
| 特性 | Canvas Design | Algorithmic Art |
|---|---|---|
| 输出 | 静态图像 | 交互式 HTML |
| 技术 | PIL/reportlab | p5.js |
| 变化 | 单一作品 | 种子变体 |
| 用途 | 海报、艺术品、设计稿 | 生成式探索 |
1.2 两步创作流程
mermaid
graph LR
A[用户请求] --> B[创建设计哲学]
B --> C[画布创作]
C --> D[静态 PNG/PDF]2. 设计哲学
2.1 哲学结构
markdown
**命名运动** (1-2 词): "野兽派欢乐" / "色彩沉默" / "新陈代谢梦境"
**阐述哲学** (4-6 段落):
- 空间与形式
- 色彩与材质
- 尺度与节奏
- 构图与平衡
- 视觉层次2.2 哲学示例
| 名称 | 核心理念 | 视觉表达 |
|---|---|---|
| 混凝土诗歌 | 通过纪念性形式沟通 | 巨大色块、雕塑般字体、空间张力 |
| 色彩语言 | 色彩作为主要信息系统 | 几何精确、色彩区域传递意义 |
| 模拟冥想 | 通过纹理和呼吸空间的视觉沉思 | 纸张颗粒、墨迹渗透、大量负空间 |
| 有机系统 | 自然聚类和模块化生长模式 | 圆润形式、有机排列、自然色彩 |
| 几何沉默 | 纯粹秩序与克制 | 网格精确、大胆摄影、戏剧性负空间 |
2.3 写作要点
markdown
**关键指南**:
- 避免冗余:每个设计方面只提及一次
- 强调工艺:反复强调最终作品应显得精心打磨
- 留有空间:具体但简洁,给实现留有创意空间
- 视觉优先:信息通过空间、形式、色彩传达,而非段落3. 核心原则
3.1 文字使用原则
markdown
核心原则:文字是稀少的、必要的、作为视觉元素融入
✗ 避免:段落、解释性文字、过多标签
✓ 追求:短语、单词、融入设计的字体
上下文决定尺度:
- 朋克演出海报 → 可能有更大、更激进的字体
- 极简陶艺工作室 → 低语般的小字
- 无论尺度如何,都必须是设计导向的3.2 品质标准
markdown
**关键**:创造看起来像花费无数小时的作品
- 构图、间距、色彩选择——一切体现专家级工艺
- 没有重叠,格式完美,每个细节都精准
- 博物馆或杂志级别的品质
- 可以展示给人们证明专业能力3.3 边界与呼吸空间
markdown
**非谈判原则**:
- 没有内容落出页面
- 没有元素重叠
- 所有元素必须在画布边界内,有适当边距
- 所有文字、图形、视觉元素都有呼吸空间和清晰分离4. 视觉语言
4.1 设计方法
markdown
将抽象哲学设计视为科学圣经般对待:
- 借用系统观察的视觉语言
- 密集的标记累积、重复元素、分层图案
- 通过耐心重复和奖励持续观看来构建意义
- 稀疏、临床的字体和系统参考标记
- 暗示这可能是某个想象学科的图表
- 用通常保留给可观察现象的敬畏来对待不可见主题4.2 色彩使用
markdown
- 有限的调色板,感觉有意且连贯
- 用简单短语或细节作为锚点
- 拥抱用分析性视觉语言表达人类体验的悖论
- 结果应感觉像一个证明某种短暂事物可以被研究、映射和理解的工件5. 技术实现
5.1 使用 PIL (Pillow)
python
from PIL import Image, ImageDraw, ImageFont
# 创建画布
width, height = 1200, 1600
canvas = Image.new('RGB', (width, height), color='#FAFAFA')
draw = ImageDraw.Draw(canvas)
# 绘制形状
draw.rectangle([100, 100, 500, 500], fill='#2C3E50')
draw.ellipse([600, 100, 1000, 500], fill='#E74C3C')
# 添加文字(使用自定义字体)
font = ImageFont.truetype('path/to/font.ttf', 72)
draw.text((100, 600), "MINIMAL", font=font, fill='#1A1A1A')
# 保存
canvas.save('artwork.png')5.2 使用 ReportLab (PDF)
python
from reportlab.lib.pagesizes import A3
from reportlab.pdfgen import canvas
from reportlab.lib.colors import HexColor
# 创建 PDF
c = canvas.Canvas("artwork.pdf", pagesize=A3)
width, height = A3
# 绘制形状
c.setFillColor(HexColor('#2C3E50'))
c.rect(100, height-500, 400, 400, fill=1)
# 添加文字
c.setFont("Helvetica-Bold", 48)
c.setFillColor(HexColor('#1A1A1A'))
c.drawString(100, height-600, "DESIGN")
c.save()5.3 字体使用
markdown
**重要**:搜索 `./canvas-fonts` 目录获取可用字体
字体选择原则:
- 使用不同字体创造视觉层次
- 字体本身成为艺术的一部分
- 如果艺术是抽象的,将字体带入画布,不只是数字排版
- 下载并使用任何需要的字体来实现愿景6. 精炼流程
6.1 最终步骤
markdown
**重要**:用户已经说过 "还不够完美。必须是完美的杰作,
如同即将在博物馆展出。"
**关键**:精炼时,避免添加更多图形;而是精炼已有的,
使其极其清晰,完全尊重设计哲学和极简主义原则。
如果本能是调用新函数或绘制新形状,停下来问:
"如何让已有的更像一件艺术品?"6.2 第二遍打磨
markdown
回到代码,进一步精炼/打磨,使其成为哲学设计的杰作。
检查清单:
- [ ] 所有元素对齐精确
- [ ] 色彩和谐统一
- [ ] 负空间使用得当
- [ ] 字体选择合适
- [ ] 整体构图平衡7. 多页选项
7.1 当用户请求多页时
markdown
创建更多创意页面,沿着设计哲学但又独特不同。
将它们打包在同一个 PDF 或多个 PNG 中。
将第一页视为整本咖啡桌书中的一页。
使后续页面成为原作的独特变奏和记忆。
让它们几乎以非常有品味的方式讲述一个故事。
行使完全的创意自由。8. 使用示例
8.1 触发方式
"帮我设计一张音乐节海报"
"创建一个极简主义艺术作品"
"设计一张品牌宣传图"
"create a poster for tech conference"
"make abstract art about nature"8.2 输出
- 设计哲学 (.md 文件)
- 最终作品 (.pdf 或 .png 文件)
9. 本节小结
| 要点 | 说明 |
|---|---|
| 哲学先行 | 先定义美学方向,再创作 |
| 文字稀少 | 作为视觉元素融入,而非信息载体 |
| 品质至上 | 博物馆级别,专家级工艺 |
| 边界清晰 | 无重叠,有呼吸空间 |
| 精炼优化 | 第二遍打磨是必需的 |
返回:Skills 目录