用 Canva 给一家咖啡小店做一套社交媒体品牌模板:确定品牌色和字体,检查配色是否看得清,做出小红书封面、公众号头图、朋友圈海报三种尺寸的模板,以后每次发帖只改文字和照片。
先看清成品
成品是 Canva 里的一个品牌套件和三个模板。本文附带的配色检查脚本
contrast.py已实际运行,2 个测试通过(黑白对比度 21.0、#777777 与白色为 4.48 等已知值),并输出了样例配色的对比度表。本文环境没有登录 Canva,界面操作没有实际执行,步骤按 Canva 帮助中心编写。
说明:中国大陆用户使用的是 Canva 可画(canva.cn),账号与国际版不通用,部分功能和素材可能不同。本文按国际版帮助中心编写,菜单名称以你看到的界面为准。
注意:只使用你有权使用的字体、照片和标志。Canva 模板和素材的商用范围以 Canva 许可协议为准;不要把他人的商标、明星照片用于商业宣传。
做完之后你会得到什么?
| 成果 | 说明 |
|---|---|
| 品牌套件 | 品牌色、字体、标志 |
| 配色检查表 | 哪些颜色组合能放文字 |
| 三个模板 | 竖版封面、横版头图、方形海报 |
| 使用规范 | 一页说明,交给店员也能用 |
需要准备哪些环境?
| 项目 | 要求 | 说明 |
|---|---|---|
| Canva 账号 | 免费即可 | 免费版只有 1 个品牌套件、3 种颜色;Pro 有 5 个品牌套件(价格页) |
| 标志 | PNG(透明背景)或 SVG | |
| Python | 可选,3.8+ | 运行配色检查脚本 |
第一步:怎样确定品牌色?
1. 选 3~4 个颜色
| 角色 | 示例 | 用途 |
|---|---|---|
| 主色 | #1F3A5F 深蓝 |
标题、按钮 |
| 强调色 | #F4B400 暖黄 |
价格、标签 |
| 背景色 | #FFFFFF 白 |
大面积背景 |
| 文字色 | #222222 近黑 |
正文 |
2. 检查文字是否看得清
"""品牌配色可读性检查:计算文字色和背景色的对比度(WCAG 2.x 公式),列出可以搭配的组合。
用法:python contrast.py "#1F3A5F" "#F4B400" "#FFFFFF" "#222222"
"""
import itertools
import sys
def luminance(hex_color: str) -> float:
h = hex_color.lstrip("#")
if len(h) != 6:
raise ValueError(f"颜色格式应为 #RRGGBB:{hex_color}")
def ch(v):
c = int(v, 16) / 255
return c / 12.92 if c <= 0.03928 else ((c + 0.055) / 1.055) ** 2.4
r, g, b = (ch(h[i:i + 2]) for i in (0, 2, 4))
return 0.2126 * r + 0.7152 * g + 0.0722 * b
def ratio(a: str, b: str) -> float:
la, lb = sorted((luminance(a), luminance(b)), reverse=True)
return round((la + 0.05) / (lb + 0.05), 2)
def grade(r: float) -> str:
if r >= 7: return "AAA(任何文字都清楚)"
if r >= 4.5: return "AA(正文可用)"
if r >= 3: return "仅大字(标题、粗体大字)"
return "不建议放文字"
def main(colors):
print(f"{'文字色':<9}{'背景色':<9}{'对比度':<8}评级")
for fg, bg in itertools.permutations(colors, 2):
if fg < bg: # 对比度与顺序无关,只列一次
r = ratio(fg, bg)
print(f"{fg:<9}{bg:<9}{r:<8}{grade(r)}")
if __name__ == "__main__":
main([c.upper() for c in sys.argv[1:]] or ["#1F3A5F", "#F4B400", "#FFFFFF", "#222222"])
python contrast.py "#1F3A5F" "#F4B400" "#FFFFFF" "#222222"
本文实际输出:
文字色 背景色 对比度 评级
#1F3A5F #F4B400 6.22 AA(正文可用)
#1F3A5F #FFFFFF 11.48 AAA(任何文字都清楚)
#1F3A5F #222222 1.39 不建议放文字
#F4B400 #FFFFFF 1.85 不建议放文字
#222222 #F4B400 8.62 AAA(任何文字都清楚)
#222222 #FFFFFF 15.91 AAA(任何文字都清楚)
结论:黄色不能放在白底上当文字,但黄底配深色字很好。WCAG 标准要求正文对比度至少 4.5。
测试:
from contrast import grade, ratio
def test_known_values():
assert ratio("#000000", "#FFFFFF") == 21.0
assert ratio("#FFFFFF", "#FFFFFF") == 1.0
assert ratio("#777777", "#FFFFFF") == 4.48 # 常见的“差一点达到 AA”的灰色
def test_grade():
assert grade(21).startswith("AAA") and grade(4.5).startswith("AA") and grade(3.2).startswith("仅大字") and grade(2).startswith("不建议")
第二步:怎样在 Canva 建品牌套件?
- 左侧 品牌(Brand)→ 创建品牌套件。
- 添加标志、颜色(免费版最多 3 种,把背景白色省掉)、字体(标题和正文各一种)。
- 以后在编辑器的颜色和字体面板里,品牌颜色会排在最前面。
第三步:怎样做三个模板?
| 模板 | 尺寸 | 建法 |
|---|---|---|
| 小红书封面 | 1242×1660 px(3:4) | 创建设计 → 自定义尺寸 |
| 公众号头图 | 900×383 px | 自定义尺寸 |
| 朋友圈海报 | 1080×1080 px | 搜索“Instagram 帖子”方形尺寸 |
注意:各平台推荐尺寸会调整,以平台最新说明为准。
每个模板都按同一套规则:
| 元素 | 规则 |
|---|---|
| 标题 | 品牌标题字体,主色或近黑 |
| 价格/标签 | 黄底深色字 |
| 标志 | 固定在右下角,留边距 |
| 照片 | 放进相框(Frame),换图时自动裁切 |
做完后,在文件名前加“模板-”,例如“模板-小红书封面”。每次使用时先 复制,再改复制件。
第四步:怎样检查成品?
| 检查项 | 做法 |
|---|---|
| 手机上的可读性 | 下载 PNG 发到手机上看 |
| 文字是否被平台遮挡 | 小红书封面底部、头图两侧别放关键信息 |
| 颜色一致 | 三个模板并排放,看是否像同一家店 |
出问题时该怎么调?
1. 免费版颜色不够
只放主色、强调色、文字色,白色直接用默认白色。
2. 换照片后构图乱了
照片要放进相框而不是直接拖到画布上;双击相框可以调整裁切位置。
3. 字体显示不一样
上传的自定义字体需要 Pro;免费版从 Canva 自带字体里选。
常见问题怎么处理?
| 现象 | 原因 | 解决方法 |
|---|---|---|
| 想一键改尺寸 | “调整大小”是 Pro 功能(价格页) | 免费版分别建三个模板 |
| 下载后发糊 | 平台压缩 | 下载 PNG,尺寸用平台推荐值 |
| 黄字看不清 | 对比度不足 | 按检查表改为黄底深字 |
| 店员改坏了模板 | 直接编辑了原件 | 每次先复制 |
| 素材能否商用 | 许可范围 | 查看 Canva 许可协议 |
项目资源
| 用途 | 地址 |
|---|---|
| 品牌套件配色 | https://www.canva.com/help/color-palettes/ |
| WCAG 对比度说明(W3C) | https://www.w3.org/WAI/WCAG22/Understanding/contrast-minimum.html |
| Canva 许可协议 | https://www.canva.com/policies/content-license-agreement/ |
| Canva 价格和计划对比 | https://www.canva.com/pricing/ |
| Canva 可画(中国大陆) | https://www.canva.cn/ |
建议先用脚本定下配色,再做一个小红书封面模板,发两三次看效果。
满意后再扩展到另外两种尺寸,并写一页使用规范交给团队。