สคริปต์สำหรับ Adobe Illustrator ทอร์เรนต์ สคริปต์สำหรับ Illustrator สคริปต์ที่กระจายวัตถุ

คุณมีโอกาสพิเศษในการขยายฟังก์ชันการทำงานของ Adobe Illustrator ไม่มีอะไรง่ายไปกว่าการใช้สคริปต์ (ไฟล์สคริปต์) เพียงแค่เลือกวัตถุและเรียกใช้สคริปต์ที่คุณต้องการ สคริปต์ที่นำเสนอในบทความนี้จะช่วยคุณประหยัดเวลาได้มากและทำให้งานของคุณสนุกและมีประสิทธิภาพยิ่งขึ้น เชื่อฉันสิพวกมันคุ้มค่ากับความสนใจของคุณ สคริปต์ทั้งหมดได้รับการทดสอบใน Illustrator เวอร์ชัน CS3 และ CS4

หากคุณกำลังมองหาโปรแกรมเสริม Illustrator ระดับพรีเมียม คุณสามารถค้นหาได้ในส่วนการทำงานของ Illustrator และสคริปต์ของ GraphicRiver ของเรา เช่น: Isometric Guides Grid Action, Pattern Maker และ Long Shadow Action (การกระทำเพื่อสร้างเงายาว) .

การดำเนินการ (การดำเนินการ) และสคริปต์ที่ดีที่สุดสำหรับ Illustrator บน Graphic River

มิฉะนั้น ใช้ประโยชน์จาก "สารพัด" ฟรีที่เราจะบอกคุณตอนนี้ แต่ก่อนอื่น เรามาดูวิธีการติดตั้งสคริปต์สำหรับ Illustrator กันก่อน

การติดตั้งสคริปต์

ขอแนะนำให้บันทึกสคริปต์ที่คุณจะใช้ในที่เดียวกันเสมอ เช่น ในไดเร็กทอรี Scrips ในการเรียกใช้สคริปต์ คุณต้องไปที่ ไฟล์ > สคริปต์ > สคริปต์อื่นๆ (Command + F12) (ไฟล์ > สคริปต์ > สคริปต์อื่นๆ)

เปิดไดเร็กทอรีด้วยสคริปต์และเรียกใช้ไฟล์ที่ต้องการ

ฉันจะบอกคุณเกี่ยวกับแผงที่สะดวกมากแผงเดียวซึ่งมักมีข่าวลือว่าดีแค่ไหนและจะดีแค่ไหนหากฉันติดตั้งและใช้งานได้!

ข้อดีของแผงนี้:

ความสามารถในการวางโฟลเดอร์ที่มีสคริปต์ไว้ที่ใดก็ได้บนคอมพิวเตอร์ของคุณ - คุณเพียงแค่ต้องระบุเส้นทางไปยังโฟลเดอร์เหล่านั้น

หากคุณวางไว้ในโฟลเดอร์ แอปพลิเคชันข้าม Script Bayแต่จะใช้ได้กับโปรแกรม Adobe อื่นๆ หรือคุณสามารถโหลดได้โดยระบุ เพิ่มโฟลเดอร์ข้ามแอป.

กะทัดรัดและสะดวกสบาย คุณสามารถวางสคริปต์ทั้งหมดของคุณในโฟลเดอร์แยกกัน จัดระเบียบตามความถี่ในการใช้งานหรือตามคุณสมบัติ: สุ่ม พร้อมการเลือก การทำงานกับข้อความ เอฟเฟกต์พิเศษ อย่างไรก็ตามในการตั้งค่า Script Bay คุณสามารถสร้างหมวดหมู่ที่จะแทนที่โฟลเดอร์เหล่านี้ได้

แต่เหตุผลหลักที่ฉันเขียนบทความนี้ก็คือวิธีการติดตั้งมาตรฐานซึ่ง In-Tools Solutions แนะนำนั้นไม่ได้ช่วยฉันเลย เช่นเดียวกับหลายๆ คน ตัดสินจากเสียงโวยวายใน LiveJournal และชุมชนอื่นๆ

มีปัญหาหลายประการ:

ปลั๊กอินไม่ได้ติดตั้งผ่าน Adobe Extension Manager และมีสิทธิ์ zxp ที่ร้ายกาจ
- ติดตั้ง แต่ขัดข้องหรือสูญเสียสคริปต์ทั้งหมดเมื่อเปิด Adobe Illustrator อีกครั้ง

ดังนั้นหากคุณไม่สามารถติดตั้งปลั๊กอินผ่าน Adobe Extension Manager ได้เช่นกัน คุณสามารถทำตามเส้นทางของฉันได้ นี่คือวิธีที่ฉันแก้ไขปัญหานี้

1. การติดตั้ง ScriptBay

ฉันนำปลั๊กอินออกจากไฟล์เก็บถาวร เพียงแค่เปิดมัน ScriptBay.zxpผ่าน WinRAR(ผู้เก็บถาวร) และแตกไฟล์จากนั้นลงในโฟลเดอร์ ScriptBay แยกต่างหาก

ฉันวางโฟลเดอร์ผลลัพธ์ไว้ในตำแหน่งที่ควรจะเป็น จับ :)
ใน Illustrator เวอร์ชันของฉัน (Adobe Illustrator CS6) นี่คือโฟลเดอร์ส่วนขยาย


C:\Program Files (x86)\Common Files\Adobe\CS6ServiceManager\extensions

สำหรับ CS5 คุณต้องใส่ไว้ในโฟลเดอร์ Plug-ins

C:\Program Files\Adobe\Adobe Illustrator CS5\Plug-ins

สำหรับเวอร์ชันอื่น คุณสามารถค้นหาโฟลเดอร์ตามรูปภาพและภาพเหมือนได้ สำหรับ CC ขอขอบคุณเพื่อนๆ สำหรับคำแนะนำ โดยมีดังต่อไปนี้:

C:\Program Files (x86)\Common Files\Adobe\CEP\extensions

2. เพิ่มสคริปต์ไปที่ ScriptBay

จากนั้นเราจะเพิ่มสคริปต์ที่เราชื่นชอบลงในแผงควบคุมของเรา คุณสามารถเปิดแผงปลั๊กอินได้ในเมนูหน้าต่าง:


หน้าต่าง > ส่วนขยาย > ScriptBay

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


หากสคริปต์ไม่ได้มีไว้สำหรับ Adobe Illustrator เท่านั้น ให้คลิก เพิ่มโฟลเดอร์ข้ามแอป.
หากต้องการลบโฟลเดอร์ด้านซ้าย ให้เลือกและคลิก ลบโฟลเดอร์สคริปต์.
หากคุณไม่ได้จัดเก็บไว้ในที่พิเศษบนไดรฟ์อื่น คุณสามารถชี้ไปที่โฟลเดอร์สคริปต์ Illustrator ดั้งเดิมได้:

โดยทั่วไปเส้นทางไปยังโฟลเดอร์คือ:


ไดรฟ์ C > ไฟล์โปรแกรม > Adobe > โฟลเดอร์ที่มี Adobe Illustrator เวอร์ชันของคุณ > Styles (Presets) > en_GB หรือ RU (มีหนึ่งโฟลเดอร์ - คุณไม่ควรพลาด) > สคริปต์

แต่ฉันไม่มีอะไรอยู่ที่นั่นมานานแล้ว ฉันไม่ได้จัดเก็บไว้ในไดรฟ์เดียวกับ Windows และโปรแกรม สิ่งนี้จะไม่ส่งผลกระทบต่อการทำงานของแผง Script Bay แต่อย่างใด แผงควบคุมยังให้คุณเลือกโหมดการรับชมได้สองโหมด: ต้นไม้และใบไม้ - แสดงสคริปต์เป็นรายการหรือแผนผัง.


3. เมนู Script Bay และฟังก์ชั่นอื่นๆ

สั้น ๆ เกี่ยวกับคำสั่งเมนูบริบทอื่น ๆ :

ซ่อน/แสดงโฟลเดอร์ว่าง- ซ่อน/แสดงโฟลเดอร์ว่าง
แสดงเส้นทางไฟล์สคริปต์- ระบุเส้นทางไปยังไฟล์สคริปต์
ซ่อน/แสดงโฟลเดอร์เริ่มต้น- ซ่อน/แสดงโฟลเดอร์เริ่มต้น
เปิดเผยสคริปต์ที่ติดตั้ง- ระบุสคริปต์ที่ติดตั้ง
การตั้งค่าช่องสคริปต์- เมนูการตั้งค่าสคริปต์เบย์
ตรวจสอบสำหรับการอัพเดต- ตรวจสอบสำหรับการอัพเดต
เกี่ยวกับ- เวอร์ชันสคริปต์เบย์

เมนูการตั้งค่า Script Bay จะทำซ้ำคำสั่งเมนูบริบทบางคำสั่ง


แต่มันก็มีความแตกต่างเช่นกัน ดังนั้นคุณสามารถสร้างหมวดหมู่ของคุณเองสำหรับคอลเลกชันสคริปต์ทั้งหมดของคุณได้ ซึ่งจะแทนที่คุณด้วยการสร้างและจัดเรียงสคริปต์ลงในโฟลเดอร์


หากคุณรู้สึกว่าสามารถเขียนสคริปต์ใหม่ที่ยอดเยี่ยมได้ ให้ใช้โปรแกรมแก้ไขสคริปต์ในตัวของ Script Bay - ตัวแก้ไขสคริปต์

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

วิธีหนึ่งในการทำให้กระบวนการทำซ้ำโดยอัตโนมัติคือการใช้สคริปต์ซึ่งเป็นลำดับคำสั่งบางอย่างที่สามารถทำซ้ำได้หลายครั้งและเป็นเครื่องมือที่ทรงพลังที่สุดและในขณะเดียวกันก็เป็นเครื่องมือที่ซับซ้อนที่สุดในการทำงานอัตโนมัติใน Adobe Illustrator การเขียนสคริปต์มีประสิทธิภาพในสถานการณ์ต่างๆ เมื่อมีการกระทำที่คล้ายกันจำนวนมาก และสคริปต์สามารถใช้ได้ทั้งกับภาพแต่ละภาพและกลุ่มของภาพ โดยการรวมเข้ากับมาโครอย่างมีประสิทธิภาพ ซึ่งจะช่วยอำนวยความสะดวกและเร่งกระบวนการเตรียมการให้ดียิ่งขึ้น ภาพและประหยัดเวลาได้มาก

ในขณะเดียวกัน ในทางปฏิบัติ นักออกแบบไม่ได้ใช้สคริปต์กันอย่างแพร่หลาย เห็นได้ชัดว่าเนื่องจากในการเขียนคุณจำเป็นต้องรู้ภาษาการเขียนโปรแกรมเชิงวัตถุภาษาใดภาษาหนึ่ง: JavaScript, Visual Basic (Windows) หรือ AppleScript (Mac OS) อย่างไรก็ตาม มันก็ไม่ได้ยากขนาดนั้น เนื่องจากนักออกแบบจำนวนมากสร้างเว็บเพจที่ใช้ JavaScript และดังนั้นจึงมีความเข้าใจในการเขียนโปรแกรมเชิงวัตถุ และความรู้นี้ก็เพียงพอที่จะเขียนสคริปต์ได้ มีข้อโต้แย้งอีกประการหนึ่งที่สนับสนุน JavaScript - ภาษานี้ไม่ขึ้นอยู่กับแพลตฟอร์ม ดังนั้นสคริปต์ที่เขียนในภาษานี้จะทำงานได้ทั้งบน Windows และ Mac OS ในบทเรียนนี้ เราจะมุ่งเน้นไปที่เทคโนโลยีการเขียนสคริปต์ที่ใช้ JavaScript ในสภาพแวดล้อม Adobe Illustrator CS2 และเพื่อเพิ่มระดับการเข้าถึงเนื้อหา เราจะพยายามดำเนินการโดยไม่ต้องใช้สูตรที่ซับซ้อนและไม่ใช้แนวคิดใหม่จำนวนมาก สำหรับผู้ใช้ทั่วไป แต่เป็นที่ยอมรับในการเขียนโปรแกรม เนื่องจากหลายคนกำลังแก้ไขปัญหาการออกแบบมาตรฐานส่วนใหญ่เป็นทางเลือก ผู้ที่ต้องการเรียนรู้เพิ่มเติมเกี่ยวกับสคริปต์ JavaScript ในระดับที่สูงขึ้นและพื้นฐานของการสร้างสคริปต์ใน Visual Basic และ AppleScript สามารถดูคำแนะนำโดยละเอียดจาก Adobe (ไฟล์เอกสารประกอบพร้อมกับสคริปต์ตัวอย่างจะรวมอยู่ในการแจกจ่ายและสามารถพบได้ใน Scripting โฟลเดอร์)

แง่มุมทางทฤษฎีของการทำงานกับสคริปต์

Adobe Illustrator มีสคริปต์สำเร็จรูปหลายสคริปต์ที่มุ่งแก้ไขงานที่เกิดซ้ำบ่อยที่สุด รวมถึงสคริปต์สำหรับส่งออกรูปภาพเป็นรูปแบบ SVG, PDF และ Flash สคริปต์ที่รวมไว้จะถูกเรียกใช้ด้วยคำสั่ง ไฟล์ => สคริปต์(ไฟล์ => สคริปต์) (รูปที่ 1) และถูกจัดเก็บไว้ในโฟลเดอร์ ค่าที่ตั้งล่วงหน้า\สคริปต์- นอกจากนี้ คุณสามารถใช้สคริปต์สาธิตที่มาพร้อมกับเอกสารประกอบในงานของคุณได้ คุณสามารถเลือกได้จากโฟลเดอร์ การเขียนสคริปต์\Sampleสคริปท์โดยใช้คำสั่ง ไฟล์=>สคริปต์=>สคริปต์อื่นๆ(ไฟล์=>สคริปต์=>สคริปต์อื่น)

ไลบรารีของสคริปต์ในตัวสามารถขยายได้ไม่จำกัดด้วยสคริปต์ใหม่ ดาวน์โหลดจากอินเทอร์เน็ตหรือสร้างเอง ในทั้งสองกรณี สคริปต์เพิ่มเติมจะถูกคัดลอกไปยังโฟลเดอร์เดียวกันหลังจากรีสตาร์ทโปรแกรมที่พร้อมใช้งานจากเมนู ไฟล์ => สคริปต์พร้อมด้วยสคริปต์ในตัว ในกรณีที่มีสคริปต์จำนวนมาก จะเป็นการดีกว่าหากไม่ได้บันทึกไว้ในโฟลเดอร์โดยตรง ค่าที่ตั้งล่วงหน้า\สคริปต์แต่ในโฟลเดอร์ย่อยที่แยกจากกันซึ่งไม่จำกัดจำนวนและทั้งหมดจะถูกนำเสนอเป็นเมนูย่อยแยกกันของคำสั่ง ไฟล์ => สคริปต์(รูปที่ 2)

สคริปต์จะบันทึกลำดับการดำเนินการและการแปลงที่จำเป็นเกือบทั้งหมด ซึ่งสามารถนำมาใช้ในภายหลังเมื่อทำงานกับรูปภาพอื่น อย่างไรก็ตาม มีข้อยกเว้น: ตัวอย่างเช่น ไม่สามารถสร้างออบเจ็กต์ เช่น สไตล์ แปรง กราฟ ออบเจ็กต์แบบตาข่าย และเกลียวในสคริปต์ได้ และนอกจากนี้ ไม่สามารถเปิดใช้ปลั๊กอินจากสคริปต์ได้

สคริปต์ในภาษาการเขียนโปรแกรม JavaScript เป็นไฟล์ข้อความธรรมดาที่มีนามสกุล js ดังนั้นจึงสามารถสร้างได้ในโปรแกรมแก้ไขข้อความใดๆ รวมถึง Notepad

แนวคิดการเขียนโปรแกรมเชิงวัตถุ

เอกสารที่สร้างใน Illustrator คือชุดของวัตถุ ซึ่งแต่ละวัตถุอยู่ในประเภทใดประเภทหนึ่ง (เช่น เวกเตอร์ แรสเตอร์ สัญลักษณ์ ฯลฯ) และมีคุณสมบัติบางอย่าง (ความกว้างของเส้นขอบ สีเติม ฯลฯ ) นอกจากนี้ แต่ละวัตถุเป็นของเอกสารบางฉบับ ซึ่งอยู่บนเลเยอร์เฉพาะและสามารถถูกดำเนินการบางอย่างได้ (ย้าย คัดลอก ทำซ้ำ ฯลฯ )

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

ใน JavaScript วัตถุ วิธีการ และคุณสมบัติแต่ละประเภทจะมีชื่อ (หรือตัวถูกดำเนินการ) ที่สงวนไว้เป็นของตัวเอง รายการเส้นทางหมายถึงวัตถุเวกเตอร์ รายการสัญลักษณ์วัตถุสัญลักษณ์, รายการแรสเตอร์วัตถุแรสเตอร์, รายการกลุ่มองค์ประกอบกลุ่ม การคัดเลือกองค์ประกอบที่เลือก ฯลฯ (ดูคู่มือการเขียนสคริปต์สำหรับชุดชื่อที่สงวนไว้ทั้งหมด)

แต่ละเลเยอร์ของเอกสารเฉพาะอาจมีวัตถุจำนวนมาก ดังนั้นวัตถุทั้งหมดที่วางอยู่บนชั้นใด ๆ จะถูกรวมเข้าเป็นอาร์เรย์ซึ่งวัตถุต่างกันตามตัวเลข (การนับเลขเริ่มจากศูนย์) เป็นผลให้การเข้าถึงวัตถุเฉพาะเกี่ยวข้องกับการระบุคำว่าแอปตามลำดับ (ย่อมาจากแอปพลิเคชันซึ่งหมายความว่าออบเจ็กต์อ้างถึงแอปพลิเคชันที่โหลด) ชื่อเอกสาร หมายเลขเลเยอร์ ชื่อคลาส และหมายเลของค์ประกอบในอาร์เรย์ที่เกี่ยวข้อง . ตัวอย่างเช่นการออกแบบ app.activeDocument.layers.pathItemsนี่เป็นการดึงดูดวัตถุเวกเตอร์แรกสุดในแง่ของความลึก โดยวางอยู่ในเอกสารที่ใช้งานอยู่บนเลเยอร์บนสุด (โปรดทราบว่าการกำหนดหมายเลขของเลเยอร์เริ่มจากศูนย์ด้วย)

โครงสร้างที่ได้ค่อนข้างยาวสามารถตัดให้สั้นลงได้ง่าย ที่นี่คุณสามารถละเว้นการระบุส่วนประกอบของชื่อที่ไม่จำเป็นในกรณีนี้ได้ (โดยเฉพาะหากเอกสารมีเพียงเลเยอร์เดียวก็ไม่จำเป็นต้องระบุ) คุณสามารถใช้การอ้างอิงชื่อได้โดยการป้อนชื่อที่สั้นลงเพื่อระบุส่วนของโครงสร้างชื่อที่จะต้องทำซ้ำหลายครั้ง (ชื่อดังกล่าวเรียกว่าตัวแปรในภาษาการเขียนโปรแกรม) เป็นการดีกว่าที่จะตั้งชื่อที่มีความหมายเพื่อลดความซับซ้อนในการวางแนวในเนื้อหาของโค้ด เช่น ถ้าครั้งแรกที่คุณแนะนำการก่อสร้าง mypathItems=app.activeDocument.layers.pathItemsจากนั้นส่วนของโค้ดที่กำลังพิจารณาจะมีแบบฟอร์ม mypathItems.

คุณไม่ควรใช้คำที่ใช้ใน JavaScript เพื่อแสดงคลาส คุณสมบัติ และวิธีการเป็นชื่อ เนื่องจากอาจทำให้เกิดผลลัพธ์ที่คาดเดาไม่ได้ ตัวอย่างตัวแปรที่กำหนดไม่ถูกต้อง strokeWidth=app.activeDocument.layers.pathItems, คำ จังหวะกว้างใช้เพื่อแสดงถึงคุณสมบัติ Border width)

ก่อนที่คุณจะเริ่มทดลองสคริปต์ คุณต้องจำกฎสองสามข้อก่อน:

  • ชื่อตัวแปรต้องคำนึงถึงขนาดตัวพิมพ์ (เช่น mypathItemsและ MyPathItemsจะกลายเป็นตัวแปรที่แตกต่างกันโดยสิ้นเชิง)
  • หมายเลของค์ประกอบอาร์เรย์จะแสดงอยู่ในวงเล็บเหลี่ยมเสมอ
  • การสร้างสคริปต์ใดๆ (โครงสร้างดังกล่าวเรียกว่าตัวดำเนินการ) ลงท้ายด้วยสัญลักษณ์ “;” หรือเครื่องหมายปีกกาปิด “)” ตัวเลือกที่สองจะเกิดขึ้นในกรณีเหล่านั้นเท่านั้น เมื่อโครงสร้างนี้มีเครื่องหมายปีกกาเปิดอยู่แล้ว “(”;
  • จำนวนวงเล็บปีกกาปิดตรงกับจำนวนการเปิดอย่างสมบูรณ์
  • เป็นการดีกว่าถ้าวางสิ่งปลูกสร้างใหม่แต่ละอันบนบรรทัดใหม่และจะดีกว่าถ้าพิมพ์สิ่งปลูกสร้างที่วางไว้ในเครื่องหมายปีกกาด้วยการเลื่อนบรรทัด (รูปที่ 3) แม้ว่าเทคนิคเหล่านี้จะเป็นทางเลือก แต่ก็ทำให้การวางแนวในสคริปต์ที่สร้างขึ้นง่ายขึ้นอย่างมาก และช่วยให้คุณสามารถควบคุมจำนวนการเปิดและปิดเครื่องหมายปีกกาได้

หลักการเขียนและแก้ไขสคริปต์

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

ก่อนที่สคริปต์จะใช้งานได้จะต้องแก้ไขและรันอีกครั้งมากกว่าหนึ่งครั้งจึงควรวางสคริปต์ไว้ในเมนูทันทีจะดีกว่า ไฟล์ => สคริปต์(ไฟล์ => สคริปต์) แทนที่จะเลือกด้วยตนเองทุกครั้งโดยใช้คำสั่ง ไฟล์=>สคริปต์=>สคริปต์อื่นๆ(ไฟล์=>สคริปต์=>สคริปต์อื่น) ในการดำเนินการนี้ ให้เปิดแผ่นจดบันทึก บันทึกไฟล์เปล่าที่มีนามสกุล js ในโฟลเดอร์ Presets\Scripts แล้วรีสตาร์ทโปรแกรม ขอแนะนำให้กำหนดหนึ่งรายการในเมนูโดยเฉพาะสำหรับการดีบักสคริปต์ ไฟล์ => สคริปต์เช่นกับชื่อ การดีบักในกรณีนี้ เมื่อสร้างสคริปต์ถัดไป คุณสามารถวางไว้ในไฟล์ debugging.js ในโฟลเดอร์ก่อน ค่าที่ตั้งล่วงหน้า\สคริปต์จากนั้นให้คำนึงถึง (ความสะดวกคือสคริปต์นี้จะมองเห็นได้ทันทีในเมนูโปรแกรม Illustrator) และหลังจากการดีบั๊กแล้วให้บันทึกไว้ในโฟลเดอร์เดียวกัน แต่ใช้ชื่อส่วนตัว

การเรียนรู้โครงสร้าง JavaScript ที่ง่ายที่สุด

ก่อนที่จะไปยังตัวอย่างของการสร้างสคริปต์ที่สามารถทำให้กระบวนการแก้ไขปัญหาการออกแบบบางอย่างเป็นไปโดยอัตโนมัติ เรามาดูตัวอย่างการศึกษาง่ายๆ สองสามตัวอย่างที่ถึงแม้จะไม่มีคุณค่าในทางปฏิบัติมากนัก แต่จะช่วยให้เราเข้าใจหลักการของการใช้ภาษาที่ใช้บ่อยที่สุด โครงสร้าง เมื่อต้องการทำเช่นนี้ ให้สร้างไฟล์ debugging.js ที่ว่างเปล่าใน Notepad และบันทึกไว้ในโฟลเดอร์ Presets\Scripts ถัดไป ดาวน์โหลด Illustrator และสร้างเอกสารใหม่ โดยวางพาธเวกเตอร์สามพาธในนั้น เช่น สี่เหลี่ยมสามอันที่มีเส้นขอบกว้าง (รูปที่ 4) ให้ความสนใจกับการวางตำแหน่งของวัตถุในจานสีเลเยอร์: วัตถุที่อยู่ด้านล่างสุดของเลเยอร์จะถูกสร้างขึ้นก่อน ดังนั้นวัตถุจะปรากฏที่หมายเลข 0 ในอาร์เรย์ต่างๆ เมื่อคุณเลื่อนเลเยอร์เลเยอร์ขึ้น จำนวนวัตถุจะเพิ่มขึ้น

ป้อนบรรทัดต่อไปนี้ลงในไฟล์ debugging.js

mypathItems = app.activeDocument.layers.pathItems;

mypathItems. strokeWidth=2.5;

mypathItems. strokeWidth=3.5;

mypathItems. strokeWidth=2.5;

และบันทึกไฟล์ด้วยชื่อเดียวกัน (รูปที่ 5)

ออกแบบ mypathItems = app.activeDocument.layers.pathItemsหมายถึงการสร้างตัวแปรชื่อ mypathItemsด้วยเหตุนี้จึงเป็นไปได้ที่จะลดการเข้าถึงออบเจ็กต์ทั้งหมดของเลเยอร์แรกของเอกสารที่ใช้งานอยู่ เส้น mypathItems. strokeWidth=2.5แสดงว่าความกว้างของเส้นขอบ (property จังหวะกว้าง) สำหรับวัตถุแรกสุดจะเท่ากับ 2.5 พิกเซล เส้นที่เหลือจะเหมือนกัน

สลับไปที่รูปภาพใน Illustrator และเรียกใช้สคริปต์ที่สร้างขึ้นด้วยคำสั่ง ไฟล์=>สคริปต์=>การดีบัก(ไฟล์=>สคริปต์=>การดีบัก) ผลลัพธ์จะมีการเปลี่ยนแปลงความกว้างของเส้นขอบ: สำหรับวัตถุตัวแรกและตัวที่สามคูณ 2.5 พิกเซล และสำหรับวัตถุตัวที่สองคูณ 3.5 พิกเซล เนื่องจากเอกสารมีเพียงชั้นเดียว การออกแบบที่พิจารณาจึงอาจสั้นกว่า (รูปที่ 6)

ในทางปฏิบัติ การแปลงแบบเดียวกัน (เช่นในกรณีนี้คือการเปลี่ยนความกว้างของเส้นขอบ) มักดำเนินการกับวัตถุหลายชิ้นหรือทั้งหมด การแสดงรายการด้วยตนเองในสคริปต์ แม้จะเป็นเพียงการคัดลอกบรรทัดก็ใช้เวลานานพอสมควร นอกจากนี้ยังเต็มไปด้วยข้อผิดพลาดที่ไม่จำเป็นและทำให้โค้ดโปรแกรมซับซ้อนขึ้น ในกรณีเช่นนี้ พวกเขาหันไปใช้วงจร หากยังมีสี่เหลี่ยมสามรูปในเอกสาร การลดเส้นขอบในรอบสำหรับวัตถุทั้งหมดให้เหลือค่า 0.5 พิกเซลจะแสดงในรูปที่ 1 7. ป้อนบรรทัดเหล่านี้ในไฟล์ debugging.js บันทึกและเรียกใช้สคริปต์เพื่อประมวลผลอิมเมจการทำงาน สคริปต์ที่แก้ไขถูกเสริมด้วยตัวดำเนินการวนซ้ำ:

หรือ (เงื่อนไขการวนซ้ำ)(

ห่วงร่างกาย

เงื่อนไขการวนซ้ำอาจดูแตกต่างออกไป แต่ในกรณีส่วนใหญ่ เงื่อนไขสามารถแสดงได้ด้วยโครงสร้าง ฉัน=0;ฉัน<имя_объекта.length;i++ หมายถึงการเปลี่ยนแปลงตัวแปร i ขึ้นไปหนึ่งหน่วยจากศูนย์จนกระทั่งค่าของมันตรงกับจำนวนวัตถุ ( ความยาว) ในเลเยอร์ที่ใช้งานอยู่ของเอกสารที่ใช้งานอยู่ เนื้อความของลูปถูกคั่นไว้ทั้งสองด้านด้วยเครื่องหมายปีกกา และสามารถมีบรรทัดเดียวหรือหลายบรรทัดก็ได้ (ขึ้นอยู่กับจำนวนการดำเนินการที่ทำในลูป) ซึ่งแต่ละบรรทัดจะลงท้ายด้วยสัญลักษณ์ “;”

ตอนนี้เรามาลองเปลี่ยนสคริปต์เพื่อให้เส้นขอบเปลี่ยนเฉพาะเมื่อมีวัตถุที่เลือกอยู่ในรูปภาพและในเวลาเดียวกันเรามาทำความคุ้นเคยกับตัวดำเนินการข้ามแบบมีเงื่อนไขซึ่งโดยทั่วไปจะมีลักษณะดังนี้:

ถ้า (เงื่อนไข) (

แอ็คชั่นชุดที่ 1

แอ็คชั่นชุดที่ 2

โครงสร้างนี้หมายความว่าหากเงื่อนไขเป็นจริง การดำเนินการชุดแรกจะถูกดำเนินการ หรืออย่างอื่นจะดำเนินการชุดที่สอง ในรูปแบบที่ง่ายที่สุด เงื่อนไขสามารถแสดงได้ว่าเป็นความเท่าเทียมกันหรือความไม่เท่าเทียมกัน และชุดของการกระทำใดๆ จะอยู่ในวงเล็บปีกกาและอาจประกอบด้วยการกระทำอย่างน้อยหนึ่งรายการ โดยแต่ละรายการจะแยกจากกันในบรรทัดและลงท้ายด้วยสัญลักษณ์ ";" ลองเปลี่ยนสคริปต์ตามรูป 8 และทดสอบใช้งานจริง ในกรณีนี้ สคริปต์ถูกเสริมด้วยตัวแปรใหม่ เอกสารเลือกแล้วใช้เพื่อเข้าถึงอ็อบเจ็กต์ที่ได้รับการจัดสรรในลูป (ตัวแปรลูปจะเพิ่มขึ้นจนกว่าจะเท่ากับจำนวนอ็อบเจ็กต์ที่ได้รับการจัดสรร) และปรากฏในคำสั่งแบบมีเงื่อนไขที่ทดสอบการมีอยู่ของอ็อบเจ็กต์ที่ได้รับการจัดสรร ตามที่แสดงการตรวจสอบ สคริปต์นี้ไม่สร้างข้อผิดพลาดเมื่อดำเนินการ แต่ทำงานไม่ถูกต้อง: เมื่อมีวัตถุที่เลือก ความกว้างของเส้นขอบจะเปลี่ยนไปจริง ๆ แต่ไม่ใช่สำหรับวัตถุเหล่านั้นที่ถูกเลือก แต่สำหรับจำนวนวัตถุที่สอดคล้องกันเท่านั้น ตามลำดับ ปัญหาอยู่ในบรรทัด mypathItems[i]. strokeWidth=0.5และจะได้รับอนุญาตหากถูกแทนที่ด้วยการออกแบบ docSelected[i]. strokeWidth=0.5(รูปที่ 9) ตรวจสอบด้วยตัวเองเพื่อให้แน่ใจว่าความกว้างของเส้นขอบจะเปลี่ยนเฉพาะกับวัตถุที่เลือกไว้ก่อนหน้านี้เท่านั้น

สุดท้าย เราจะเพิ่มการตกแต่งขั้นสุดท้ายให้กับสคริปต์ - เราจะเพิ่มเข้าไป หากไม่มีวัตถุที่เลือก ข้อความที่เกี่ยวข้องจะปรากฏบนหน้าจอ (รูปที่ 10 และ 11) ในการแสดงข้อความเราจะใช้โอเปอเรเตอร์ เตือนซึ่งช่วยให้มั่นใจได้ว่าข้อความที่กำหนดเองที่ป้อนไว้ก่อนหน้านี้ในการออกแบบจะปรากฏบนหน้าจอ เตือนในเครื่องหมายคำพูด เป็นที่น่าสังเกตว่าผู้ปฏิบัติงาน เตือนมันจะมีประโยชน์ไม่เฉพาะในกรณีที่จำเป็นต้องแนบสคริปต์พร้อมกับข้อความบางข้อความเท่านั้น อาจมีประโยชน์มากกว่ามากเมื่อทำการดีบั๊กสคริปต์ เมื่อสาเหตุของการดำเนินการที่ไม่ถูกต้องของสคริปต์นั้นไม่ชัดเจนโดยสิ้นเชิง ด้วยการใช้ตัวดำเนินการแจ้งเตือนในสถานการณ์ดังกล่าว คุณสามารถติดตามได้ว่าโปรแกรมเข้าใจคำสั่งนี้หรือคำสั่งนั้นอย่างไร และจึงสามารถระบุสาเหตุของการทำงานของโค้ดโปรแกรมที่ไม่ถูกต้องได้

ตัวอย่างการสร้างและใช้งานสคริปต์

การเปลี่ยนแปลงการออกแบบวัตถุประเภทเดียวกัน

มักจำเป็นต้องเปลี่ยนคุณสมบัติบางอย่างของออบเจ็กต์ประเภทเดียวกันทั้งหมดในเอกสารอย่างรวดเร็ว ตัวอย่างเช่น คุณต้องเปลี่ยนสีเติมของวัตถุหรือลดหรือเพิ่มขนาดเล็กน้อย ในเวอร์ชันแมนนวล ในกรณีนี้ คุณจะต้องเลือกออบเจ็กต์ทั้งหมดที่คุณสนใจ ซึ่งค่อนข้างน่าเบื่อหากมีจำนวนมาก ดังนั้น ให้สร้างชุดสคริปต์สำหรับการดำเนินการดังกล่าวที่ทำงานนี้โดยอัตโนมัติ สมมติว่าคุณต้องลดขนาดของรูปภาพสัญลักษณ์จำนวนมากลงเล็กน้อยในเอกสารสำเร็จรูป ( รายการสัญลักษณ์) (รูปที่ 12) และไม่ทราบล่วงหน้าว่าจำเป็นต้องลดค่าความสูงจำนวนพิกเซล ( ความสูง) และความกว้าง ( ความกว้าง- ในกรณีนี้ คุณควรลดขนาดลง 1 พิกเซล และหากยังไม่เพียงพอ สคริปต์สามารถเรียกใช้ซ้ำๆ เพื่อลดขนาดเพิ่มเติมได้ หากต้องการลดมูลค่าของทรัพย์สินลงจำนวนหนึ่งเมื่อเปรียบเทียบกับมูลค่าเดิม ในกรณีของเราคุณควรเพิ่มเครื่องหมาย "-" หน้าเครื่องหมายเท่ากับในทรัพย์สิน การก่อสร้างที่เกี่ยวข้องจะอยู่ในรูปแบบ: myสัญลักษณ์Items[i].ความสูง-=1- ในทำนองเดียวกัน คุณสามารถเพิ่มมูลค่าของทรัพย์สินได้โดยการป้อนเครื่องหมาย "+" แทนเครื่องหมาย "-" สคริปต์ที่สร้างขึ้นจะแสดงในรูป ภาพที่ 13 และผลงานของเขาแสดงไว้ในรูปที่ 13 14.

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

เส้นขอบหนาที่บางเกินไป

บ่อยครั้งหลังจากการเปลี่ยนแปลงต่าง ๆ ปรากฎว่าขอบเขตของวัตถุบางชิ้นบางเกินไปและแทบจะมองไม่เห็นเลย (รูปที่ 16) จากนั้นจะต้องเพิ่มความกว้างของเส้นขอบของวัตถุดังกล่าว และการทำเช่นนี้ด้วยตนเองกับวัตถุจำนวนมากถือเป็นปัญหามาก สะดวกกว่ามากในการทำงานนี้โดยใช้สคริปต์ที่เหมาะสมซึ่งจะใช้เวลาเพียงไม่กี่วินาที งานของสคริปต์ดังกล่าวคือการวนซ้ำวัตถุทั้งหมด และวัตถุที่มีความกว้างของเส้นขอบน้อยกว่า (เช่น 0.25 พิกเซล) จะเพิ่มความกว้างของเส้นขอบเป็น 0.5 พิกเซล ขอบเขตที่เหลือจะต้องไม่เปลี่ยนแปลง สคริปต์ที่สร้างขึ้นจะแสดงในรูป 17 และผลงานของเขาแสดงไว้ในรูปที่ 1 18.

การจัดรูปแบบวัตถุข้อความ

บ่อยครั้งในบางขั้นตอนของการออกแบบเอกสาร มีความปรารถนาที่จะเปลี่ยนหลักการออกแบบของออบเจ็กต์ข้อความที่รวมอยู่ในนั้น อย่างไรก็ตาม การเลือกวัตถุจำนวนมากถือเป็นงานที่น่าเบื่อ ในสถานการณ์เช่นนี้ คุณสามารถสร้างสคริปต์ที่สามารถวนซ้ำผ่านออบเจ็กต์ข้อความ และเปลี่ยนคุณลักษณะของสคริปต์ในลักษณะใดลักษณะหนึ่งได้ เช่น การลดขนาดแบบอักษร สี แบบอักษร ตำแหน่ง ฯลฯ

คุณสามารถสร้างตัวเลือกมากมายสำหรับสคริปต์ดังกล่าวได้ แต่เราจะเน้นที่การเพิ่มขนาดตัวอักษร 1 หน่วยและเปลี่ยนสีสำหรับวัตถุข้อความทั้งหมดในเอกสาร (รูปที่ 19) สิ่งนี้เกี่ยวข้องกับการวนซ้ำวัตถุจากคลาส ข้อความเฟรม(นี่คือวิธีกำหนดวัตถุข้อความ) และปรับคุณสมบัติ characterAttributes.size(ขนาดตัวอักษร) และ เติมสี(ในกรณีนี้คือสีของตัวอักษร) สคริปต์ที่คล้ายกันจะแสดงในรูป 20 และผลงานของเขาแสดงไว้ในรูปที่ 20 21.

การจัดตำแหน่งความสูงและความกว้างของวัตถุ

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

มาสร้างสคริปต์ที่จะจัดความสูงของวัตถุทั้งหมดให้ตรงกับความสูงของวัตถุควบคุมที่สร้างขึ้นล่าสุด ควรสร้างโดยการตั้งค่าความสูงที่ต้องการด้วยตนเอง (รูปที่ 23) และความกว้างของวัตถุไม่ควรเปลี่ยนแปลง ในการทำเช่นนี้ ก็เพียงพอที่จะผ่านวัตถุทั้งหมดในลูป คำนวณความสูงใหม่สำหรับแต่ละวัตถุตามสัดส่วนปกติแล้วจึงเปลี่ยน หากต้องการเปลี่ยนความสูงเราจะใช้วิธีนี้ ปรับขนาด (scaleX, scaleY), ที่ไหน สเกลXและ สเกลYเปลี่ยนค่าความกว้างและความสูงเป็นเปอร์เซ็นต์ (เทียบกับค่าเก่า) ในกรณีของเรา เราเพียงแต่ต้องคำนวณค่าเท่านั้น สเกลY, ก สเกลXจะเท่ากับ 100 เนื่องจากความกว้างยังคงไม่เปลี่ยนแปลง สคริปต์ที่เราสร้างจะแสดงในรูป 24 และผลงานของเขาแสดงไว้ในรูปที่ 2 25.

นอกจากนี้ยังมีสถานการณ์ที่วัตถุจำเป็นต้องจัดแนวตามความกว้าง โดยปล่อยให้ความสูงไม่เปลี่ยนแปลง สคริปต์ยังสามารถช่วยให้กระบวนการเป็นอัตโนมัติ ซึ่งสามารถรับได้จากกระบวนการก่อนหน้าโดยการแทนที่คุณสมบัติ ความสูง(ความสูง) ต่อทรัพย์สิน ความกว้าง(ความกว้าง) และการแก้ไขหลักการปรับขนาดวัตถุในวิธีการปรับขนาด ( สเกลX, สเกลY) โดยในกรณีนี้ค่าจะต้องไม่เปลี่ยนแปลง สเกลY(รูปที่ 26)

การจัดรูปแบบตาราง

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

ในกรณีนี้ ตามเซลล์ส่วนหัว เราหมายถึงเซลล์ที่มีเส้นขอบด้านซ้าย - ในตัวอย่างของเรา 40 พิกเซล สีเติมของเซลล์จะแตกต่างจากสีเส้นขอบ ดังนั้นคุณต้องสร้างตัวแปรสี 2 ตัวแปร มาเรียกกันดีกว่า สีใหม่และ สีใหม่1โดยแต่ละสีคุณจะต้องกำหนดส่วนประกอบของสีแดง เขียว และน้ำเงิน หลังจากนี้ คุณจะต้องวนซ้ำวัตถุเวกเตอร์ทั้งหมดและเปลี่ยนคุณสมบัติ เติมสี, โรคหลอดเลือดสมองสีและ จังหวะกว้างที่มีขอบซ้าย 40 พิกเซล สคริปต์ที่สร้างขึ้นจะแสดงในรูป 28 และผลงานของเขาแสดงไว้ในรูปที่ 28 29.

โปรดทราบว่าในตัวอย่างนี้ เซลล์ต่างๆ (นั่นคือ วัตถุสี่เหลี่ยมที่เกี่ยวข้อง) มีอยู่ในเอกสาร ดังนั้นพารามิเตอร์จึงสามารถเปลี่ยนแปลงได้ ซึ่งหมายความว่าเมื่อสร้างตาราง เซลล์ของตารางจะถูกวาดเป็นวัตถุสี่เหลี่ยม จากนั้นจึงคัดลอกไปยังคลิปบอร์ดและทำซ้ำด้วยคำสั่ง แก้ไข=>วางข้างหน้า(แก้ไข=>วางข้างหน้า) หลังจากนั้น ข้อความก็ถูกเขียนลงในสำเนาของเซลล์ โดยจัดกลุ่มไว้กับเซลล์สี่เหลี่ยมที่สอดคล้องกัน ด้วยเทคโนโลยีที่แตกต่างกันในการสร้างตาราง จะต้องใช้สคริปต์ที่แตกต่างไปจากเดิมอย่างสิ้นเชิงในการออกแบบ

ส่งออกและบันทึกเอกสารที่เปิดอยู่

มันเกิดขึ้นว่าหลังจากทำงานกับเอกสารหลายฉบับหรือหลายฉบับเมื่อสิ้นสุดงานพวกเขาทั้งหมดจะต้องได้รับการบันทึกหรือส่งออกเป็นรูปแบบที่ต้องการ พิจารณาตัวเลือกในการส่งออกรูปภาพที่เปิดอยู่ทั้งหมดเป็นรูปแบบ jpg เมื่อสร้างสคริปต์เพื่อดำเนินการนี้ ประการแรก คุณต้องแน่ใจว่ารูปภาพได้รับการบันทึกด้วยชื่อที่แตกต่างกันและในโฟลเดอร์เฉพาะ และประการที่สอง คุณต้องสลับจากเอกสารหนึ่งไปอีกเอกสารหนึ่ง โดยที่ชื่อเอกสารนั้นกำหนดเองได้

ในการแก้ปัญหาแรกมีสองวิธี: ระบุโฟลเดอร์ปลายทางตลอดจนชื่อเอกสารด้วยตนเองในระหว่างการเรียกใช้สคริปต์ (แต่นี่ค่อนข้างน่าเบื่อโดยเฉพาะในกรณีที่มีรูปภาพจำนวนมาก) หรือสร้างโฟลเดอร์ และชื่อเอกสารตามหลักการบางประการ เราจะใช้เส้นทางที่สองนั่นคือเราจะตั้งค่าโฟลเดอร์คงที่เป็นโฟลเดอร์ปลายทาง C:/อุณหภูมิ/เราจะปล่อยให้ชื่อเอกสารเหมือนเดิม และนามสกุล jpg จะถูกกำหนดโดยอัตโนมัติโดยเลือกรูปแบบการส่งออกที่ต้องการ ด้วยเหตุนี้ บรรทัดสคริปต์ที่เกี่ยวข้องในตัวอย่างนี้จึงมีลักษณะดังนี้: fileSpec = ไฟล์ใหม่ ("C:/อุณหภูมิ/" + doc.ชื่อ) โดยที่ชื่อ doc.name ของเอกสารที่ใช้งานอยู่

ปัญหาที่สอง - การเปลี่ยนจากเอกสารหนึ่งไปอีกเอกสารหนึ่ง - ในสคริปต์จะได้รับการแก้ไขโดยอัตโนมัติเนื่องจากเอกสารที่ส่งออกแล้วแต่ละฉบับจะถูกปิดทันทีและเอกสารที่โหลดก่อนที่จะเปิดใช้งาน อย่างไรก็ตาม คุณต้องจำไว้ว่าจำนวนเอกสารการทำงานในสคริปต์นี้จะเป็นค่าตัวแปร ดังนั้นจึงไม่สามารถใช้เป็นขอบเขตบนสำหรับการดำเนินการวนซ้ำได้ ดังนั้น ก่อนการวนซ้ำ คุณต้องสร้างตัวแปรเพิ่มเติมเพื่อจัดเก็บเอกสารจำนวนเริ่มต้น docLength=documents.length.

นอกจากนี้ ควรปิดรูปภาพด้วยคำสั่ง doc.close( SaveOptions.DONOTSAVEการเปลี่ยนแปลง) แทนที่จะเป็น doc.close() เพราะในกรณีที่สอง โปรแกรมจะต้องมีการยืนยันที่เหมาะสมเมื่อปิดแต่ละภาพ สคริปต์สำหรับการแก้ปัญหาที่กำหนดจะแสดงไว้ในรูปที่ 1 สามสิบ.

ดำเนินการประมวลผลไฟล์เป็นชุด

บ่อยครั้งที่จำเป็นต้องดำเนินการประมวลผลแบบเดียวกันสำหรับกลุ่มของไฟล์ เช่น เมื่อแปลงไฟล์จำนวนมากเป็นประเภทใดประเภทหนึ่ง ในกรณีเช่นนี้ ขอแนะนำให้รันสคริปต์ในโหมดแบตช์ แม้ว่าคุณสมบัตินี้จะไม่มีให้ใน Illustrator แต่ในโหมดแบตช์คุณสามารถเรียกใช้มาโครได้ ซึ่งหนึ่งในคำสั่งที่สามารถเรียกใช้สคริปต์ที่ต้องการได้

ลองนึกภาพว่ามีไฟล์จำนวนมากที่พัฒนาโดยผู้ใช้ที่แตกต่างกัน และจำเป็นต้องลดขนาดให้มากที่สุดและเขียนใหม่ในรูปแบบ EPS เดียว สำหรับแต่ละไฟล์ คุณต้องดำเนินการสองอย่าง: ลบแปรงที่ไม่จำเป็น สไตล์กราฟิก สัญลักษณ์ และสีที่ทำให้ไฟล์หนักขึ้น จากนั้นจึงบันทึกรูปภาพในรูปแบบ EPS ตามทฤษฎีแล้ว คุณสามารถวางการดำเนินการทั้งสองไว้ในสคริปต์เดียวได้ จากนั้นจึงเปิดใช้งานในโหมดแบตช์จากพาเล็ต การดำเนินการ(การดำเนินการ) แต่ในทางปฏิบัติคุณจะต้องทำอย่างอื่นโดยใช้มาโคร ลบรายการ Palette ที่ไม่ได้ใช้จากชุด การดำเนินการเริ่มต้นซึ่งมีหน้าที่ในการลบพู่กัน รูปแบบกราฟิก สัญลักษณ์ และสีที่ไม่ได้ใช้ น่าเสียดายที่ความสามารถของ JavaScript ค่อนข้างจำกัด ดังนั้นเพื่อแก้ไขปัญหานี้ คุณจะต้องใช้คำสั่ง docRef.swatches.removeAll(), docRef.สัญลักษณ์.removeAll()และง ocRef.graphicStyles.removeAll()ซึ่งจะนำไปสู่การลบสี สัญลักษณ์ ฯลฯ ทั้งหมด และไม่ใช่แค่สีที่ไม่ได้ใช้ซึ่งไม่สามารถถือเป็นวิธีแก้ปัญหาที่ดีที่สุดได้ คุณสามารถลบองค์ประกอบกราฟิกที่ไม่จำเป็นออกได้ทีละรายการ แต่จะต้องใช้เวลาและความพยายามมาก ต้องขอบคุณมาโคร Delete Unused Palette Items การดำเนินการที่เราต้องการจะดำเนินการภายในไม่กี่วินาที ดังนั้นเราจะมุ่งเน้นไปที่การรวมสคริปต์และมาโคร

เปิดจานสี การดำเนินการ(มาโคร) โดยใช้คำสั่ง หน้าต่าง=>การกระทำ(Window=>การกระทำ) และสร้างชุดการกระทำใหม่โดยคลิกที่ปุ่ม สร้างชุดใหม่(สร้างชุดใหม่) ซึ่งอยู่ที่ด้านล่างของจานสี เลือกมาโคร ลบรายการ Palette ที่ไม่ได้ใช้ให้ทำซ้ำด้วยคำสั่ง ทำซ้ำ(ทำซ้ำ) แล้วลากการดำเนินการซ้ำไปยังชุดมาโครที่สร้างขึ้น ตอนนี้คุณต้องเสริมมาโครด้วยการดำเนินการบันทึกไฟล์ในรูปแบบ EPS สคริปต์ที่สร้างขึ้นเป็นพิเศษจะรับผิดชอบการดำเนินการนี้ บันทึกเป็นEPS(รูปที่ 31) เราจะบันทึกไฟล์ภายใต้ชื่อเดิมในโฟลเดอร์ C:/อุณหภูมิ/.

ดูเหมือนจะสมเหตุสมผลกว่าที่จะเปิดตัวสคริปต์เป็นมาโครตัวที่สองในชุดการกระทำที่สร้างขึ้น แต่จะไม่สะดวกสำหรับการประมวลผลไฟล์เพิ่มเติม ความจริงก็คือในโหมดแบตช์คุณสามารถเรียกใช้มาโครได้เพียงตัวเดียวเท่านั้น ดังนั้นเพื่อให้การดำเนินการประมวลผลไฟล์ดำเนินการในขั้นตอนเดียว ให้เสริมแมโคร Delete Unused Palette Items โดยการเรียกใช้สคริปต์และเปลี่ยนชื่อของมาโคร การรันสคริปต์สามารถรวมอยู่ในชุดโดยใช้คำสั่ง แทรกรายการเมนูเมนู (แทรกรายการเมนู) ของแผงการดำเนินการโดยระบุคำสั่งในหน้าต่างที่เปิดขึ้น ไฟล์=>สคริปต์=>บันทึกเป็นEPS(ไฟล์=>สคริปต์=>บันทึกเป็น EPS) ดังรูป 32.

เพื่อเรียกใช้แมโครที่สร้างขึ้นในโหมดแบตช์จากเมนูจานสี การดำเนินการเปิดคำสั่ง แบทช์(การประมวลผลเป็นชุด) ในกล่องโต้ตอบที่เปิดขึ้น ให้เลือกชุดของแมโครในรายการ ชุด(ตั้งค่า) จากนั้นจึงเลือกมาโครที่ต้องการในรายการ การกระทำ(การกระทำ). ถัดไปในรายการ แหล่งที่มา(ที่มา) ตั้งค่าตัวเลือก โฟลเดอร์(โฟลเดอร์) ให้คลิกปุ่ม เลือก(เลือก) และระบุโฟลเดอร์ต้นทางที่สร้างไว้ก่อนหน้านี้ ในรายการ ปลายทาง(ตัวรับ) เลือกตัวเลือก บันทึกและปิด(บันทึกและปิด) (รูปที่ 33) แล้วคลิกที่ปุ่ม OK ผลลัพธ์จะเป็นลักษณะที่ปรากฏของไฟล์ที่ลดลงในโฟลเดอร์ C:/อุณหภูมิ/ทั้งหมดจะอยู่ในรูปแบบ EPS

ที่นี่ฉันต้องการสร้างรายการสคริปต์ที่มีโครงสร้างพร้อมคำอธิบายและลิงก์การทำงาน หากคุณต้องการแนะนำสคริปต์ที่น่าสนใจเขียนในความคิดเห็น
อัปเดตเมื่อวันที่ 24-10-2559
อัปเดตแล้ว
อัปเดตแล้ว

การแก้ไขส่วนโค้ง

ปัดส่วนโค้งที่วาดด้วยมือออก


เพิ่มลูกศรรูปสามเหลี่ยมที่ปลายเส้นทาง


เพิ่มลูกศรที่ส่วนท้ายของเส้นทาง

ปรับเส้นประ (ออฟเซ็ต)


ทำให้เส้นประมีความสมมาตร

ปรับขีดกลาง


เติมเต็มสคริปต์ก่อนหน้า ทำให้บรรทัดมีความยาวเท่ากัน

เกลียวอาร์คิมีดีน


วาดเกลียวอาร์คิมีดีน
การตั้งค่ามีอยู่ในสคริปต์
var radius_increase = 5; // การเพิ่มรัศมีต่อรอบ (จุด)
var uzu_angle = 15/180 * mpi; // หน่วยของมุมการปัดเศษ (เรเดียน)
var uzu_roundtime = 10; // การปัดเศษครั้ง


วาดวงกลมจากจำนวนจุดที่ระบุ ในภาพมีวงกลม 2 วง ประกอบด้วยจุด 10 และ 2 จุด


ร่างวัตถุโดยใช้วงกลม

แทนเจนต์ทั่วไป


ค้นหาจุดใกล้กับเส้นขอบและเชื่อมต่อกับเส้น

ตัดที่พุกที่เลือก


ตัดเส้นชั้นความสูงทีละจุด

เต้นรำ


สร้างคนเต้นบนเลเยอร์ใหม่

แบ่ง (ความยาว)


เพิ่มจำนวนจุดที่คุณเลือกระหว่างจุดที่มีอยู่

ทำซ้ำที่จุดยึดที่เลือก


คัดลอกวัตถุด้านบนเหนือจุด สามารถใช้ปากกาทำจุดได้ หรือใช้จุดที่มีรูปร่างใดก็ได้

ขยายที่จับ


ปรับขนาดเลเวอเรจตามเปอร์เซ็นต์ที่ระบุ

เข้าร่วมอย่างสมเหตุสมผล


ปิดเส้นทางที่เปิดอยู่ที่เลือกไว้ในวัตถุเดียว

รวมจุดยึดที่ทับซ้อนกัน

เมื่อจุดซ้อนทับกันจะมองเห็นได้ยาก สคริปต์นี้จะล้างเส้นทางของจุดที่ทับซ้อนกันโดยการเชื่อมต่อเข้าด้วยกัน

เมต้าบอล (อาร์ค)



เผาผลาญวัตถุ เชื่อมต่อวัตถุด้วยส่วนโค้ง คุณสามารถกำหนดระดับความโค้งได้

ความยาวเส้นทาง


เพิ่มข้อความตามความยาวของเส้นทางที่เลือก

ลบจุดยึด

ลบจุดที่เลือกโดยไม่ทำลายเส้นทาง วิธีลบจุด ลบ Anchor Point Tool


หากเมื่อสร้างการผสมผสาน หากศูนย์กลางของการเปลี่ยนแปลงแคบลง คุณจะต้องเปลี่ยนทิศทางของเส้นทางใดเส้นทางหนึ่ง สคริปต์นี้เปลี่ยนทิศทางของเส้นทางโดยไม่เปลี่ยนรูปลักษณ์

ปัดเศษมุมใดก็ได้


ปัดเศษมุมโดยระบุรัศมีในหน่วยใดก็ได้ สะดวกในการตั้งค่ามุมทั้งหมดให้ปัดเศษหนึ่งระดับ คุณสามารถดำเนินการทางคณิตศาสตร์กับมุมที่สร้างขึ้นได้ ตัวอย่างเช่น หารองศาด้วย 2 หรือบวก 10 องศากับทุกมุม

เส้นโค้งไซน์


วาดคลื่นไซน์ ในภาพมี 2 คลื่น อันแรกคือฟิลเตอร์ Illustrator ส่วนอันที่สองสร้างโดยสคริปต์

แทนเจนต์จากจุดหนึ่ง


ลากเส้นจากจุดไปตามวัตถุสัมผัสกัน

เหมือนต้นไม้


สร้างต้นไม้ที่ค่อนข้างสมจริง บางครั้งคุณจะต้องแก้ไขลำต้นและปัดปลายกิ่งโดยตั้งค่าการปัดเศษปลายในจานสี "Stroke"

เชื่อมต่อศูนย์


ลากเส้นผ่านจุดศูนย์กลางทางเรขาคณิตของวัตถุและปิดเส้นทางที่วัตถุเริ่มต้น

แก้ไขตัวอย่างต้นไม้


วาดต้นไม้แฟร็กทัล
- ไม่มีการสุ่ม
- ด้วยการสุ่ม

สวัสดีทอมสค์

ในคอลเลกชันนี้ คุณจะพบกับสคริปต์ที่มีประโยชน์ 10 สคริปต์สำหรับ Adobe Illustrator สคริปต์เหล่านี้ไม่มีค่าใช้จ่ายใด ๆ ทั้งสิ้น ลิงค์ทั้งหมดอยู่ในชื่อของสคริปต์ หากไม่ต้องการดาวน์โหลดสคริปต์จากลิงก์ แต่โค้ดเปิดในเบราว์เซอร์ของคุณแทน ให้ทำอย่างนั้น คลิกขวา > บันทึกลิงก์เป็นและบันทึกสคริปต์ลงในคอมพิวเตอร์ของคุณ

การพูดนอกเรื่องโคลงสั้น ๆ เล็กน้อยสำหรับผู้ที่ไม่เคยพบสคริปต์ใน Illustrator มาก่อน สคริปต์คือโปรแกรมที่สามารถเปิดได้ใน Adobe Illustrator ผ่านเมนู ไฟล์ > สคริปต์- สคริปต์จะดำเนินการบางอย่างที่เป็นประโยชน์อย่างรวดเร็วและอัตโนมัติเพื่อให้เหมาะกับโปรแกรมอื่นๆ นั่นคือเหตุผลที่สคริปต์กลายเป็นผู้ช่วยที่สำคัญสำหรับไมโครสต็อกเกอร์ เนื่องจากงานของเรามีกิจวัตรที่มากเกินพอ

สคริปต์ Adobe Illustrator ด้านล่างนี้ช่วยนักออกแบบในงานที่หลากหลาย เริ่มต้นจากการเตรียมไฟล์เวกเตอร์สำหรับไมโครสต็อก และปิดท้ายด้วยการเขียนดอกไม้ แต่หากยังไม่เพียงพอสำหรับคุณ ในตอนท้ายของบทความจะมีลิงก์ไปยังสคริปต์อื่น ๆ ทั้งหมด

หากต้องการติดตั้งสคริปต์บน Illustrator คุณต้องคัดลอกไฟล์สคริปต์ไปยังโฟลเดอร์ที่มีสคริปต์มาตรฐาน มองหาตำแหน่งที่ติดตั้งนักวาดภาพประกอบของคุณ

สำหรับ Windows โดยปกติจะเป็น: ไดรฟ์ C > ไฟล์โปรแกรม > Adobe > โฟลเดอร์ที่มี Adobe Illustrator เวอร์ชันของคุณ > Styles (Presets) > en_GB หรือ RU (คุณไม่ควรพลาดโฟลเดอร์ใดโฟลเดอร์หนึ่ง) > สคริปต์.

สำหรับ Mac: แอปพลิเคชัน > Adobe > Adobe Illustrator เวอร์ชันของคุณ > ค่าที่ตั้งล่วงหน้า > en_GB > สคริปต์.

หากไม่พบโฟลเดอร์มาตรฐาน ก็สามารถเรียกใช้สคริปต์ใน Illustrator ได้โดยไม่ต้องติดตั้งผ่าน ไฟล์ > สคริปต์ > สคริปต์อื่นๆ (Ctrl+F12).

งั้นไปกัน!

สคริปต์ค้นหาและแก้ไขข้อผิดพลาดที่ไม่ได้รับอนุญาตบนไมโครสต็อก ไฟล์เวกเตอร์จะถูกสแกนโดยอัตโนมัติ: สคริปต์จะค้นหาเส้นทางที่เปิด, เส้นทางโกสต์, แปรงที่ยังไม่ได้ประกอบ, สัญลักษณ์, แรสเตอร์ ฯลฯ ในระหว่างนี้ สคริปต์จะเสนอให้แก้ไขข้อผิดพลาดเหล่านี้ทันที คุณสามารถดาวน์โหลด Free Stock Master ได้ฟรีที่ MAI Tools

เมื่อใช้สคริปต์นี้ คุณสามารถเลือกตรวจสอบการมีอยู่ของวัตถุบางอย่างในไฟล์เวกเตอร์ได้ ตัวอย่างเช่น ค้นหาเส้นทางที่เปิดอยู่ แรสเตอร์ ฯลฯ คุณสามารถดาวน์โหลดสคริปต์ได้ที่ Arid Ocean ปุ่มสีเขียวเล็กๆ ExtendedSelect.zip อยู่ที่ด้านบนสุด

สคริปต์นี้จะเปิด PDF หลายหน้าอย่างครบถ้วน ไม่ใช่เปิดทีละหน้า ตามปกติใน Illustrator ในหน้าต่างสคริปต์ เราจะระบุเส้นทางไปยังไฟล์ PDF จำนวนหน้า และจะเปิดในเอกสารเดียวบนอาร์ตบอร์ดหลายอัน

สคริปต์จะจัดแนววัตถุที่เลือกเข้ากับตารางพิกเซล ทำงานคล้ายกับตัวเลือก Align to Pixel Grid

สคริปต์จะเปลี่ยนวัตถุที่เลือกกลับด้านในออกเพื่อให้ดูเหมือนดอกไม้หรือลวดลาย

สคริปต์ลากเส้นจากมุมหนึ่งไปอีกมุมหนึ่งของภาพ ผลลัพธ์ที่ได้คือลวดลายเรขาคณิตและรูปสัญลักษณ์

สคริปต์บิดโหนดจากวัตถุ ส่งผลให้เกิดรูปแบบที่น่าสนใจ สคริปต์มีการตั้งค่าที่สะดวกซึ่งนำไปใช้กับรูปร่างที่เลือกทันที คุณสามารถดูสิ่งที่เกิดขึ้นในพื้นที่ทำงานได้ทันที

สคริปต์จะเปลี่ยนตำแหน่งของเส้นและจุดเพื่อให้การวาดภาพที่ถูกต้องทางเรขาคณิตมีชีวิตชีวามากขึ้น หรือเบี้ยวแต่ก็เหมือนเล่นกับการตั้งค่า

สคริปต์สร้างคอลัมน์คู่จากข้อความบรรทัดเดียวแต่ละบรรทัด เช่นเดียวกับบนโปสเตอร์