ปลั๊กอินตัวกรอง
เราใช้ปลั๊กอิน procedure สำหรับบทแนะนำ ขั้นตอนแรก ปลั๊กอินประเภทเหล่านั้นทำงานได้โดยไม่ต้องใช้รูปภาพหรือวาดเป็นอินพุตได้ โดยปกติแล้ว เราใช้ปลั๊กอินเพื่อเปลี่ยนรูปภาพและสิ่งที่วาดได้ ปลั๊กอินลักษณะนี้เรียกว่าปลั๊กอิน filter
Drawable คืออะไร?
วาดได้ ใน Lumi หมายถึงองค์ประกอบรูปภาพที่สามารถวาดลงบนได้ เช่น เลเยอร์หรือช่อง โดยทั่วไปปลั๊กอินตัวกรองจะทำงานบนองค์ประกอบเหล่านี้
ตัวอย่างปลั๊กอินตัวกรองอย่างง่าย
# !/usr/bin/env lumi-scheme-interpreter-0.1
(define (scheme-simple-filter-plug-in image drawables)
;; Use a let statement to define a message variable and core code
(let ((message "hello, world"))
;; Display the message in Lumi's error console
(lumi-message message)
;; Invert the colors of the first selected drawable
(lumi-drawable-invert (vector-ref drawables 0) 1)))
;; Register the plug-in
(scheme-register-filter
"scheme-simple-filter-plug-in" ;; Main procedure name
"Simple Filter Plug-in Demo" ;; The name as it appears in the Lumi menu
"Tests a basic Scheme filter plug-in" ;; Tool-tip description
"Author Name" ;; Give yourself some credit
"License" ;; License
"Date written" ;; Date written
"*" ;; Indicates this plug-in requires an image
SF-ONE-OR-MORE-DRAWABLE) ;; Requires one or more selected drawables
;; Specify the menu location for the plug-in
(scheme-menu-register
"scheme-simple-filter-plug-in"
"<Image>/Plug-in")คัดลอกข้อความและบันทึกเป็น simple-filter-plug-in.scm ในโฟลเดอร์ชื่อ simple-filter-plug-in ภายในโฟลเดอร์ปลั๊กอินของ Lumi โฟลเดอร์ปลั๊กอิน Lumi คือโฟลเดอร์ any ที่อยู่ในรายการ:
Lumi > แก้ไข > การตั้งค่า > โฟลเดอร์ > ปลั๊กอิน
ใน Linux คลิกขวาที่ไฟล์ simple-filter-plug-in.scm ไปที่ Properties > Permissions และทำเครื่องหมาย Allow executing file as program เมื่อไฟล์อยู่ในตำแหน่งที่ถูกต้อง สามารถเรียกใช้งานได้และปราศจากข้อผิดพลาดทางไวยากรณ์ เมื่อรีสตาร์ท Lumi ไฟล์นั้นจะปรากฏในแถบส่วนหัวของเมนูด้านบน ภายในเมนูที่เรียกว่า ปลั๊กอิน
การเรียกใช้ปลั๊กอิน
- เปิดรูปภาพ (ปลั๊กอินตัวกรองนี้ต้องใช้รูปภาพจึงจะใช้งานได้)
- เปิด Windows > Dockable Dialogs > Error Console เพื่อดูข้อความ
- เลือก การสาธิตปลั๊กอินตัวกรองแบบง่าย จากเมนู ปลั๊กอิน
- หนึ่งในเลเยอร์ที่เลือกจะมีการกลับสีและข้อความจะถูกพิมพ์ไปยังคอนโซลข้อผิดพลาด
การแก้ไขปลั๊กอิน
คุณสามารถปรับแต่งปลั๊กอินได้โดยแก้ไขไฟล์ .scm ตัวอย่างเช่น หากต้องการเปลี่ยนข้อความที่แสดง:
- เปิดไฟล์และค้นหาบรรทัดที่กำหนด
message - แทนที่
"hello, world"ด้วยข้อความที่คุณกำหนดเอง - บันทึกไฟล์
ใน Lumi เวอร์ชัน 3 ปลั๊กอินไม่จำเป็นต้องรีเฟรชเพื่อให้การเปลี่ยนแปลงที่บันทึกไว้มีผล เพียงเรียกใช้ปลั๊กอินอีกครั้งเพื่อดูข้อความที่อัปเดต
การตรวจสอบปลั๊กอิน
สายชีบัง
บรรทัดแรกช่วยให้แน่ใจว่าสคริปต์ทำงานเป็นปลั๊กอินใน Lumi 3:
# !/usr/bin/env lumi-scheme-interpreter-0.1คำจำกัดความของขั้นตอน
ขั้นตอนยอมรับสองอาร์กิวเมนต์: รูปภาพที่ใช้งานอยู่และสิ่งที่วาดได้ที่เลือก
(define (scheme-simple-filter-plug-in image drawables)คอร์ลอจิก
คำสั่ง let กำหนดตัวแปรและดำเนินการกับสิ่งที่ถอนออกได้
(let ((message "hello, world"))
(lumi-message message) ;; Displays a message in Lumi's error console
(lumi-drawable-invert (vector-ref drawables 0) 1)) ;; Inverts the colors of the first selected drawableการลงทะเบียนปลั๊กอิน
ปลั๊กอินได้รับการลงทะเบียนกับ Lumi เป็นปลั๊กอินตัวกรอง:
(scheme-register-filter
"scheme-simple-filter-plug-in" ;; Register the main procedure
"Simple Filter Plug-in Demo" ;; The name as it appears in the Lumi menu
"Tests a basic Scheme filter plug-in" ;; Tool-tip description
"Author Name" ;; Author's name
"License" ;; License type
"Date written" ;; Date written
"*" ;; Indicates the plug-in requires an image
SF-ONE-OR-MORE-DRAWABLE) ;; Requires one or more selected drawablesลงทะเบียนเมนู
บรรทัดนี้ระบุตำแหน่งเมนูสำหรับปลั๊กอิน:
(scheme-menu-register
"scheme-simple-filter-plug-in"
"<Image>/Plug-in")การแก้ไขปัญหา
หากปลั๊กอินไม่ปรากฏขึ้น ให้ตรวจสอบตำแหน่ง ชื่อ และคุณสมบัติที่ปฏิบัติการได้
ตำแหน่งจะต้องอยู่ในเส้นทางการค้นหาปลั๊กอิน ชื่อไฟล์จะต้องตรงกับชื่อของโฟลเดอร์ที่มีอยู่ ไฟล์จะต้องถูกตั้งค่าให้ปฏิบัติการได้
คอนโซลข้อผิดพลาด เป็นเครื่องมืออันทรงคุณค่าสำหรับการแก้ไขปัญหาปลั๊กอินที่กำหนดเอง หากปลั๊กอินของคุณไม่ทำงานตามที่คาดไว้ ให้ตรวจสอบข้อความแสดงข้อผิดพลาดหรือบันทึกที่นี่ หน้าต่าง เทอร์มินัล ยังสามารถให้ข้อมูลการแก้ไขข้อบกพร่องและรายงานปัญหาในการโหลดได้