Adobe Illustrator มีเครื่องมือและคุณสมบัติมากมายที่จะนำความคิดไปใช้ แต่ถึงแม้จะมีความเป็นไปได้มากมายในคลังแสงมันก็จะพลาดบางสิ่งไป บนอินเทอร์เน็ตคุณสามารถค้นหาสคริปต์และปลั๊กอินต่างๆมากมายสำหรับ Adobe Illustrator ซึ่งเป็นการขยายการทำงานของมัน หากไม่มีสิ่งเหล่านี้ Adobe Illustrator อาจไม่สามารถรับมือกับงานบางอย่างหรือเพิ่มงานพิเศษให้กับศิลปิน ดังนั้นวันนี้เราจะพิจารณาสักหน่อย สคริปต์ที่มีประโยชน์และฟรีสำหรับ Adobe Illustrator.
การติดตั้งสคริปต์
เพื่อให้สคริปต์ทำงานใน Adobe Illustrator เราต้องวางสคริปต์ไว้ในโฟลเดอร์ Scripts ซึ่งอยู่ในไดเรกทอรี Adobe Illustrator ในกรณีของฉันมันคือ ... / Adobe / Adobe_Illustrator_CS5 / Presets / en_GB / สคริปต์ หากคุณใช้โปรแกรมรุ่นก่อนหน้าแทนที่จะเป็น Adobe_Illustrator_CS5 ในกรณีของคุณอาจมี Adobe_Illustrator_CS4, Adobe_Illustrator_CS3 เป็นต้น
หากคุณดาวน์โหลดสคริปต์ที่ถูกบีบอัดลงในไฟล์เก็บถาวรอย่าลืมแกะมันออกมา หลังจากการติดตั้งคุณต้องรีสตาร์ท Adobe Illustrator
สคริปต์ที่มีอยู่สามารถพบได้ในแท็บไฟล์ในเมนูย่อยของสคริปต์
เลือกเส้นทางที่เปิด
สคริปต์นี้จะค้นหาและเลือกรูปร่างทั้งหมดด้วยเส้นทางที่เปิด สคริปต์นี้จะมีประโยชน์เมื่อสร้างเวกเตอร์สำหรับ microstock เพราะ ลูปปิดเป็นหนึ่งในเกณฑ์สำหรับการยอมรับงานของคุณในฐานข้อมูล microstock
ปิดเส้นทางทั้งหมด / ปิดเส้นทางที่เลือกทั้งหมด
สคริปต์นี้ปิดเค้าร่างสำหรับรูปร่างทั้งหมดหรือรูปร่างที่เลือก ตัวอย่างเช่นหลังจากค้นหาวงจรเปิดโดยใช้ Select Open Path คุณสามารถปิดได้
Devide กรอบข้อความ
การใช้สคริปต์นี้คุณสามารถแบ่งฟิลด์ข้อความเดียวออกเป็นฟิลด์เล็ก ๆ โดยการเปลี่ยนเป็นบรรทัดใหม่เป็นที่ของการแยก
เข้าร่วมกรอบข้อความ
สคริปต์นี้จะรวมหลายฟิลด์ข้อความเป็นหนึ่งเดียว
Fleurify
ขอบคุณสคริปต์นี้ตัวเลขจะถูกตกแต่งด้วยเส้นโค้งดอกไม้ที่สวยงาม
Metaball
หลังจากใช้สคริปต์นี้รูปร่างที่เรียบง่ายหลายอย่างจะเปลี่ยนเป็นรูปร่างที่ซับซ้อนมากขึ้น
CMYK ถึง Pantone v. 2
สคริปต์นี้แปลงโหมดสี CMYK เป็น Pantone
วงกลม
ขอบคุณสคริปต์นี้คุณสามารถสร้างรูปร่างวงกลมที่มีจำนวนจุดที่ต้องการได้
ลบจุดยึด
สคริปต์นี้จะลบจุดที่เลือกในรูป
ปัดเศษมุมใดก็ได้
หลังจากใช้สคริปต์นี้มุมที่แหลมคมของรูปร่างจะถูกแปลงเป็นโค้งมน
สลับวัตถุ
สคริปต์นี้จะให้คุณสมบัติหนึ่งของวัตถุที่สองและที่สอง - คุณสมบัติของที่หนึ่ง เนื่องจากคุณสมบัติจะใช้ขนาดและตำแหน่งของเวิร์กสเปซ
เลือกเส้นทางตามขนาด
ปลั๊กอินจะช่วยให้คุณค้นหาตัวเลขที่มีขนาดที่แน่นอน
โดยทั่วไปเมื่อพูดถึงโปรแกรมสำหรับนักออกแบบสิ่งสำคัญอันดับแรกคือความเป็นไปได้ทางศิลปะของแอพพลิเคชั่น - เครื่องมือวาดภาพฟิลเตอร์และอื่น ๆ แต่ในชีวิตประจำวันคุณต้องรับมือกับงานประจำ โชคดีที่ซอฟต์แวร์จาก Adobe (รวมถึง Illustrator) เริ่มให้การสนับสนุนการเขียนสคริปต์ (สคริปต์) ทำให้คุณสามารถเปลี่ยนงานที่ซ้ำซากจำเจบนไหล่ของเครื่อง และคุณไม่ได้ทำงานใน Illustrator อีกต่อไป - คุณจัดการมันและสิ่งนี้ตามที่พวกเขาพูดใน Odessa มันมีความแตกต่างใหญ่สองอย่าง!
ด้วยความตระหนักว่าผู้ใช้ Illustrator ส่วนใหญ่เป็นศิลปินและนักออกแบบที่ไม่ได้พบกับการเขียนโปรแกรมฉันจะพยายามสร้างภาพรวมของฟังก์ชันการเขียนสคริปต์เพื่อให้ผู้อ่านไม่ได้รับความประทับใจว่าบทเรียนนี้ต้องการความคิด "พิเศษ" และการศึกษาพิเศษเป็นเวลานาน ในเวลาเดียวกันฉันขอโทษผู้เชี่ยวชาญเพื่อความเรียบง่ายในการใช้ถ้อยคำเพื่อความพร้อมของวัสดุ ผู้เขียนเองเคยอยู่ในสถานการณ์ที่คล้ายคลึงกันและในตอนแรกไม่ได้พิจารณาทรงกลมนี้สังฆมณฑลของเขา แต่ฉันใช้เวลาศึกษาน้อยกว่าสองสัปดาห์และตอนนี้ฉันยืนยันว่า: การมีความเข้าใจในการเขียนโปรแกรมน้อยที่สุดสคริปต์การเรียนรู้เป็นงานที่เป็นไปได้อย่างสมบูรณ์แบบ
สคริปต์สำหรับ Illustrator สามารถเขียนได้ทุกภาษา: JavaScript, Visual Basic (Windows) และ AppleScript (Mac OS) เนื่องจากผู้อ่านส่วนใหญ่คุ้นเคยกับหน้าแรก (นักออกแบบจำนวนมากสำหรับการพิมพ์ประสบความสำเร็จในการจัดการกับการสร้างหน้าอินเทอร์เน็ตที่ใช้) เราจะพึ่งพา นอกจากนี้ JavaScript เป็นแพลตฟอร์มอิสระ: สคริปต์ที่เขียนบนมันจะทำงานได้ทั้งในระบบปฏิบัติการ - Windows และ Mac OS วิธีการเข้าถึงองค์ประกอบนั้นเป็นแบบเชิงวัตถุ: เพื่อค้นหาความหนาของเส้นขอบขององค์ประกอบเวกเตอร์ที่สองในชั้นแรกคุณต้องเขียนโครงสร้างต่อไปนี้:
app.activeDocument.Layer.pathItems.strokeWidth
สิ่งนี้สามารถตีความได้ดังนี้: ก่อนวัตถุระดับสูงสุดในลำดับชั้นของ Illustrator จะถูกระบุ (แอพเป็นแอพพลิเคชั่นสั้น ๆ สำหรับแอพพลิเคชั่น) จากนั้นการเลือกจะค่อยๆแคบลงไปที่องค์ประกอบเฉพาะ วัตถุและค้นหาความหนาของเส้นขอบ) วิธีการเข้าถึงองค์ประกอบดังกล่าวสะดวกมากเพราะช่วยให้คุณสามารถสำรวจประเภทต่างๆที่มีอยู่ในตัวแก้ไขได้อย่างง่ายดาย รูปแบบความสัมพันธ์ที่สมบูรณ์สามารถพบได้ในคำอธิบายที่เขียนได้ดี (รวมอยู่ใน Illustartor)
วงเล็บเหลี่ยมระบุว่าองค์ประกอบนั้นเป็นส่วนหนึ่งของอาร์เรย์ อาร์เรย์คือชุดของวัตถุต่าง ๆ ที่รวมกันโดยแอตทริบิวต์ที่แน่นอน ตัวอย่างเช่นเลเยอร์ pathItems, RasterItems, GroupItems, Selection เป็นต้นเป็นอาร์เรย์ที่ประกอบด้วยวัตถุประเภทเดียวกัน (ชั้นเอกสารเส้นทางเวกเตอร์ภาพแรสเตอร์กลุ่ม ฯลฯ ) ในวงเล็บระบุดัชนี (หมายเลขซีเรียล) ขององค์ประกอบที่จำเป็นในอาร์เรย์ ดังนั้นรายการเลเยอร์หมายถึงเลเยอร์แรกเนื่องจากดัชนีแรกจะเป็น“ 0” เสมอ
วัตถุยังสามารถเข้าถึงได้โดยชื่อเลเยอร์ [“ แผนภูมิ”] ในการทำเช่นนี้องค์ประกอบจะต้องตั้งชื่ออย่างชัดเจน - ด้วยตนเองโดยใช้จานสีของเลเยอร์ (ดับเบิลคลิกที่ชื่อของวัตถุเพื่อเปิดหน้าต่างที่มีคุณสมบัติ) หรือจากสคริปต์ เพื่อไม่ให้เขียนคำสั่งที่ยุ่งยากในแต่ละครั้งที่มีรายการ“ สายเลือด” ทั้งหมดให้ใช้การอ้างอิง:
pI \u003d activeDocument.Layer.pathItems;
จากนั้นส่วนรหัสด้านบนจะมีลักษณะดังนี้: pI.strokeWidth
ไม่อนุญาตให้อ้างถึงเลเยอร์เป็นวัตถุทุกครั้งหากการดำเนินการทั้งหมดเกิดขึ้นในเลเยอร์ที่ใช้งานอยู่เดิม และโปรดทราบว่าชื่อของตัวแปรมีกรณี: ถ้าคุณเขียน pI เป็นครั้งแรกและ pi สำหรับที่สองจากนั้นสคริปต์จะโยนข้อผิดพลาดและจะไม่ทำงาน
ในแบบจำลองเชิงวัตถุมี: แอพพลิเคชั่นตัวเองคลาส (ประเภทของวัตถุหรือใช้แนวคิดที่คุ้นเคยมากขึ้นคำนาม: เลเยอร์วัตถุเวกเตอร์กลุ่ม ฯลฯ ) วิธีการ (วิธีการโต้ตอบกับพวกเขา - คำกริยา: ย้ายคำซ้ำและ ฯลฯ ) และคุณสมบัติ (คำคุณศัพท์: strokeWidth, fillColor, select, ฯลฯ ) เพื่อให้ง่ายต่อการนำทางลองนึกภาพว่าแอปพลิเคชันเป็นบ้านที่มีวัตถุต่าง ๆ - อนาล็อกของคลาส (หน้าต่างประตู) ที่มีคุณสมบัติบางอย่าง (พลาสติกไม้) ที่พวกเขาดำเนินการบางอย่าง - วิธีการ (เปิดปิด) การทำความเข้าใจสาระสำคัญของลำดับชั้นนั้นมันง่ายกว่าที่จะเข้าใจการเขียนสคริปต์
ในระดับสูงสุดคือแอปพลิเคชันและแท้จริงตามกฎการอยู่ใต้บังคับบัญชาของวัตถุก็จะต้องมีการระบุในการกระทำใด ๆ เพื่อให้ง่ายขึ้นลิงก์ไปยังแอปพลิเคชันสามารถละเว้นได้ - ยกเว้นในกรณีที่คุณจำเป็นต้องรู้คุณสมบัติบางอย่าง (ตัวอย่างเช่นแบบอักษรที่มี - app.fonts)
คลาส Layer, Group, Text สามารถมีออบเจ็กต์ของคลาสเดียวกันซึ่งสามารถมีลูกได้ คุณสมบัติที่มีประโยชน์ของวิธีการวัตถุคือ มรดก สรรพคุณ ดังนั้นเส้นทางเวกเตอร์ทั้งหมด (pathItems) เป็นลูกขององค์ประกอบระดับหน้าทั่วไป (pageItems) ดังนั้นโดยการกำหนดคุณสมบัติบางอย่างให้กับ pageItems เราจะกำหนดและ pathItems โดยอัตโนมัติ
แม้จะมีความคล้ายคลึงกัน แต่เลเยอร์และเลเยอร์คลาสยังคงแตกต่าง แรกคือชุดของเลเยอร์ทั้งหมดในเอกสารที่สองเป็นเพียงบางอย่างที่เฉพาะเจาะจงและวิธีการและคุณสมบัติของพวกเขาแตกต่างกัน คุณสามารถใช้วิธีเพิ่ม, ลบทั้งหมดกับวิธีแรกและวิธีที่สองคือการดำเนินการทั้งหมดที่มีสำหรับเลเยอร์แยกต่างหาก วัตถุนั้นถูกเข้าถึงเป็นองค์ประกอบของอาร์เรย์ที่สอดคล้องกัน - ในกรณีของเราผ่านเลเยอร์เลเยอร์ ฯลฯ
องค์ประกอบที่เลือกสอดคล้องกับคลาสแยก - การเลือกซึ่งเป็นอาร์เรย์ (กลุ่มของวัตถุสามารถเลือกได้) ในบัญชีพิเศษใน Illustrator จะมีคลาส pluginItems, Colors, Views ข้อแรกมีข้อ จำกัด มากมายที่เกี่ยวข้องกับความจริงที่ว่าวัตถุประเภทนี้ไม่ได้เป็นของ Illustrator เหล่านี้รวมถึงองค์ประกอบผสมผสาน, ซองจดหมาย, ตาข่ายและที่คล้ายกัน เราจะพิจารณาคุณสมบัติของส่วนที่เหลือตามที่ใช้งาน
เพื่อให้สคริปต์สามารถ "มองเห็นได้" จะถูกวางไว้ในโฟลเดอร์ Presets.Scripts ที่อยู่ในตำแหน่งที่ติดตั้งแอปพลิเคชัน เราจะพิจารณาตัวอย่างจริง (สิ่งนี้จะรู้สึกได้ถึงประโยชน์ของสคริปต์ในทันที) และเขียนไว้ใน Illustrator CS เนื่องจากสคริปต์มีความยืดหยุ่นมากกว่ารุ่นก่อนหน้า
ตัวอย่างที่ 1: การรวมวัตถุ
เริ่มจากสิ่งที่ง่ายที่สุด - เราจะเขียนสคริปต์เชื่อมต่อสายของวัตถุรองลงไปที่วัตถุหลัก (เป็นงานที่ต้องทำบ่อยครั้งเมื่อสร้างผังงานเอกสารทางเทคนิคและงานที่คล้ายกัน) และเราจะสัมผัสกับปัญหาพื้นฐานเช่นการทำงานกับวัตถุที่เลือกการสร้างเลเยอร์ใหม่การวางวัตถุการเปลี่ยนลำดับการสร้างและรวมถึงส่วนโค้งในเส้นทางผสม
การทำงานกับเอกสารดังกล่าวเกี่ยวข้องกับการใช้สัญลักษณ์ (สัญลักษณ์) อย่างกว้างขวาง - การเปลี่ยนแปลงแก้ไขจะอัปเดตสำเนาที่สร้างขึ้นทั้งหมดโดยอัตโนมัติ อย่างไรก็ตาม Illustrator ทำงานได้ไม่ถูกต้องกับองค์ประกอบดังกล่าว: มันเกิดขึ้นที่ไม่ได้อ่านชื่อของวัตถุที่เป็นสำเนาของตัวละคร ดังนั้นการเลือกตามชื่อจึงไม่สามารถทำได้ การประมวลผลองค์ประกอบทั้งหมดของประเภทนี้ในเลเยอร์ปัจจุบันไม่ได้ใช้งานจริง ด้วยเหตุนี้ฉันจึงเอนตัวเลือกอื่นซึ่งคุณต้องเลือกวัตถุที่ต้องการก่อน (วิธีที่ง่ายที่สุดคือเลือกอักขระหนึ่งตัวและค้นหาสำเนาผ่านคำสั่ง Select.Same Instances) จากนั้นเลือกองค์ประกอบอ้างอิงที่จะเชื่อมต่อ
ดังนั้นเราไปกันเลย เพื่อย่อให้สั้นลงเราแนะนำตัวแปร sel ซึ่งเราจะอ้างถึงเมื่อเราจำเป็นต้องดำเนินการใด ๆ กับวัตถุที่เลือก จากนั้นเราจะตรวจสอบว่ามีองค์ประกอบกี่รายการที่เลือก (แม้ว่าอักขระที่เลือกของข้อความจะเป็นของอาร์เรย์การเลือกเราจะไม่ตรวจสอบว่าไม่มีการเลือกข้อความที่เลือก) เขียนว่า (sel.length<2) означает, что мы сравниваем значение length (количество объектов класса sel) с двойкой — минимальным количеством для работы сценария. Если выделенных элементов меньше, будут выполняться действия, заключённые в первые идущие за оператором if фигурные скобки, иначе — идущие после else. При этом логично предусмотреть выдачу сообщения, чтобы сориентироваться в ситуации и понять, что нужно сделать.
sel \u003d activeDocument.selection
ถ้า (sel.length<2) {br> การแจ้งเตือน (“ มีวัตถุไม่เพียงพอที่จะดำเนินการต่อ! \\ n เลือกอย่างน้อย 2 วัตถุและวัตถุสุดท้าย!”))
อื่น (
Alert เป็นฟังก์ชั่น JavaScript มาตรฐานที่แสดงหน้าต่างพร้อมข้อความที่ระบุและปุ่มตกลง "\\ N" หมายถึงไปที่บรรทัดใหม่และใช้เพื่อทำให้หน้าต่างมีขนาดเล็ก ข้อความที่แสดงในหน้าต่างจะต้องอยู่ในเครื่องหมายคำพูด
ขั้นตอนการเตรียมการ
รับพิกัดของศูนย์กลางของวัตถุอ้างอิง เนื่องจากเราเห็นด้วยว่าเขาเป็นคนที่สูงที่สุดจำนวนของเขา (ดัชนี) คือ“ 0” (sel) ในการคำนวณพิกัดเราจะใช้คุณสมบัติของวัตถุเช่นตำแหน่ง (ตำแหน่ง) ความกว้างและความสูง (ความสูงและความกว้าง) ค่าตำแหน่งจะถูกเก็บไว้ในอาร์เรย์ที่ประกอบด้วยคู่ของค่า - พิกัดตามแกน X และ Y ตามลำดับ ดังนั้นทุกคนจะต้องได้รับการระบุตำแหน่งและตำแหน่ง
refObj_x \u003d sel.position + (sel.width / 2);
refObj_y \u003d sel.position - (sel.height / 2);
เราได้พิกัดของศูนย์กลางของวัตถุอ้างอิงและกำหนดให้กับตัวแปรสองตัวสำหรับการใช้งานเพิ่มเติม บรรทัดที่สองมีเครื่องหมาย“ -” เนื่องจาก Illustrator ยอมรับมุมซ้ายล่างของเอกสารเป็นจุดอ้างอิงและตำแหน่งให้พิกัดของมุมซ้ายบนขององค์ประกอบ
เนื่องจากความสะดวกสบายมีบทบาทสำคัญเมื่อทำงานกับเอกสารเราจะตรวจสอบให้แน่ใจว่าบรรทัดที่สร้างขึ้นนั้นอยู่ในชั้นที่แยกต่างหาก - โครงสร้างดังกล่าวจะช่วยรักษาลำดับในรูปแบบของความซับซ้อนที่แตกต่างกัน
สร้างเลเยอร์ใหม่ - มันเช่นเดียวกับองค์ประกอบ Illustrator ใด ๆ ที่ถูกสร้างขึ้นโดยวิธีการเพิ่ม () นำไปใช้กับชั้นของวัตถุที่สอดคล้องกัน ในวงเล็บคุณสามารถระบุพารามิเตอร์ของการกระทำ: ระบุวัตถุปลายทาง (ตัวอย่างเช่นเลเยอร์หรือเอกสารใหม่รวมถึงตำแหน่งที่ปลายทาง) ซึ่งแตกต่างจากวิธีการส่วนใหญ่ไม่มีพารามิเตอร์เพิ่มเติมไว้สำหรับการเพิ่มดังนั้นเพื่อถ่ายโอนไปยังระดับสูงสุดเราจะใช้วิธีพิเศษ - zOrder ซึ่งเราจะระบุ BRINGTOFRONT เป็นพารามิเตอร์ (ค่าคงตัวที่สงวนไว้ซึ่งเป็นรายการทั้งหมดที่ระบุไว้ในเอกสาร) ตามหลักการแล้วหากเอกสารมีเพียงเลเยอร์เดียวก็ไม่จำเป็นต้องระบุตำแหน่งของเลเยอร์ใหม่โดยเฉพาะเนื่องจาก Illustrator จะวางเอกสารไว้เหนือชั้นปัจจุบัน หากวัตถุที่จะเชื่อมต่อไม่ได้อยู่ในระดับสูงสุดจะต้องใช้บรรทัดที่สอง
newlayer \u003d activeDocument.layers.add ();
newlayer.ZOrder (ZOrderMethod.BRINGTOFRONT);
บรรทัดแรกสามารถอ่านได้ดังนี้สร้างองค์ประกอบใหม่โดยการเพิ่ม (เพิ่ม) จำนวนวัตถุประเภทที่ต้องการ (เลเยอร์) และกำหนดลิงค์ไปยังองค์ประกอบที่สร้างขึ้นใหม่ให้กับตัวแปร newlayer ในตอนแรกเลเยอร์นั้นว่างเปล่าเพราะยังไม่มีสิ่งใดวางอยู่ เพื่อให้การวางแนวง่ายขึ้นในเค้าโครงที่ซับซ้อนให้เลเยอร์ชื่อ "ตัวเชื่อมต่อ" (โดยวิธีการชื่อ) - อย่างที่คุณเห็นชื่อของวิธีการที่ระบุการกระทำที่ชัดเจน
newlayer.name \u003d“ ตัวเชื่อมต่อ”;
เพื่อจุดประสงค์ด้านการศึกษาเราจะสร้างไม่แยกบรรทัด แต่รวมเป็นวัตถุประเภทเส้นทางแบบผสมเพื่อความสะดวกในการแก้ไข การสร้างออบเจ็กต์นั้นซ้ำกับโพรซีเดอร์ที่รู้จักกันแล้วคราวนี้นำไปใช้กับคลาส
newCompoundPath \u003d activeDocument.compoundPathItems.add ();
เนื่องจากในขั้นตอนสุดท้ายเราสร้างเลเยอร์ใหม่มันจึงแอ็คทีฟ - ดังนั้นวัตถุที่สร้างจะตั้งอยู่บนมันและไม่จำเป็นต้องระบุมันโดยเฉพาะ (activeDocument.newlayer)
การกำหนดพิกัดขององค์ประกอบย่อย
เรารวมกระบวนการนี้กับเอาท์พุทของสายเชื่อมต่อด้วยตนเองเนื่องจากหมายเลขของพวกเขาควรสอดคล้องกับจำนวนวัตถุ ในทางกลับกันเราเริ่มเรียงลำดับองค์ประกอบที่เลือกทั้งหมด (“ i ++” หมายถึงการเพิ่มขึ้นทีละรายการ) และอ่านพิกัด เราจะเริ่มการค้นหาไม่ใช่จากวัตถุแรกสุดจากอาร์เรย์การเลือก (ตามที่คุณจำได้วัตถุอ้างอิงจะทำหน้าที่เหมือนมัน) แต่เริ่มจากการค้นหาที่สอง บรรทัดต่อไปนี้เราคุ้นเคยแล้ว:
สำหรับ (i \u003d 1; i< sel.length; i++) {
obj_x \u003d sel [i] .position + sel [i] .width
obj_y \u003d sel [i] .position - sel [i] .height
เมื่อได้รับพิกัดของศูนย์กลางของเด็ก ๆ แล้วเราจะสร้างเส้นเชื่อมต่อกับการอ้างอิง สำหรับแต่ละองค์ประกอบที่เลือกให้สร้างวัตถุใหม่ - เส้นทางเวกเตอร์ที่รวมอยู่ในคลาส CompoundPath เพิ่มจำนวนเส้นทางทั้งหมด:
newPath \u003d newCompoundPath.pathItems.add ();
ในการตั้งค่า contours อย่างง่าย ๆ ใน Illustrator มีเมธอด setEntirePath พารามิเตอร์ซึ่งเป็นอาร์เรย์ของพิกัดของจุดเริ่มต้นและจุดสิ้นสุด - ซึ่งตามที่เราทราบแล้วจะถูกระบุเป็นอาร์เรย์ของค่าสองค่า (ตำแหน่งตามแกนสองแกน) ในที่สุดเราก็ทำตามเงื่อนไข“ ถ้ามีการเน้นบางสิ่ง” แนะนำในตอนแรก
newPath.setEntirePath (Array (Array (refObj_x, refObj_y), Array (obj_x, obj_y))); )
สคริปต์พร้อมใช้งาน อย่างที่คุณเห็นไม่มีอะไรซับซ้อนในนั้น: ชื่อของวิธีการเปิดเผยสาระสำคัญของมันและโมเดลเชิงวัตถุช่วยให้เข้าใจลำดับชั้นของวัตถุ Illustrator อย่างชัดเจน สคริปต์ไม่มีคุณค่าในทางปฏิบัติพิเศษใด ๆ (มีแนวโน้มที่จะสอนมากกว่า) แต่ในตัวอย่างของแนวคิดพื้นฐานจำนวนมากได้รับการพิจารณาซึ่งเราจะพึ่งพาในอนาคต (ทำงานกับวัตถุที่เลือกหลักการของการกำหนดหมายเลขในอาร์เรย์การเลือกกำหนดพิกัดสร้างเลเยอร์ใหม่ บรรทัด)
ตัวอย่างที่ 2: ตรวจจับรูปทรงที่บางเกินไป
การปรับสเกลในกราฟิกแบบเวกเตอร์นั้นใช้งานได้ดีมาก ดังนั้นเมื่อลดขนาดของวัตถุที่มีเส้นบาง ๆ (ถ้าเปิดใช้งานพารามิเตอร์ Scale strokes) บ่อยครั้งที่ความหนาของเส้นขีดต่ำกว่า 0.25 pt (ค่าหลังจากเส้นที่มองเห็นไม่ดี) และทำให้มันหายไปเมื่อพิมพ์บนเครื่องพิมพ์อิงค์เจ็ท ฟังก์ชันการค้นหาในตัวของ Illustrator สำหรับวัตถุที่มีค่าสโตรกน้อยกว่าค่าที่ระบุ การค้นหาด้วยตนเองเป็นเรื่องยากมาก - คุณต้องเลือกแต่ละวัตถุทีละอย่างอย่างรวดเร็วซึ่งทำให้ไม่อยากมีส่วนร่วมในการตรวจสอบดังกล่าว สคริปต์จะทำให้การทำงานง่ายขึ้นมาก
สคริปต์ในเวอร์ชันที่ง่ายที่สุดนั้นมีขนาดเล็ก แต่เราจะตั้งเป้าหมายที่จะทำให้เป็นสากลมากขึ้น - เราจะขยายฟังก์ชันการทำงานเนื่องจากความสามารถในการระบุความหนาขั้นต่ำในกล่องโต้ตอบ แน่นอนว่าคุณสามารถลงทะเบียนค่านี้ในสคริปต์อย่างเคร่งครัดและหากจำเป็นให้ปรับค่าในแต่ละครั้ง แต่คุณจะเห็นว่าสิ่งนี้ไม่สะดวก นอกจากนี้เรายังให้การบ่งชี้องค์ประกอบที่เลือกเป็นวัตถุอ้างอิงที่มีค่าเส้นขอบต่ำสุดที่ยอมรับได้ ในแบบคู่ขนานสำหรับสถิติเราคำนวณจำนวนขององค์ประกอบที่มีความหนาที่เปลี่ยนแปลงและเลือกเพื่อความชัดเจน
สคริปต์ทั้งหมดถูกแบ่งออกเป็นสองส่วน: ค่าเริ่มต้น (อ่านค่าจากกล่องโต้ตอบหรือรายการที่เลือก) และค่าสุดท้าย (ค้นหาระหว่างวัตถุทั้งหมดในเอกสารและกำหนดความหนาเส้นขอบใหม่) นอกจากการสาธิตการเข้าถึงวัตถุ Illustrator แล้วเราจะพิจารณาสร้าง mini-interface สำหรับป้อนค่าที่กำหนดเอง
การป้อนค่า
สองบรรทัดแรกจะเหมือนกันกับตัวอย่างก่อนหน้ายกเว้นว่าแทนที่จะเป็น“ 2”“ 0” จะปรากฏขึ้นเพราะก่อนหน้าสคริปต์เราต้องพิจารณาว่ามีวัตถุที่เลือกหรือไม่ การเปรียบเทียบถูกกำหนดโดยเครื่องหมายเท่ากับสองเท่า (หน่วยกำหนดค่า)
var mySel \u003d app.activeDocument.selection;
var go \u003d true;
ถ้า (sel \u003d\u003d 0) (
หากไม่มีการเลือกอะไรความหนาต่ำสุดจะถูกตั้งค่าผ่านกล่องโต้ตอบ เราได้รับมาโดยใช้ฟังก์ชัน JavaScript มาตรฐาน - พร้อมรับคำ มันเปิดหน้าต่างที่มีเขตข้อมูลที่คุณสามารถป้อนค่าและใช้ในภายหลัง ไวยากรณ์ของฟังก์ชั่นมีดังนี้: ก่อนมีข้อความคำใบ้ที่จะแสดงในหน้าต่าง (คำนึงถึงการรวมกันของสคริปต์เราจะไม่ใช้อักษรซีริลลิกเพราะมันมักจะแสดงอย่างไม่ถูกต้อง) จากนั้นค่าที่จะเริ่มต้น มีสองข้อดีคือความสามารถในการตั้งค่าความหนาขั้นต่ำที่อนุญาตได้ทันทีและระบุค่าใด ๆ โดยการสร้างตัวแปรที่กำหนดค่าของฟังก์ชั่นพรอมต์จากนั้นคุณสามารถใช้มันเพื่อจุดประสงค์ของคุณเอง
มองไปข้างหน้าฉันทราบว่า Illustrator ไม่ได้ให้การเข้าถึงวัตถุทุกประเภทอย่างเต็มรูปแบบ - บางคนถูกทิ้งไว้ที่น้ำท่วม ดังนั้นเราจะให้การมองเห็นขององค์ประกอบคงที่ไม่เพียง แต่ยังไม่สามารถเข้าถึงสคริปต์เพื่อไม่ให้ค้นหาด้วยตนเอง - เพราะพวกเขายังสามารถมีวัตถุที่มีปัญหา เพื่อไม่ให้แสดงกล่องโต้ตอบสองกล่อง (สำหรับค่าความหนาและการพิจารณาองค์ประกอบที่จะเลือก) เราจะใช้ความสามารถในการประมวลผลสตริงของ JavaScript ความจริงก็คือเนื้อหาของเขตข้อมูลที่ผู้ใช้กรอกคือ“ สตริง” (บล็อกของข้อมูล) ซึ่งสามารถมีพารามิเตอร์จำนวนเท่าใดก็ได้ (ผ่านตัวคั่น) การรู้จักตัวคั่นค่าของแต่ละพารามิเตอร์สามารถแยกได้ง่ายจากสตริง
ดังนั้นข้อความที่ให้กล่องโต้ตอบจะเป็นดังนี้: การตั้งค่าความหนาของเส้นขอบต่ำสุดและหมายเลขที่มีเงื่อนไข:“ 1” หากคุณต้องการให้สคริปต์เพื่อเน้นองค์ประกอบที่ถูกต้องคือ“ 2” - สิ่งที่คุณไม่สามารถ“ เข้าถึง”
value \u003d prompt (“ ระบุขีดจำกัดความกว้างของจังหวะ (เป็น pt), \\ n สิ่งที่ต้องเลือก: วัตถุที่ถูกแก้ไข (1) หรือไม่สามารถเข้าถึงได้ (2)”,“ 0.25, 1”)
เริ่มแรกตั้งค่าฟิลด์เป็น 0.25 คะแนน (หน่วยวัดใน Illustrator ตามค่าเริ่มต้น) แต่เมื่อเปลี่ยนค่าจะใช้ค่าใหม่และ“ 1” ควรระบุ "2" ต่อเมื่อสคริปต์พบวัตถุที่ไม่สามารถเข้าถึงได้ (เราจะตรวจสอบให้แน่ใจว่ามีการส่งสัญญาณนี้เมื่อสิ้นสุดการทำงาน) และพวกเขาจะกลายเป็นไฮไลต์ซึ่งจะช่วยให้เราประหยัดจากการค้นหาด้วยตนเอง (เท่าที่คุณรู้การค้นหา Illustrator ในตัวทำให้เป็นที่ต้องการมาก)
เมื่ออ่านค่าจากเขตข้อมูลผู้ใช้แล้วเราจะพบว่าเราดำเนินการประมวลผลต่อไป ตรวจสอบว่าเขตข้อมูลนั้นว่างเปล่าจริง ๆ หรือไม่ (เครื่องหมาย“!” หมายถึงการปฏิเสธนั่นคือ“! \u003d” เทียบเท่ากับ“ ไม่เท่ากัน” เป็นคำที่ลงทะเบียนสำหรับค่าว่าง) หากมีบางอย่างในนั้นเราแบ่งสตริงออกเป็นบล็อกแยกโดยใช้ฟังก์ชันแยก JavaScript (เราจะกำหนดชุดอักขระ "," เป็นตัวคั่น) และใส่ค่าผลลัพธ์ลงในอาร์เรย์ splitString หลังจากนั้นเราจะให้ชื่อที่สื่อความหมายกับค่าจากอาเรย์ (อันแรกจะเป็นตัวกำหนดความหนาที่สอง - โหมดการทำงาน)
ถ้า (value! \u003d null) (
splitString \u003d value.split (“,“);
น้ำหนัก \u003d splitString;
พิมพ์ \u003d splitString; )
หากไม่มีสิ่งใดในฟิลด์ผู้ใช้เราจะหยุดสคริปต์ วงเล็บปิดสุดท้ายคือเครื่องหมายของความสำเร็จของเงื่อนไขที่เราตั้งไว้ที่จุดเริ่มต้น (“ หากไม่มีการเน้นในเอกสาร”)
อื่น (go \u003d false)
หากวัตถุอ้างอิงนั้นถูกเลือกเป็นพิเศษ
ตอนนี้เราจะเขียนลำดับของการกระทำหากเราเลือกองค์ประกอบที่มีความหนาของเส้นขอบที่เราต้องการใช้เป็นค่าเกณฑ์ เราจะแสดงคำเตือนเกี่ยวกับการกระทำเพิ่มเติมของสคริปต์โดยใช้ฟังก์ชั่นการยืนยันมาตรฐาน (สร้างกล่องโต้ตอบที่มีสองปุ่ม - และ) หากคุณคลิก<Сancel>หยุดการทำงานหากคุณเห็นด้วยสคริปต์จะยังคงทำงานต่อไปอื่น (selectedMsg \u003d ยืนยัน (“ ความกว้างของเส้นขีดของวัตถุที่เลือกจะถูกใช้เป็นเกณฑ์”)
if (selectedMsg! \u003d true) (
go \u003d false;
) อื่น ๆ (
เราส่งผ่านไปยังส่วนหลักของสคริปต์ เราไม่พิจารณาสถานการณ์อย่างรอบคอบเมื่อมีการเน้นวัตถุหลายรายการเนื่องจากการตั้งค่าความหนาของเส้นขอบก็เพียงพอที่จะเลือกเพียงวัตถุเดียว และสิ่งที่ฉันควรใช้ค่าถ้ามันจะแตกต่างกันสำหรับองค์ประกอบ? ดังที่เราทราบแล้ววัตถุที่เลือกไว้เท่านั้นที่จะมีดัชนีเป็น "0" และเพื่อให้ได้ความหนาที่เพิ่มขึ้น Illustrator มีคุณสมบัติเป็น เราจะคำนึงถึงว่าโดยหลักการแล้วการเลือกไม่เพียง แต่ประกอบด้วยองค์ประกอบแต่ละส่วน แต่ยังเป็นส่วนหนึ่งของข้อความ (เช่นเลือกโดยบังเอิญ) ซึ่งไม่รวมอยู่ในแผนของเราดังนั้นก่อนเริ่มงานให้ตรวจสอบความสามารถ JavaScript เพื่อเลือกประเภทขององค์ประกอบที่เลือก
ถ้า (sel isArray) (
น้ำหนัก \u003d sel.strokeWidth;
เนื่องจากเราตกลงที่จะเลือกเฉพาะวัตถุที่เปลี่ยนแปลงเราจึงจำเป็นต้องลบการเลือกออกจากการอ้างอิงมากที่สุด (อ้างอิงถึงคุณสมบัติที่เลือก):
sel.selected \u003d false; )))
ตอนนี้เราพร้อมอย่างเต็มที่ที่จะทำงานหลักของสคริปต์ - ค้นหาออบเจ็กต์: ค่าที่จะใช้เป็นความหนาที่อนุญาตขั้นต่ำจะถูกเก็บไว้ในตัวแปร wei
พฤติการณ์
เปรียบเทียบกับคุณสมบัติที่คล้ายกันสำหรับวัตถุทั้งหมดในเอกสาร คุณสามารถดำเนินการค้นหาได้ทันที แต่การใช้สคริปต์ในงานประจำวันต้องคำนึงถึงสถานการณ์เพิ่มเติม - ในเลย์เอาต์มักจะมีทั้งเลเยอร์ที่ถูกล็อคและวัตถุแต่ละอย่าง ดังนั้นแม้ว่าการค้นหาจะใช้งานได้ แต่คุณไม่สามารถเปลี่ยนแปลงได้ เพื่อเพิ่มความมั่นใจในการตรวจสอบทั้งหมดเราได้เพิ่มการดำเนินการหลายอย่างให้กับสคริปต์: การตรวจสอบองค์ประกอบเพื่อให้สอดคล้องกับเกณฑ์ที่ระบุในเวลาเดียวกันปลดล็อคหากจำเป็นและจำดัชนีเพื่อให้การตรวจสอบเสร็จสมบูรณ์ เราแนะนำตัวแปรสองตัว: ตัวแรกสำหรับการลดการเข้าถึงเลเยอร์ทั้งหมดในเอกสารและครั้งที่สองที่เราเข้าถึงเฉพาะกับตัวล็อค เราจะจัดเก็บหมายเลขซีเรียลของลำดับสุดท้ายในอาร์เรย์ซึ่งเราสร้างขึ้นด้วยฟังก์ชัน JavaScript - new Array ()
var dL \u003d activeDocument.layers;
var blokedLayers \u003d อาร์เรย์ใหม่ ();
จากนั้นเราจะดูเลเยอร์ทั้งหมดและสำหรับล็อก (คุณสมบัติถูกล็อก \u003d จริง) เราจะป้อนหมายเลขซีเรียลลงในอาร์เรย์ blokedLayers (โดยใช้ฟังก์ชั่นการกดจาก JavaScript) หลังจากนั้นเราจะอนุญาตให้แก้ไขได้ (ล็อก \u003d เท็จ)
ถ้า (go \u003d\u003d จริง) (สำหรับ (i \u003d 0; i if (dL [i] .locked \u003d\u003d จริง) (
blokedLayers.push (i);
dL [i] .locked \u003d false; ก่อนหน้านี้เราตกลงที่จะเน้นวัตถุที่คงที่ แต่หลังจากสคริปต์ทำงานบนเลเยอร์ที่ล็อคเสร็จแล้วเราจะไม่สามารถทำสิ่งนี้ได้ - เราต้องแสดงคำเตือนที่เหมาะสม หากต้องการทำสิ่งนี้ให้ใช้แอตทริบิวต์ lockedPresence ซึ่งจะถูกตั้งค่าหากมีเลเยอร์อย่างน้อยหนึ่งชั้นถูกล็อค
lockedPresence \u003d จริง;
เราจะทำซ้ำเช่นเดียวกันกับองค์ประกอบล็อคแต่ละ ในกรณีที่ง่ายที่สุดก็เพียงพอที่จะตรวจสอบองค์ประกอบเวกเตอร์ทั้งหมด (class pathItems) ซึ่งรวมถึงเส้นทางผสมเป็นคลาสย่อยดังนั้นจึงไม่มีสิ่งใดหนีสายตาที่มองเห็นได้ของสคริปต์
ข้อผิดพลาด
นอกเหนือจากสถานการณ์ที่พิจารณาด้วยการบล็อกแล้วยังมี“ อันตราย” อีกประการหนึ่ง ดังที่ได้กล่าวไปแล้วองค์ประกอบบางอย่าง (โดยเฉพาะอย่างยิ่งกลุ่ม Blend และซองจดหมาย) ไม่ใช่ "native" สำหรับ Illustrator แต่เป็นของ pluginItem ชนิดพิเศษ ในขณะเดียวกัน Illustrator ไม่ได้ให้การเข้าถึงวัตถุดังกล่าวพวกเขาเป็น "สิ่งในตัวเอง" คุณสามารถ“ เข้าถึง” พวกเขาผ่านคลาสที่สูงกว่า - pageItems ซึ่งอย่างน้อยเราก็สามารถกำหนดสถานะของพวกเขาและแสดงคำเตือนในตอนท้าย มันจะบอกว่าโดยการเรียกใช้สคริปต์อีกครั้งและระบุ“ 2” เป็นพารามิเตอร์ที่สองในช่องใส่มันจะเน้น“ กล่องดำ” เหล่านี้
pgI \u003d activeDocument.pageItems;
ในการจัดเก็บดัชนีของวัตถุที่ถูกบล็อกให้สร้างอาร์เรย์ที่ชื่อว่า blokedPathes และเพื่อคำนวณจำนวนของวัตถุที่เปลี่ยนแปลงเราจะแนะนำตัวแปรที่ถูกแก้ไข
bloсkedPathes \u003d new Array ();
แก้ไข \u003d 0;
สำหรับวัตถุทั้งหมดเราจะตรวจสอบว่าเป็นของประเภท PluginItem (คุณสมบัติ typename): ถ้ามีให้ตั้งค่าสถานะ pluginItemExist (สถานะของมันจะกำหนดเอาท์พุทคำเตือนเกี่ยวกับการปรากฏตัวขององค์ประกอบดังกล่าว) ในกรณีของการตรวจสอบซ้ำ (เมื่อพารามิเตอร์ตัวที่สองในช่องป้อนข้อมูลคือ "2") เราจะเลือกพวกเขา:
สำหรับ (i \u003d 0; i< pgI.length; i++) {
if (pgI [i] .typename \u003d\u003d“ PluginItem”) (
pluginItemExist \u003d true
if (type \u003d\u003d“ 2”) (pgI [i] .selected \u003d true)
ดังนั้นทุกสถานการณ์ (หรือเกือบทั้งหมด) ที่เป็นไปได้ที่เกิดขึ้นในการทำงานเราได้เล็งเห็นและระบุการกระทำสำหรับพวกเขา
ตรวจสอบขั้นพื้นฐาน
ตอนนี้ถึงคราวต้องตรวจสอบเค้าโครงเพื่อให้สอดคล้องกับเกณฑ์การเลี้ยวที่ระบุ เราพิจารณาว่าในบรรดาวัตถุอาจมีสิ่งที่ไม่มีขอบ (กำหนดโดยสถานะของคุณลักษณะ stroked) - ดังนั้นพวกเขาจะต้องแยกออกจากการสแกน
ถ้า ((pgI [i] .strokeWidth< weight)&&(pgI[i].stroked)) {
ถ้า (pgI [i] .locked \u003d\u003d จริง) (
blokedPathes.push (i);
pgI [i] .locked \u003d false;
ส่วนรหัสนี้สามารถตีความได้ดังนี้: เรากำหนดสถานะของเส้นขอบและความหนาของมันสำหรับแต่ละองค์ประกอบ ถ้ามันน้อยกว่าค่าต่ำสุด (ถ้า (pI [i] .strokeWidth< weight), и объект заблокирован, его индекс занести в специально созданный для такой цели массив blokedPathes, после чего разблокировать для внесения возможных изменений. Знак && обозначает логическое «И» (обязательное совпадение двух условий) — толщины меньше минимальной и присутствия окантовки.
จากนั้นเราจะแก้ไขการปรากฏตัวของวัตถุที่ถูกบล็อก (เราตั้งค่าสถานะ lockPresence เพื่อแสดงคำเตือนในอนาคตที่ไม่สามารถเน้นวัตถุที่เปลี่ยนแปลงทั้งหมดได้) และเลือกสิ่งที่ถูกแก้ไขและกำหนดค่าขีด จำกัด ให้กับเส้นขอบ - และอื่น ๆ สำหรับองค์ประกอบทั้งหมด สำหรับสถิติเราจะคำนวณจำนวนของวัตถุที่ถูกเปลี่ยนพร้อมกัน
lockedPresence \u003d จริง;
pgI [i] .selected \u003d true;
pgI [i] .strokeWidth \u003d weight;
แก้ไข ++;
ขั้นตอนในการเน้นองค์ประกอบที่ไม่ผ่านการตรวจสอบ (type \u003d "2") ได้รับการพิจารณาก่อนหน้านี้ ตอนนี้เรากำหนดสิ่งที่ควรเกิดขึ้นในสถานการณ์มาตรฐาน - ด้วยการค้นหาวัตถุที่อาจเป็นปัญหาตามปกติ
if (type \u003d“ 1”) (pgI [i] .selected \u003d true)
กู้คืนสถานะรายการที่ถูกบล็อก
เราทำงานหลักเสร็จ - วัตถุที่มีปัญหาได้รับการแก้ไขและเน้น มันยังคงอยู่เพื่อเรียกคืนสภาพที่เป็นอยู่ - ทั้งหมดถูกบล็อกเริ่มแรกเพื่อกลับสู่สถานะก่อนหน้า ในการทำเช่นนี้ในวัฏจักรปัจจุบันเราอ่านเนื้อหาของอาเรย์ที่เก็บดัชนีของวัตถุที่ถูกล็อคและตั้งค่าแอททริบิวล็อค \u003d จริงสำหรับแต่ละองค์ประกอบที่สอดคล้องกัน (วิธีการเลื่อนแสดงค่าสุดท้ายที่ป้อนเข้าไปในอาร์เรย์จากอาร์เรย์) เนื่องจากจำนวนวัตถุทั้งหมดมากกว่าบล็อกต้องใช้ความระมัดระวังเพื่อให้ครบวงจรการสแกนหลังจากล้างอาร์เรย์
if (blokedPathes.length\u003e 0) (
สืบค้นแล้ว \u003d blokedPathes.shift ();
pI.locked \u003d true;))
จากนั้นเราจะดำเนินการคล้ายกับเลเยอร์:
สำหรับ (i \u003d 0; i if (blokedLayers.length\u003e 0) (ดึง \u003d blokedLayers.shift ();
dL.locked \u003d true; )) ในความเป็นจริงสำหรับการดำเนินการที่คล้ายกันจะสะดวกกว่าในการใช้ฟังก์ชั่น ข้อได้เปรียบของพวกเขาคือเมื่อคุณอธิบายการกระทำบางอย่างคุณสามารถทำซ้ำได้อย่างสมบูรณ์เพียงแค่เรียกใช้ฟังก์ชันในสถานที่ที่เหมาะสม ด้วยวิธีนี้ความกะทัดรัดและการอ่านของสคริปต์จะทำได้ เพื่อเพิ่มความยืดหยุ่นของฟังก์ชั่นค่า (พารามิเตอร์) ที่ใช้ในมันจะถูกส่งผ่าน หากคุณไม่ต้องการใช้ฟังก์ชันให้ข้ามสองย่อหน้าถัดไป
มาสร้างฟังก์ชั่นสองอย่างกันอันแรก - ปลดล็อคเลเยอร์และวัตถุที่สอง - คืนค่าแอตทริบิวต์ เฉพาะประเภทวัตถุ (คลาส Layers และ pageItems) และอาร์เรย์สำหรับการบันทึกองค์ประกอบที่น่าสนใจสำหรับเรา (blokedLayers และ blokedPathes) เท่านั้นที่จะมีการเปลี่ยนแปลงซึ่งจะปรากฏเป็นพารามิเตอร์ฟังก์ชัน เราเขียนอันแรกเช่นนี้:
ฟังก์ชั่นปลดล็อค (อาร์เรย์, itemType)
ถ้า (itemType [i] .locked \u003d\u003d จริง) (
array.push (i);
itemType [i] .locked \u003d false;
ล็อค \u003d false;
}
แทนที่จะเป็นอาเรย์เราจะแทนที่อาเรย์แทน itemType - คลาสที่จำเป็น จากนั้นเราจะได้รับสองสาย - ปลดล็อค (บล็อคเลเยอร์, \u200b\u200bdL) และปลดล็อค (blokedPathes, pgI) ในทำนองเดียวกันเราเขียนฟังก์ชั่นเพื่อเรียกคืนสถานะ:
คืนค่าฟังก์ชัน (อาร์เรย์, itemType)
if (array.length\u003e 0) (
ดึง \u003d array.shift ();
itemType.locked \u003d true;
}
แสดงข้อมูลเกี่ยวกับผลลัพธ์ของการตรวจสอบ
นี่คือขั้นตอนสุดท้ายของสคริปต์ อันดับแรกเรากำหนดเงื่อนไขในการแสดงข้อความหากเลือกการค้นหาวัตถุที่ไม่สามารถแก้ไขได้จากนั้นเงื่อนไขการเตือนว่าตรวจพบวัตถุดังกล่าว:
if (type \u003d\u003d“ 2”) (b \u003d“ \\ n เลือกที่ถูกต้อง!”)
if (pluginItemExist \u003d\u003d จริง) (
การแจ้งเตือน (“ เนื่องจากข้อ จำกัด การเขียนสคริปต์วัตถุบางอย่างไม่สามารถได้รับผลกระทบ” + b))
ตรรกะของการออกคำเตือนว่าไม่สามารถเน้นคำที่ถูกต้องได้ทั้งหมดมีดังนี้:
if ((lockedPresence \u003d\u003d true) && (pluginItemExist \u003d\u003d false)) (
คำเตือน \u003d“ \\ n เพราะบางส่วนถูกล็อคพวกเขาไม่สามารถแสดงได้ตามที่เลือก”)
จากนั้นเราจะได้ผลลัพธ์สุดท้าย:
การแจ้งเตือน (“ จำนวนวัตถุที่แก้ไขคือ:“ + แก้ไข + คำเตือน)
ในความเป็นจริงนี่คือสคริปต์ทั้งหมด อย่างที่คุณเห็นบรรทัดสองสามบรรทัดนี้มีงานจำนวนมหาศาลซึ่งแทบไม่มีใครกล้าทำด้วยตนเอง สคริปต์จะถูกดำเนินการทันที (ในโครงการขนาดใหญ่ที่มีจำนวนองค์ประกอบตามลำดับหลายพันประสิทธิภาพของโปรเซสเซอร์จะเริ่มส่งผลกระทบ) คุณต้องเลือกจากรายการของรายการที่มีอยู่ (คุณไม่สามารถทำได้ - Illustrator อนุญาตให้สคริปต์กำหนด "ปุ่มลัด") ด้วยคำสั่ง Edit.Keyboard shortcuts.Menu command.Scripts แต่หมายเหตุ: ชื่อของสคริปต์จะถูกจัดเรียงตามตัวอักษรดังนั้นการเพิ่มใหม่หรือการลบเก่าสามารถนำไปสู่การกำหนดคีย์ให้กับสคริปต์ที่อยู่ใกล้เคียง สรุป: หลังจากเปลี่ยนแปลงโฟลเดอร์ Presets \\ Scripts ให้ตรวจสอบความสอดคล้องของปุ่มต่างๆ
เราพยายามทำให้สคริปต์เป็นสากลซึ่งส่งผลต่อปริมาณ ในรุ่นดั้งเดิมที่สุด (โดยไม่คำนึงถึงคุณสมบัติและข้อผิดพลาดที่อธิบายไว้ข้างต้น) ใช้ตัวอักษรสองบรรทัด:
minWidth \u003d activeDocument.selection.strokeWidth;
pI \u003d activeDocument.pathItems;
สำหรับ (i \u003d 0; i< pI.length; i++) {
ถ้า ((pI [i] .strokeWidth< minWidth) && (pI[i].stroked)) {
pI [i] .strokeWidth \u003d minWidth;
}}
ของหวานล่ะ
เราจะอุทิศประเด็นต่อไปในนามบัตร: เราจะเขียนสคริปต์ที่ทำให้เลย์เอาต์ของพวกเขาเป็นแบบอัตโนมัติ อย่างไรก็ตามมันมีประโยชน์สำหรับช่วงงานที่กว้างขึ้นเนื่องจากมันไม่มีการอ้างอิงถึงขนาดของวัตถุ ตามที่คาดไว้เราจะจัดให้มีการสร้างปัญหาเพื่อหลีกเลี่ยงปัญหาเกี่ยวกับการตัดแผ่นที่ไม่ถูกต้องรวมถึงการหมุนนามบัตร (ถ้าด้านบนและล่างแตกต่างกันอย่างมีนัยสำคัญ) ในเวลาเดียวกันเราจะสัมผัสกับปัญหาการค้นหาวัตถุที่มีรูปแบบสีแตกต่างจากวัตถุที่กำหนดซึ่งไม่ใช่เรื่องผิดปกติในระหว่างการทำงานที่คล้ายกัน
นิตยสารมีให้บริการฟรี
ในหัวข้อเดียวกัน:
ข่าว 2019-04-03
หมึกขาวพิเศษช่วยสร้างแอพพลิเคชั่นใหม่สำหรับการพิมพ์รูปแบบขนาดใหญ่ได้อย่างไร
วันนี้เครื่องพิมพ์หลากหลายรุ่นที่มีรูปแบบขนาดใหญ่และกว้างเป็นพิเศษสามารถพิมพ์ด้วยหมึกสีเพิ่มเติม - ขาวซึ่งสร้างความเป็นไปได้ใหม่สำหรับการใช้อุปกรณ์เหล่านี้ แต่เครื่องพิมพ์สามารถใช้เทคโนโลยีต่าง ๆ สำหรับการพิมพ์ด้วยหมึกสีขาวและเทคโนโลยีต่าง ๆ มีความสามารถและข้อ จำกัด ของตนเอง
ฟังก์ชั่นการใช้งานของ Adobe Illustrator มีขนาดใหญ่มาก แต่ก็มีข้อเสียอยู่บ้างข้อดีของโปรแกรมนี้คือการเขียนสคริปต์ซึ่งช่วยลดความยุ่งยากและขยายขีดความสามารถของโปรแกรม นอกเหนือจากการเขียนสคริปต์แล้วยังมีส่วนขยาย - แผงควบคุมแบบกำหนดเองสำหรับการขยายโปรแกรม แต่เป็นหัวข้อที่แตกต่างกันเล็กน้อย
การติดตั้งสคริปต์
หากคุณไม่เคยใช้สคริปต์ใน Adobe Illustrator ต่อไปนี้เป็นคำแนะนำโดยย่อเกี่ยวกับวิธีเรียกใช้สคริปต์
ก่อนอื่นเราต้องใส่สคริปต์ที่คุณต้องการใช้ในโฟลเดอร์ "สคริปต์" จะหาเส้นทางไปยังโฟลเดอร์นี้ได้อย่างไร? มันง่ายเราไปที่รูทของโฟลเดอร์ที่โปรแกรม Adobe Illustrator ตั้งอยู่จากนั้น "Presets -\u003e en_US -\u003e Scripts" แทนที่จะเป็น en_US อาจมีโฟลเดอร์อื่นที่มีการแปล Localization Illustrator มีอยู่ในโฟลเดอร์นั้น
หลังจากที่คุณวางสคริปต์ในโฟลเดอร์แล้วคุณสามารถเรียกใช้งานได้โดยใช้วิธีมาตรฐานซึ่งจะเปิดใช้งานผ่าน "ไฟล์ -\u003e สคริปต์" รายการสคริปต์ของคุณจะอยู่ในเมนูแบบเลื่อนลงคลิกที่สคริปต์ใดก็ได้และคุณจะเรียกใช้สคริปต์ แม้ว่าสคริปต์ของคุณจะอยู่ในโฟลเดอร์อื่นคุณยังสามารถเรียกใช้สคริปต์และในหลายวิธี:
- ไปที่เมนู "ไฟล์ -\u003e สคริปต์ -\u003e สคริปต์อื่น ... " ผู้สำรวจจะเปิดขึ้นหลังจากนั้นคุณต้องค้นหาไฟล์สคริปต์แล้วเรียกใช้สคริปต์
- คุณสามารถลากและวางสคริปต์จาก Explorer ไปยัง Illustrator หลังจากนั้นสคริปต์จะเริ่มทำงาน
- คุณสามารถใช้ส่วนขยายเพื่อเรียกใช้สคริปต์ - นี่คือพาเนลสำหรับ Illustrator ซึ่งช่วยให้คุณเรียกใช้สคริปต์ได้โดยตรงจากโปรแกรม มีหลายนามสกุลดังกล่าว ฉันแนะนำให้ใช้ LAScripts
Harmonizer
สคริปต์สำหรับการจัดองค์ประกอบในตาราง
เลือกวัตถุเรียกใช้สคริปต์เลือกจำนวนคอลัมน์ (เส้นจะถูกคำนวณโดยอัตโนมัติ) เลือกระยะห่างระหว่างองค์ประกอบเช่นเดียวกับพวกเขาอยู่ตรงกลาง (โดยค่าเริ่มต้นองค์ประกอบที่ใหญ่ที่สุดจะถูกเลือก)
ArtboardsResizeWithObjects
สคริปต์สำหรับปรับขนาดกระดานภาพพร้อมกับเนื้อหา
ใน Adobe Photoshop มีฟังก์ชั่น "ขนาดภาพ" เพื่อเปลี่ยน artboard พร้อมกับเนื้อหา แต่ใน Adobe Illustrator ไม่มีฟังก์ชั่นดังกล่าวนอกกรอบ บางครั้งอาจจำเป็นต้องเปลี่ยนกระดานภาพพร้อมกับเนื้อหาเพื่อที่ว่าหลังจากการเปลี่ยนแปลงสถานะทั้งหมดจะถูกเก็บรักษาไว้
สมมติว่าคุณตัดสินใจเปลี่ยน artboard ด้วยมือของคุณลำดับของการกระทำของคุณ: เปลี่ยน artboard แล้วคุณเลือกองค์ประกอบทั้งหมดบน artboard และเปลี่ยนขนาด แต่เพียงปัญหาเดียวที่ปรากฏขึ้นที่นี่ หากคุณมีองค์ประกอบที่มีจังหวะแล้วถ้าคุณเปลี่ยนมือของคุณจังหวะจะไม่ลดลงพร้อมกับการลดของวัตถุ แต่คุณสามารถแก้ไขได้โดยทำเครื่องหมายที่ช่อง“ Scale strokes และเอฟเฟกต์” แต่ถ้าคุณต้องการปรับขนาดหลายกระดาน หากต้องการทำให้ง่ายขึ้นและประหยัดเวลาให้ใช้สคริปต์ artboardsResizeWithObjects.jsx
- ปัจจัยขนาดใหม่ - สเกลของ artboard เป็นเปอร์เซ็นต์
- ใหม่ความกว้างของบอร์ด - ความกว้างใหม่ของบอร์ดศิลปะความสูงจะเปลี่ยนตามสัดส่วน
- ใหม่ความสูงของบอร์ด - ความสูงใหม่ของ artboard ความกว้างจะเปลี่ยนตามสัดส่วน
- บอร์ดอาร์ตที่ใช้งานเท่านั้น - เปลี่ยนเฉพาะ artboard ที่ใช้งานอยู่
- ผลงานทั้งหมด - เปลี่ยนงานศิลปะทั้งหมด
- กระดานศิลปะที่กำหนดเอง - เปลี่ยน artboards โดยพลการคุณสามารถเขียนเป็นเครื่องหมายจุลภาคหรือเป็นเครื่องหมายยัติภังค์ (เช่นเมื่อคุณระบุหน้าเมื่อพิมพ์)
- รวมรายการที่ซ่อนและถูกล็อค - คำนึงถึงองค์ประกอบที่ถูกล็อคและซ่อนอยู่
- ฟิลด์อินพุตสำหรับขนาด - โดยค่าเริ่มต้นความกว้างของภาพตัดปะที่ใช้งานอยู่จะถูกนำมาใช้
ArtboardsRotateWithObjects
สคริปต์เพื่อหมุนกระดานภาพพร้อมกับเนื้อหา
ใน Adobe Photoshop คุณสามารถหมุน artboard และเนื้อหาจะหมุนได้เช่นกัน แต่ใน Adobe Illustrator ไม่มีฟังก์ชั่นดังกล่าวจากกล่อง
สคริปต์นี้จะมีประโยชน์หากคุณจำเป็นต้องหมุนหลายกระดานหรือถ้าคุณไม่ต้องการเสียเวลาในการปรับตำแหน่งเมื่อเทียบกับกระดานหลังหลังจากหมุนแล้ว
คำอธิบายสั้น ๆ ของแต่ละรายการในสคริปต์:
- บอร์ดอาร์ตที่ใช้งานอยู่ # - หมุนเฉพาะบอร์ดอาร์ตที่ใช้งานอยู่
- ผลงานทั้งหมด - หมุนกระดานศิลปะทั้งหมด
- มุมการหมุน 90 CW - หมุนพื้นที่ติดตั้งตามเข็มนาฬิกา
- มุมการหมุน 90 CCW - หมุนพื้นที่ติดตั้งทวนเข็มนาฬิกา
InlineSVGToAI
สคริปต์เพื่อแทรก svg (และแปลงรหัส svg) ลงในเอกสาร
ในเวอร์ชันของ Adobe Illustrator CC 2018 v.22.1 (มีนาคม, 2018) ความสามารถในการแทรกวัตถุ svg ถูกเพิ่มสคริปต์ในกรณีนี้ไม่จำเป็นต้องใช้
ฉันรำคาญเสมอที่ svg ไม่สามารถวางลงในโปรแกรมที่เชี่ยวชาญในเวกเตอร์ได้ฉันหมายถึงถ้าเราคัดลอกรหัส svg จากบรรณาธิการหรือจากที่อื่น แต่ในรูปแบบของข้อความเราจะไม่สามารถวางลงในโปรแกรมได้ คุณจะต้องบันทึกรหัสในไฟล์ก่อนหลังจากเปิดไฟล์ใน Illustraor แล้วให้คัดลอกเนื้อหาและวางลงในเอกสารที่ต้องการ การกระทำที่ไม่จำเป็นมากมายใช่ไหม?
เพื่อกำจัดความเข้าใจผิดนี้ฉันเขียนสคริปต์ที่จะสร้างไฟล์โดยอัตโนมัตินำเข้าเนื้อหาลงในเอกสารของคุณแล้วลบออก กล่าวคือ สคริปต์ทำสิ่งเดียวกัน แต่โดยไม่ต้องมีส่วนร่วมของเราและไม่จำเป็นต้องใช้เวลากับมัน
คำอธิบายสั้น ๆ ของแต่ละรายการในสคริปต์:
- ง่ายมาก - วางเนื้อหาลงในฟิลด์แล้วคลิก "วาง"
ปัตตาเลี่ยนปริศนา
สคริปต์เพื่อสร้างปริศนาตามวัตถุ
สคริปต์สร้างกลุ่มที่มีมาสก์การตัดองค์ประกอบที่จะ "แปรรูป" เป็นวัตถุที่ต่ำที่สุดของกลุ่มที่เลือก โหมดการทำงานหากคุณมีกลุ่มที่ด้านบนและวัตถุที่อยู่ด้านล่างแล้วองค์ประกอบทั้งหมดในกลุ่มจะถูกแปลงเป็นกลุ่มที่มีรูปแบบการตัดและวัตถุจากด้านล่างของคนที่เลือก สคริปต์ไม่มีส่วนต่อประสานเพียงเลือกองค์ประกอบที่คุณต้องการและเรียกใช้สคริปต์
ReplaceItems
สคริปต์สำหรับแทนที่วัตถุด้วยต้นฉบับวัตถุจากกลุ่มหรือจากคลิปบอร์ด
ตัวอย่างเช่นคุณต้องแทนที่องค์ประกอบบางอย่างในเค้าโครง แต่แทนที่ด้วยมือของคุณเป็นเวลานานคุณสามารถใช้สคริปต์นี้เพื่อแทนที่เพียงแค่เลือกองค์ประกอบที่คุณต้องการคัดลอกจากนั้นเรียกใช้สคริปต์เลือก "วัตถุบัฟเฟอร์"
นอกจากนี้สคริปต์ยังสามารถหมุนองค์ประกอบแต่ละรายการโดยไม่ได้ตั้งใจใช้ขนาดขององค์ประกอบที่ถูกแทนที่เติมและคุณยังไม่สามารถลบองค์ประกอบเดิมได้
คำอธิบายสั้น ๆ ของแต่ละรายการในสคริปต์:
- Object in buffer - วัตถุอยู่ในคลิปบอร์ด
- วัตถุยอดนิยม - วัตถุเป็นคนแรกจากรายการที่เลือก
- ทั้งหมดในกลุ่ม (สุ่ม) - สุ่มเลือกวัตถุจากกลุ่ม
- ฟิลด์สเกล - สเกลขององค์ประกอบที่แทรก
- แทนที่รายการในกลุ่มหรือไม่ - มีรายการที่ถูกแทนที่ในกลุ่มหรือไม่ (หากองค์ประกอบที่จำเป็นต้องเปลี่ยนอยู่ในกลุ่มให้ทำเครื่องหมายที่ช่องนี้มิฉะนั้นทั้งกลุ่มจะถูกแทนที่และไม่ใช่ทุกองค์ประกอบจากกลุ่ม)
- คัดลอกความกว้างและความสูง - คัดลอกค่าความกว้างและความสูงจากองค์ประกอบที่ถูกแทนที่
- บันทึกองค์ประกอบดั้งเดิม - บันทึก (อย่าลบ) องค์ประกอบที่แทนที่
- คัดลอกสีจากองค์ประกอบ - คัดลอกส่วนเติมจากองค์ประกอบที่ถูกแทนที่
- การหมุนองค์ประกอบแบบสุ่ม - หมุนแต่ละองค์ประกอบแบบสุ่ม
CreateArtboardsFromTheSelection
สคริปต์สำหรับการสร้างบอร์ดขึ้นอยู่กับองค์ประกอบที่เลือก
สคริปต์จะสร้างกระดานข้อมูลขึ้นอยู่กับองค์ประกอบที่เลือกรวมถึงแต่ละรายการที่เลือก
คำอธิบายสั้น ๆ ของแต่ละรายการในสคริปต์:
- แต่ละรายการในส่วนที่เลือก - สร้างสำหรับคอลเลกชันองค์ประกอบที่เลือก
- ขอบเขตการเลือกเท่านั้น - สร้างอาร์ทบอร์ดตามการเลือก
- รายการขอบเขต Vsible - ขอบรายการที่มองเห็นได้
- รายการขอบเขตเรขาคณิต - เส้นขอบขององค์ประกอบเรขาคณิต
TransferSwatches
สคริปต์เพื่อนำเข้าแถบสีจากเอกสารไปยังเอกสารที่ใช้งานอยู่
เรียกใช้สคริปต์เลือกเอกสารจากรายการคุณยังสามารถทำเครื่องหมายในช่องเพื่อเปลี่ยนสีที่มีชื่อเดียวกัน
ArtboardItemsMoveToNewLayer
สคริปต์ที่วางเนื้อหาของ artboard ไปยังเลเยอร์ใหม่
เรียกใช้สคริปต์เลือกบอร์ดคุณยังสามารถเลือก "ลบเลเยอร์และเลเยอร์ย่อย" และ "เลเยอร์ชื่อจากชื่อบอร์ด"
Adobe Illustrator มีเครื่องมือและคุณสมบัติมากมาย แต่จะมีบางสิ่งที่ขาดหายไปสำหรับผู้ใช้ขั้นสูง ดังนั้นนักพัฒนาจึงสร้างสคริปต์และปลั๊กอินที่จะช่วยแก้ปัญหางานที่หลากหลายและเร่งกระบวนการที่ต้องใช้แรงงานมาก วันนี้เราได้เตรียมภาพรวมของสคริปต์ฟรีที่ดีที่สุดสำหรับ Illustrator รายการของพวกเขาถูกจัดระบบและแบ่งออกเป็นหลายกลุ่มตามหน้าที่การใช้งาน การทำงานกับพา ธ และจุดการกระจายรูปแบบต่าง ๆ การสร้างวัตถุการทำงานกับแผงเลเยอร์วัตถุข้อความสี ฯลฯ
ติดตั้งและเรียกใช้สคริปต์
คุณต้องติดตั้งสคริปต์ในโฟลเดอร์ต่อไปนี้:
สำหรับ ของ windows: C: \\ Program Files \\ Adobe \\ Adobe Illustrator CC 2014 \\ Presets \\ en_GB \\ Scripts
สำหรับ Mac OS: แอปพลิเคชัน / Adobe \\ Adobe Illustrator CC 2014 \\ Presets \\ en_GB \\ Scripts
หากต้องการเรียกใช้สคริปต์ให้ไปที่ไฟล์\u003e สคริปต์\u003e ...
นอกจากนี้คุณยังสามารถวางสคริปต์ไว้ในที่ ๆ สะดวกบนฮาร์ดไดรฟ์ของคุณ ในกรณีนี้หากต้องการเรียกใช้สคริปต์ให้ไปที่ไฟล์\u003e สคริปต์\u003e สคริปต์อื่น ๆ ... (Cmd / Ctrl + F12)
หากคุณใช้สคริปต์บ่อยๆการเริ่มต้นที่สะดวกคุณจะมีประโยชน์ ปลั๊กอินฟรีนี้ช่วยให้สามารถเข้าถึงสคริปต์จากแผงควบคุมซึ่งสามารถวางไว้ในที่ที่สะดวกเสมอ
ตอนนี้เรามาดูรายการสคริปต์ซึ่งแบ่งตามการทำงาน:
สคริปต์สำหรับการทำงานกับพา ธ จุดและหมายเลขอ้างอิง
สคริปต์นี้หมุนจุดจับของจุดควบคุมเปลี่ยนความยาวเท่ากัน หลังจากรันสคริปต์คุณมีโอกาสเลือกหนึ่งในห้าประเภทของการจัดการจากนั้นตั้งค่าพารามิเตอร์สำหรับความยาวและมุม
สคริปต์นี้สร้างดอกไม้จากรูปร่างปกติ เหมาะสำหรับการสร้างรูปแบบโลโก้และอื่น ๆ ที่น่าสนใจ
สคริปต์จะลบจุดที่ทับซ้อนกันและรายงานจำนวนที่ถูกลบ
สคริปต์ปิดเส้นทางที่เปิดอยู่ในเอกสารปัจจุบัน ไม่เชื่อมต่อเส้นทางการสัมผัส
สคริปต์จะเปลี่ยนทิศทางของเส้นทางที่เลือกตามทิศทางของส่วนบน นั่นคือหลังจากใช้สคริปต์เส้นทางที่เลือกทั้งหมดจะมีทิศทางเดียว
สคริปต์จะคัดลอกวัตถุสูงสุดที่ตำแหน่งและขนาดของวัตถุอื่น ยากที่จะอธิบายและง่ายต่อการดูรูปด้านล่าง
สคริปต์การกระจายวัตถุ
สคริปต์เติมแบบฟอร์มด้วยแวดวง
สคริปต์วางวัตถุในระยะทางเดียวกันตามเส้นทางที่เลือก คุณสามารถกระจายวัตถุที่อยู่ในกลุ่มหนึ่งกลุ่มขึ้นไป
สคริปต์จะทำสำเนาวัตถุด้านบนและวางสำเนาที่จุดที่เลือก
สคริปต์จะหมุนวัตถุไปที่กึ่งกลางของวัตถุส่วนบน
สคริปต์หมุนวัตถุทั้งหมดไปยังตำแหน่งของวัตถุด้านบน
สคริปต์ทำให้สามารถแบ่งพื้นที่ของวัตถุเวคเตอร์ตามข้อมูลที่สามารถแสดงในเงื่อนไขแบบสัมบูรณ์หรือเปอร์เซ็นต์
สคริปต์จะสร้างภาพสะท้อนตามประเภทที่เลือกจากแผงควบคุม
สคริปต์ที่สร้างวัตถุตามวัตถุหรือข้อมูลอื่น
สคริปต์รวมฟอร์มในรูปแบบของเมตาบอล (คุณรู้จักชื่อรัสเซียสำหรับฟอร์มดังกล่าวหรือไม่ฉันไม่ได้)
สคริปต์สร้างแทนเจนต์ทั่วไป (เป็นไปได้ทั้งหมด) ไปยังวัตถุที่เลือก
สคริปต์สร้างคำแนะนำจากจุดที่เลือกไปยังส่วนโค้งที่เลือก
สคริปต์อนุญาตให้คุณสร้างรหัส QR ใน Illustrator
ด้วยสคริปต์นี้คุณสามารถสร้างตารางปฏิทินโดยอัตโนมัติเพียงไม่กี่คลิก ภาษาที่รองรับ: EN, RU, DE, UA
สคริปต์ที่มีพารามิเตอร์แบบสุ่ม
สคริปต์เลือกวัตถุตามลำดับแบบสุ่มตามหมายเลขที่ระบุ
สคริปต์ RandomSwatchesFill สุ่มสีของวัตถุที่เลือกในสีที่เลือกในจานสี Swatches
สคริปต์ RandOpacity เปลี่ยนความโปร่งใสของวัตถุที่เลือกโดยการสุ่มในช่วงจาก 0% ถึง 100% ของความโปร่งใสดั้งเดิมของวัตถุ
สคริปต์จะเปลี่ยนมุมไล่ระดับสีเชิงเส้นของวัตถุที่เลือกทั้งหมดตามลำดับแบบสุ่ม
สคริปต์การสั่งซื้อแบบสุ่มช่วยให้คุณสามารถแจกจ่ายวัตถุในลำดับแบบสุ่มในแผงเลเยอร์ ฉันใช้สคริปต์นี้เมื่อเขียน
สคริปต์สำหรับทำงานในแผงเลเยอร์
สคริปต์จะลบเลเยอร์ที่ว่างเปล่าทั้งหมดในเอกสารปัจจุบัน
คุณมีโอกาสที่ไม่ซ้ำใครในการขยายการทำงานของ Adobe Illustrator ไม่มีอะไรง่ายกว่าการใช้สคริปต์ (ไฟล์สคริปต์) เพียงแค่เลือกวัตถุและเรียกใช้สคริปต์ที่คุณต้องการ สคริปต์ที่นำเสนอในบทความนี้จะช่วยให้คุณประหยัดเวลาได้มากทำให้การทำงานของคุณสนุกและมีประสิทธิภาพมากขึ้น เชื่อฉันสิพวกเขาควรค่ากับความสนใจของคุณ สคริปต์ทั้งหมดได้รับการทดสอบใน Illustrator รุ่น CS3 และ CS4
หากคุณต้องการโปรแกรมเสริม Illustrator คุณภาพสูงคุณสามารถค้นหาได้ในส่วน Illustrator Actions and Scripts ของทรัพยากร GraphicRiver ของเราเช่น: Isometric Guides Grid Action (แอ็คชั่นตาข่าย isometric), Maker แบบและยาว แอ็คชั่นเงา
Best Actions (Operations) และสคริปต์สำหรับ Illustrator บน Graphic Riverมิฉะนั้นใช้ "สารพัด" ฟรีที่เราจะบอกคุณตอนนี้ ก่อนอื่นเรามาดูวิธีการติดตั้งสคริปต์สำหรับ Illustrator
การติดตั้งสคริปต์
ขอแนะนำให้บันทึกสคริปต์ที่คุณจะใช้ในที่เดียวกันเสมอตัวอย่างเช่นในไดเรกทอรี Scrips หากต้องการเรียกใช้สคริปต์ให้ไปที่ไฟล์\u003e สคริปต์\u003e สคริปต์อื่น (คำสั่ง + F12) (ไฟล์\u003e สคริปต์\u003e สคริปต์อื่น ๆ )
เปิดไดเรกทอรีที่มีสคริปต์และเรียกใช้ไฟล์ที่ต้องการ