Photoshop Tips: ดึงภาพจากข้างนอกมาใส่แบบไดนามิกด้วย Variables

สวัสดีครับ พบกันในหมวด How to อีกครั้ง สำหรับคราวนี้เป็นเทคนิคการใช้งาน Photoshop แบบที่ถ้าใครได้ทำงานแนวออกแบบ Mockup / UI น่าจะได้มีโอกาสใช้งานกันบ่อยๆ เพราะหลายครั้งเวลาเราจำเป็นต้องมีการ “ลิงก์ภาพจากภายนอก” มาใส่ในอีกไฟล์ แล้วเวลาแก้ไขไฟล์ข้างนอกปั๊บ ไฟล์ข้างในก็ควรจะถูกแก้ไขไปด้วยพร้อมกัน

อันที่จริง แนวคิดในการลิงก์ไฟล์จากภายนอกนี้ ใครที่ใช้ Illustrator ก็น่าจะชินกันอยู่แล้วเนอะ?แต่สำหรับ Photoshop เรากลับพบว่าถ้าจะทำบ้างนี่ มันกลับเป็นเรื่องน่าปวดกบาล อาจจะเพราะตัวโปรแกรมไม่ได้ออกแบบมาเพื่อการนี้โดยตรงหรือเปล่าก็ไม่รู้ ที่ผ่านมาผมเองก็เคยใช้แต่พวก Smart Objects (ใครไม่รู้จัก ลองดูคลิปสาธิตการทำงานที่นี่ครับ) ซึ่งก็สะดวกดีในการกรุ๊ป Layers เป็นก้อนเดียว เผื่อเอาไว้ทำนั่นนี่ได้สะดวกๆ แต่มันก็ยังไม่ตอบโจทย์ในกรณีที่เราต้องการแก้ไขไฟล์นึง แล้วมันส่งผลกระทบไปอีกไฟล์นึงไปด้วย

จึงเป็นที่มาของบล็อกตอนนี้ครับ วิธีการใช้งาน “Image Variables”

กรณีตัวอย่างที่จะสาธิตก็คือ ลูกค้าต้องการให้นำตัวอักษรไปซ้อนหลังภาพทั้งสอง แต่ตัวอักษรยังไม่เคาะฟันธงนะ อาจจะมีขอแก้ดีไซน์นิดหน่อย แต่ทำมาส่งให้ดูก่อนละกัน .. โอเค ได้!

สมมติผมมีไฟล์ภาพอยู่ 3 ไฟล์ดังนี้
  1. ไฟล์แรก เป็นไอโฟนบนพื้นสีเหลือง (กำหนดให้เป็นไฟล์แม่)
  2. ไฟล์ที่สอง เป็นไอโฟนบนพื้นสีชมพู?(กำหนดให้เป็นไฟล์แม่)
  3. ไฟล์ที่สาม เป็นตัวอักษร “เจ็บจุงเบย”?(กำหนดให้เป็นไฟล์ลูก)

มาถึงเราก็เปิดไฟล์แม่ (พื้นสีเหลืองและสีชมพู) ขึ้นมา แล้วสร้างเลเยอร์ใหม่ขึ้นมา เพื่อเดี๋ยวจะนำตัวอักษรจากไฟล์ลูก (เจ็บจุงเบย) มายัดใส่แทนที่ ทั้งนี้ผมจะเรียกชื่อเลเยอร์ดังกล่าวนี้ว่า “container” นะครับ

ทีนี้ก็ให้คลิกที่เมนู Image > Variables > Define…

จะมี Dialog โผล่มา ให้เราเลือกส่วน Layer เป็นเลเยอร์ที่เราจะให้ถูก “แทนที่” ด้วยภาพข้างนอก ในกรณีนี้คือเลเยอร์ชื่อ container นะครับ

เสร็จแล้วก็ติ๊กถูกตรงช่อง “Pixel Replacement” ก็ตั้งชื่อไปว่าจะให้เรียกอีตรงนี้ว่าอะไร แล้วกำหนดขนาดของสิ่งที่จะเอามาแหมะลงแทนเลเยอร์นี้ ว่าจะวางแบบไหนดี ระหว่าง

  1. Fit (ยัดลงให้อยู่ในกรอบเลเยอร์นั้นให้ได้)
  2. Fill (ถ้าล้นให้แสดงทั้งหมด โดยย่อขนาดให้พอดีสักด้านละกัน)
  3. As Is (ถ้าเกิดภาพที่ดึงมามันล้น ก็ปล่อยล้นทั้งอย่างนั้นแหละ)
  4. Conform (บีบภาพให้อยู่ในเลเยอร์นั้นพอดี โดยไม่สนใจจะรักษาสัดส่วนภาพ)

ซึ่งที่จริงถ้าอ่านคำอธิบกายสี่ข้อข้างบนนี้แล้วงง ก็ไปดูภาพตัวอย่างในโปรแกรมก็ได้ครับ มันมีสาธิตเป็นภาพเล็กๆ ให้ดูอยู่แล้ว อ้อ อย่าลืมติ๊กตรงเม็ดๆ Alignment เพื่อกำหนดจุดที่จะวางด้วยนะครับ (ในกรณีนี้ผมใส่เป็นมุมบนซ้าย)?เสร็จแล้วก็กดปุ่ม Next เพื่อเข้าสู่การกำหนด Data Sets?(หรือจะเอื้อมไปกดเปลี่ยนหน้าจาก Define ก็ได้เหมือนกัน)

เมื่อ Dialog หน้าที่แล้วเป็นการกำหนด “เลเยอร์ที่จะถูกแทนที่” ดังนั้นหน้านี้ก็จะเป็นการกำหนดว่า “จะให้แทนที่ด้วยอะไร” ทำได้ด้วยการสร้าง “Data Set” (ชุดข้อมูล) ใหม่ขึ้นมาอันนึง กดปุ่มใกล้ๆ ถังขยะ ตรงลูกศรสีดำชี้นั่นแหละครับ เสร็จแล้วมันจะมีชื่อของเลเยอร์ตัวแปรที่เรากำหนดตะกี้ โผล่พรวด! ตรงข้างล่าง (ถ้ามีหลายเลเยอร์ก็จะโผล่มาให้ดูหลายบรรทัดครับ)

ทีนี้เราก็กดปุ่ม “Select File…” แล้วเลือกไฟล์ลูก ดึงตัวอักษร “เจ็บจุงเบย” ข้างนอกมาแหมะ (อย่าลืมกด Apply นะ) ก็จะได้ผลออกมาดังนี้

เสร็จแล้วครับ ส่งงานให้ลูกค้าไปได้เลยจ้ะ

แต่เดี๋ยวก่อน! คุณผู้อ่านอาจจะสงสัยว่า เออ ถ้ามันจะเอาไปใช้แค่นี้ เราทำเป็น Smart Object หรือแค่ก็อปปี้ภาพจากอีกไฟล์มาแปะไม่ง่ายกว่าเหรอ? .. ขอบอกว่าได้ครับ (อ้าว) แต่คืองี้ ถ้าเกิดมีความต้องการการใช้งานในปริมาณมาก เช่นมีไฟล์ภาพเป็นกระตั้กแบบนี้ แล้วมีการออกแบบและแก้ไขเปลี่ยนแปลงหลายๆ ตลบ?กว่าจะมานั่งแก้ๆ โยกๆ แต่ละทีคงเกิดการเสียชีวิตกันไปข้างนึงแน่นอน

กลับมาในงานเจ็บจุงเบยกันต่อนะครับ สมมติว่าลูกค้าส่ง feedback มาแล้ว บอกว่าอยากให้ “เปลี่ยนตัวอักษรจากสีฟ้าเป็นสีขาว” โอเคครับ ได้เลย เราก็ไปเปิดไฟล์ตัวอักษรตะกี้ แล้วแก้ไขให้เรียบร้อยซะ

แล้วก็กลับมาที่ภาพตัวแม่ครับ คลิกเมนู Image > Apply Data Sets… แล้วกด OK หนึ่งจึ้ก เสร็จแล้ว!

และสุดท้าย ถ้าเกิดปริมาณไฟล์มันเยอะมากๆ แล้วคุณอยากขี้เกียจมากกว่านี้ อาจจะทำเป็น Actions หรือสั่งรันอัตโนมัติด้วย Automate > Batch ไปเลยก็ได้ครับ จะได้กดปั๊บแล้วนั่งยิ้มดูจนเสร็จจ้ะ

อ้อ มีไฟล์ตัวอย่างมาให้ลองโหลดไปทำดูนะครับ ดาวน์โหลดได้ที่นี่เลยจ้ะ