Skip to content

วิธีที่ฉันสร้างระบบ VI — ความกลมกลืนที่ไม่สมมาตรระหว่างดีไซน์กับโค้ด

เริ่มต้นจากไฟล์ PNG สองไฟล์ บันทึกสมบูรณ์ของการสร้างระบบ Visual Identity ด้วย Python แบบอัตโนมัติ


1. VI คืออะไร? ทำไมต้องทำ?

VI (Visual Identity — ระบบอัตลักษณ์ภาพ) คือ "มาตรฐานภาษาภาพ" ที่แบรนด์ใช้สื่อสารกับโลกภายนอก มันตอบคำถามหลักหนึ่งข้อ: เมื่อแบรนด์นี้ปรากฏที่ไหนก็ตาม มันควรดูเป็นอย่างไร?

ชุด VI ที่สมบูรณ์ประกอบด้วยอย่างน้อย:

หมวดหมู่เนื้อหา
Logo ต้นฉบับเวอร์ชันพื้นหลังโปร่งใส, เวอร์ชันพื้นหลังหลายสี
รูปแบบ Logoแนวนอน, แนวตั้ง, สี่เหลี่ยม, วงกลม
พาเลตสีสเปค HEX / RGB / CMYK
กฎการใช้ฟอนต์ฟอนต์หลัก/รอง, ข้อแนะนำขนาด
แนวทางการใช้งานพื้นที่ว่างที่ต้องรักษา, พฤติกรรมต้องห้าม
ตัวอย่างการใช้งานนามบัตร, หัวจดหมาย, อวาตาร์โซเชียล

ไม่มี VI ทุกครั้งที่นักออกแบบ วิศวกร นักการตลาด "แสดงออกอย่างอิสระ" แบรนด์ก็จะค่อยๆ เสียรูป มี VI แค่โฟลเดอร์เดียวก็ทำให้ทุกคนสร้างผลงานแบรนด์ที่สอดคล้องกันได้


2. จุดเริ่มต้น: PNG สองไฟล์

Logo ต้นฉบับ

วิเคราะห์โครงสร้าง Logo:

  • ด้านซ้าย: สัญลักษณ์เครื่องบินกระดาษ / ลูกศรรูปตัว A ประกอบจากสองสามเหลี่ยม
    • สามเหลี่ยมหลัก: สี Teal (#03dcd0)
    • สามเหลี่ยมเข้ม: ใกล้ดำ (#181c20) สร้างความลึก
  • ด้านขวา: ชื่อแบรนด์ "Ascentek" ฟอนต์ sans-serif สีเข้ม
  • พื้นหลัง: โปร่งใส (RGBA)

3. การดึงองค์ประกอบแบรนด์

3.1 ดึงพาเลตสี

python
def get_dominant_colors(img, k=3):
    pixels = [px[:3] for px in img.getdata() if px[3] > 0]
    small = Image.new('RGB', (len(pixels), 1))
    small.putdata(pixels)
    pal = small.convert('P', palette=Image.ADAPTIVE, colors=k)
    return pal.getpalette()[:k*3]

ผลการดึง:

บทบาทHEXRGB
Primary#03dcd03, 220, 208
Secondary#204b4c32, 75, 76
Dark / Text#181c2024, 28, 32

3.2 การตรวจจับขอบ Icon

วิธีที่ถูกต้อง: หาช่องว่างที่กว้างที่สุด

ช่องว่างระหว่าง icon กับข้อความย่อมกว้างกว่าช่องว่างภายใน icon เสมอ

python
def find_icon_right(img):
    return max(gaps, key=width)[start_x]

4. การเลือกเครื่องมือ

เครื่องมือวัตถุประสงค์เหตุผล
Python 3ภาษา Scriptข้ามแพลตฟอร์ม, ecosystem ครบ
Pillow (PIL)ประมวลผลภาพPure Python, รองรับ RGBA เต็มรูปแบบ
Montserratฟอนต์แบรนด์สไตล์ตรงกับ logo ต้นฉบับ, ใบอนุญาต SIL

5. เทคนิคหลัก: การปรับสี

5.1 ปรับสำหรับพื้นหลังสีเข้ม

python
def adapt_dark(img):
    for r, g, b, a in data:
        if a < 10:
            out.append((0, 0, 0, 0))         # โปร่งใส: ไม่เปลี่ยน
        elif r < 80 and g < 80 and b < 80:
            out.append((255, 255, 255, a))    # เข้ม: เปลี่ยนเป็นขาว
        else:
            out.append((r, g, b, a))          # Teal: คงไว้

5.2 ซิลูเอตสีเดียว

python
def silhouette(img, color_rgb):
    alpha = img.split()[3]
    base = Image.new('RGBA', img.size, color_rgb + (255,))
    base.putalpha(alpha)
    return base

แนวนอนพื้นสว่างแนวนอนพื้นเข้ม


7. การออกแบบสื่อประยุกต์

7.1 นามบัตร

หน้าหน้าหน้าหลัง

นามบัตรถูกสร้างขึ้นแล้ว แต่ขนาดและ layout เป็นเรื่องส่วนตัว ขึ้นอยู่กับแต่ละคน จึงไม่ขอกล่าวเพิ่มเติม

7.2 หัวจดหมาย (Letterhead)

สเปค: A4 @ 300 dpi = 2480×3508 px Logo ใน header ต้องใช้เวอร์ชันปรับสำหรับพื้นเข้ม (adapt_dark)


8. กับดักที่พบเจอเมื่อทำงานกับ AI

กับดัก 1: ข้อความซ้อน (Ghost Text)

วิธีแก้: อย่าเพิ่มข้อความซ้อนบน logo ที่มีข้อความอยู่แล้ว

กับดัก 2: Logo มองไม่เห็นบนพื้นเข้ม

วิธีแก้: ฟังก์ชัน adapt_dark — เปลี่ยน pixel เข้มเป็นขาว คง teal ไว้

กับดัก 3: ตัด icon ไม่สมบูรณ์

วิธีแก้: หาช่องว่างที่กว้างที่สุดแทนช่องว่างแรกที่พบ

กับดัก 4: Circle Primary มองไม่เห็น

วิธีแก้: แปลง icon เป็นซิลูเอตสีขาวก่อน แล้ววางบนพื้น teal

กับดัก 5: สุนทรียภาพเป็นเรื่องยากที่จะตัดสินอย่างเด็ดขาด

ความงามเป็นเรื่องส่วนตัว ให้ใช้วิจารณญาณของตัวเอง ส่วนตัวรู้สึกว่า logo บนนามบัตรที่สร้างขึ้นมีขนาดใหญ่เกินไปเมื่อเทียบกับภาพรวม


9. โครงสร้าง Output สุดท้าย

VI-ClaudeVersion/
├── logo/          # รูปแบบ Logo ทั้งหมด (PNG + SVG)
├── applications/  # ตัวอย่างการใช้งาน
├── palette.txt
└── generate_vi.py

10. Workflow นี้ใช้ซ้ำได้ที่ไหน?

แก้สองบรรทัดแรกใน generate_vi.py:

python
LOGO_SRC = 'logo_ใหม่.png'
BRAND    = 'ชื่อแบรนด์'

รัน python generate_vi.py — สร้างไฟล์ทั้ง 28 ไฟล์ในครั้งเดียว


11. สรุปแนวคิดหลัก

แก่นแท้ของการสร้าง VI ไม่ใช่การ "วาดภาพสวย" แต่คือการกำหนดกฎและทำให้กฎนั้นปฏิบัติตามได้

  1. อย่าทำด้วยมือในสิ่งที่ทำอัตโนมัติได้
  2. อ่านความจริงจาก pixel
  3. เขียนการตัดสินใจด้านดีไซน์เป็นฟังก์ชัน
  4. โค้ดคือเอกสาร
  5. สร้างซ้ำได้ด้วยคำสั่งเดียว

ระบบ VI ที่ดีที่สุด คือระบบที่ใครก็สามารถใช้ได้อย่างถูกต้องโดยไม่ต้องมีผู้สร้างต้นฉบับอยู่ด้วย

Easter egg: ที่จริง logo ต้นฉบับก็เป็น AI สร้างออกมาหลายแบบแล้วเจ้าของแบรนด์เลือกมาชิ้นหนึ่ง…

คลังความรู้ดิจิทัล Ascentek