/ TEXT EXPRESSION

AUTO-RESIZE TEXT BOX

สร้างพื้นหลัง Shape Layer ที่ปรับขนาดและตำแหน่งตามข้อความโดยอัตโนมัติ เมื่อแก้ข้อความกล่องจะขยายหรือย่อทันที

01

สร้าง Text Layer

สร้าง Text Layer แล้วตั้งชื่อเลเยอร์ว่า “TEXT” ต้องเป็นตัวพิมพ์ใหญ่ตรงตามนี้

02

สร้าง Shape Layer

เลือก Rectangle Tool โดยไม่เลือกเลเยอร์ใด แล้ววาดสี่เหลี่ยมใหม่ ตรวจให้มี Rectangle 1 > Rectangle Path 1 และ Fill 1

03

จัดลำดับเลเยอร์

ลาก Shape Layer ไว้ใต้เลเยอร์ TEXT ใน Timeline และอย่า Parent สองเลเยอร์เข้าหากัน

04

ใส่โค้ด Size

เปิด Rectangle Path 1 > Size กด Alt/Option + Click ที่ Stopwatch แล้ววางโค้ดชุดที่ 1

05

ใส่โค้ด Path Position

ที่ Rectangle Path 1 > Position กด Alt/Option + Click ที่ Stopwatch แล้ววางโค้ดชุดที่ 2

06

ใส่โค้ด Layer Position

กด P ที่ Shape Layer เปิด Position แล้วกด Alt/Option + Click ที่ Stopwatch จากนั้นวางโค้ดชุดที่ 3

07

ทดสอบ

แก้ข้อความในเลเยอร์ TEXT กล่องจะปรับขนาดและอยู่กึ่งกลางข้อความอัตโนมัติ ปรับ paddingX และ paddingY เพื่อกำหนดระยะขอบ

paddingX

พื้นที่ว่างรวมด้านซ้ายและขวา เช่น 60 เท่ากับด้านละประมาณ 30 px

paddingY

พื้นที่ว่างรวมด้านบนและล่าง เช่น 30 เท่ากับด้านละประมาณ 15 px

คัดลอกตาม
ตำแหน่งที่ระบุ

วางที่: Rectangle Path 1 > Size

1. ขนาดกล่องตามข้อความ

txt = thisComp.layer("TEXT");
r = txt.sourceRectAtTime(time, false);
paddingX = 60;
paddingY = 30;

[r.width + paddingX, r.height + paddingY];
วางที่: Rectangle Path 1 > Position

2. จัด Rectangle Path ให้อยู่กลางข้อความ

txt = thisComp.layer("TEXT");
r = txt.sourceRectAtTime(time, false);

[r.left + r.width/2, r.top + r.height/2];
วางที่: Shape Layer > Transform > Position

3. ให้ Shape Layer ตาม Text Layer

thisComp.layer("TEXT").transform.position;

หมายเหตุ: ถ้าเปลี่ยนชื่อ TEXT ต้องแก้ชื่อในโค้ดทั้ง 3 ชุดให้ตรงกัน