Filterplugin
Vi använde ett plugin-program procedure för handledningen Första steget. Dessa typer av plugin-program fungerar utan att behöva en bild eller ritbar som indata. Vanligtvis använder vi en plug-in för att ändra en bild och dess dragbara bilder. Plug-ins som dessa kallas filter plug-ins.
Vad är en Drawable?
En ritbar i Lumi hänvisar till ett bildelement som kan ritas på, till exempel ett lager eller en kanal. Filterplugin-program fungerar vanligtvis på dessa element.
Ett enkelt filterplugin-exempel
# !/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")Kopiera texten och spara den som simple-filter-plug-in.scm i en mapp som heter simple-filter-plug-in i en av Lumis plugin-mappar. En Lumi plug-ins mapp är any mapp listad under:
Lumi > Redigera > Inställningar > Mappar > Plugin-program
I Linux, högerklicka på filen simple-filter-plug-in.scm, gå till Egenskaper > Behörigheter och markera Tillåt exekvering av fil som program. När filen väl är på rätt plats, körbar och fri från syntaxfel, när Lumi startas om, kommer den att visas i den översta menyraden, inuti en meny som heter Plug-in.
Kör plugin-programmet
- Öppna en bild (det här filterpluginprogrammet kräver en bild för att fungera).
- Öppna Windows > Dockningsbara dialogrutor > Error Console för att se ett meddelande.
- Välj Simple Filter Plug-in Demo från Plug-in-menyn.
- Ett av de valda lagren kommer att ha sina färger inverterade och ett meddelande kommer att skrivas ut till felkonsolen.
Redigera plugin-programmet
Du kan anpassa plugin-programmet genom att redigera dess .scm-fil. Till exempel, för att ändra meddelandet som visas:
- Öppna filen och leta reda på raden som definierar
message. - Ersätt
"hello, world"med din anpassade text. - Spara filen.
I Lumi version 3 behöver plugin-program inte uppdateras för att sparade ändringar ska träda i kraft. Kör bara plugin-programmet igen för att se det uppdaterade meddelandet.
Plug-in undersökning
Shebang Line
Den första raden säkerställer att skriptet fungerar som en plug-in i Lumi 3:
# !/usr/bin/env lumi-scheme-interpreter-0.1Definition av procedur
Proceduren accepterar två argument: den aktiva bilden och de valda ritningarna.
(define (scheme-simple-filter-plug-in image drawables)Kärnlogik
En let-sats definierar en variabel och utför operationer på den ritbara.
(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 drawablePlugin-registrering
Plug-in är registrerad hos Lumi som en filterplugin:
(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 drawablesMenyregistrering
Den här raden anger menyplatsen för plugin-programmet:
(scheme-menu-register
"scheme-simple-filter-plug-in"
"<Image>/Plug-in")Felsökning
Om ett plugin-program inte visas kontrollerar du dess plats, namn och körbara egenskap.
Platsen måste vara i en plugin-sökväg. Filnamnet måste matcha namnet på mappen som innehåller. Filen måste ställas in som körbar.
Felkonsolen är ett värdefullt verktyg för att felsöka anpassade plugin-program. Om din plug-in inte fungerar som förväntat, kolla här för felmeddelanden eller loggar. Fönstret Terminal kan också tillhandahålla felsökningsinformation och rapportera laddningsproblem.