|
|
<sect1 id="developers-scripting">
|
|
|
<title
|
|
|
>Script</title>
|
|
|
|
|
|
<para
|
|
|
>In &chalk;, puoi scrivere script in Ruby o Python (la disponibilità degli interpreti potrebbe dipendere dalla tua distribuzione o da cosa ha installato il tuo amministratore). Qui vedrai una descrizione dell'API degli script. </para
|
|
|
><para
|
|
|
>Alcuni esempi sono distribuiti con &chalk;, e potresti trovarli sotto <filename
|
|
|
>/usr/share/apps/chalk/scripts</filename
|
|
|
> (o <filename
|
|
|
>/opt/kde/share/apps/chalk/scripts</filename
|
|
|
>). </para>
|
|
|
|
|
|
<sect2 id="developers-scripting-variables">
|
|
|
<title
|
|
|
>Variabili nel modulo <classname
|
|
|
>Krosschalkcore</classname
|
|
|
></title>
|
|
|
|
|
|
<itemizedlist>
|
|
|
<listitem
|
|
|
><para
|
|
|
><varname
|
|
|
>ChalkDocument</varname
|
|
|
> restituisce un oggetto <classname
|
|
|
>Document</classname
|
|
|
></para
|
|
|
></listitem>
|
|
|
<listitem
|
|
|
><para
|
|
|
><varname
|
|
|
>ChalkScript</varname
|
|
|
> restituisce un oggetto <classname
|
|
|
>ScriptProgress</classname
|
|
|
></para
|
|
|
></listitem>
|
|
|
</itemizedlist>
|
|
|
|
|
|
<para
|
|
|
>Puoi recuperare un oggetto usando la funzione <function
|
|
|
>get</function
|
|
|
> del modulo <classname
|
|
|
>Krosschalkcore</classname
|
|
|
>, in Ruby dovrai fare qualcosa come: <programlisting
|
|
|
>doc = Krosschalkcore::get("DocumentoDiChalk")
|
|
|
script = Krosschalkcore::get("ScriptDiChalk")
|
|
|
</programlisting>
|
|
|
</para>
|
|
|
|
|
|
</sect2>
|
|
|
|
|
|
<sect2 id="developers-scripting-functions">
|
|
|
<title
|
|
|
>Funzioni nel modulo <classname
|
|
|
>Krosschalkcore</classname
|
|
|
></title>
|
|
|
|
|
|
<itemizedlist>
|
|
|
<listitem
|
|
|
><para
|
|
|
>Funzione: <function
|
|
|
>getBrush</function
|
|
|
></para
|
|
|
><para
|
|
|
>Questa funzione restituisce un <classname
|
|
|
>Brush</classname
|
|
|
> preso dall'elenco delle risorse di &chalk;. Prende un argomento: il nome del pennello. Per esempio (in Ruby): <programlisting
|
|
|
>Krosschalkcore::getBrush("Circle (05)")
|
|
|
</programlisting
|
|
|
></para
|
|
|
></listitem>
|
|
|
|
|
|
<listitem
|
|
|
><para
|
|
|
>Funzione: <function
|
|
|
>getFilter</function
|
|
|
></para
|
|
|
><para
|
|
|
>Questa funzione restituisce un <classname
|
|
|
>Filter</classname
|
|
|
> preso dall'elenco delle risorse di &chalk;. Prende un argomento: il nome del filtro. Per esempio (in Ruby): <programlisting
|
|
|
>Krosschalkcore::getFilter("invert")
|
|
|
</programlisting
|
|
|
></para
|
|
|
></listitem>
|
|
|
|
|
|
<listitem
|
|
|
><para
|
|
|
>Funzione: <function
|
|
|
>getPattern</function
|
|
|
></para
|
|
|
><para
|
|
|
>Questa funzione restituisce un <classname
|
|
|
>Pattern</classname
|
|
|
> preso dall'elenco delle risorse di &chalk;. Prende un argomento: il nome del motivo. Per esempio (in Ruby): <programlisting
|
|
|
>Krosschalkcore::getPattern("Bricks")
|
|
|
</programlisting
|
|
|
></para
|
|
|
></listitem>
|
|
|
|
|
|
<listitem
|
|
|
><para
|
|
|
>Funzione: <function
|
|
|
>loadBrush</function
|
|
|
></para
|
|
|
><para
|
|
|
>Questa funzione carica un <classname
|
|
|
>Brush</classname
|
|
|
> e lo restituisce. Prende un argomento: il nome file del pennello.</para
|
|
|
></listitem>
|
|
|
|
|
|
<listitem
|
|
|
><para
|
|
|
>Funzione: <function
|
|
|
>loadPattern</function
|
|
|
></para
|
|
|
><para
|
|
|
>Questa funzione carica un <classname
|
|
|
>Pattern</classname
|
|
|
> e lo restituisce. Prende un argomento: il nome file del motivo.</para
|
|
|
></listitem>
|
|
|
|
|
|
<listitem
|
|
|
><para
|
|
|
>Funzione: <function
|
|
|
>newCircleBrush</function
|
|
|
></para
|
|
|
><para
|
|
|
>Questa funzione restituisce un <classname
|
|
|
>Brush</classname
|
|
|
> di forma circolare. Prende almeno due argomenti: larghezza e altezza. Ne può prendere altri due: larghezza e altezza della sfumatura. Se la sfumatura non è specificata, non verrà usata. Per esempio (in Ruby): <programlisting
|
|
|
>Krosschalkcore::newCircleBrush(10,20) # crea un cerchio semplice
|
|
|
Krosschalkcore::newCircleBrush(10,20,5,10) # crea una sfumatura
|
|
|
</programlisting
|
|
|
></para
|
|
|
></listitem>
|
|
|
|
|
|
<listitem
|
|
|
><para
|
|
|
>Funzione: <function
|
|
|
>newHSVColor</function
|
|
|
></para
|
|
|
><para
|
|
|
>Questa funzione restituisce un nuovo <classname
|
|
|
>Color</classname
|
|
|
> con la tripletta HSV data. Prende tre argomenti: componente di tonalità (da 0 a 255), componente di saturazione (da 0 a 255), componente di valore (da 0 a 255). Per esempio (in Ruby): <programlisting
|
|
|
>Krosschalkcore::newHSVColor(255,125,0)
|
|
|
</programlisting
|
|
|
></para
|
|
|
></listitem>
|
|
|
|
|
|
<listitem
|
|
|
><para
|
|
|
>Funzione: <function
|
|
|
>newImage</function
|
|
|
></para
|
|
|
><para
|
|
|
>Questa funzione restituisce un nuovo <classname
|
|
|
>Image</classname
|
|
|
>. Prende quattro argomenti: larghezza, altezza, identificativo dello spazio dei colori, nome dell'immagine. In cambio ottieni un oggetto <classname
|
|
|
>Image</classname
|
|
|
>. Per esempio (in Ruby): <programlisting
|
|
|
>Krosschalkcore::newImage(10,20, "RGBA", "kikoo")
|
|
|
</programlisting
|
|
|
></para
|
|
|
></listitem>
|
|
|
|
|
|
<listitem
|
|
|
><para
|
|
|
>Funzione: <function
|
|
|
>newRectBrush</function
|
|
|
></para
|
|
|
><para
|
|
|
>Questa funzione restituisce un nuovo <classname
|
|
|
>Brush</classname
|
|
|
> di forma rettangolare. Prende almeno due argomenti: larghezza e altezza. Può prenderne altri due: larghezza e altezza della sfumatura. Se la sfumatura non è specificata, non verrà usata. Per esempio (in Ruby): <programlisting
|
|
|
>Krosschalkcore::newRectBrush(10,20) # crea un rettangolo semplice
|
|
|
Krosschalkcore::newRectBrush(10,20,5,10) # crea una sfumatura
|
|
|
</programlisting
|
|
|
></para
|
|
|
></listitem>
|
|
|
|
|
|
<listitem
|
|
|
><para
|
|
|
>Funzione: <function
|
|
|
>newRGBColor</function
|
|
|
></para
|
|
|
><para
|
|
|
>Questa funzione restituisce un nuovo <classname
|
|
|
>Color</classname
|
|
|
> con la tripletta RGB data. Prende tre argomenti: componente del rosso (da 0 a 255), componente del verde (da 0 a 255), componente del blu (da 0 a 255). Per esempio (in Ruby): <programlisting
|
|
|
>Krosschalkcore::newRGBColor(255,0,0) # crea un colore rosso
|
|
|
Krosschalkcore::newRGBColor(255,255,255) # crea un colore bianco
|
|
|
</programlisting
|
|
|
></para
|
|
|
></listitem>
|
|
|
</itemizedlist>
|
|
|
</sect2>
|
|
|
|
|
|
<sect2 id="developers-scripting-objects">
|
|
|
<title
|
|
|
>Descrizioni ed elenchi di funzioni per vari oggetti in <classname
|
|
|
>Krosschalkcore</classname
|
|
|
></title>
|
|
|
|
|
|
<itemizedlist>
|
|
|
<listitem
|
|
|
><para
|
|
|
>Oggetto: PaintLayer</para>
|
|
|
|
|
|
<itemizedlist>
|
|
|
<listitem
|
|
|
><para
|
|
|
>Funzione: <function
|
|
|
>beginPainting</function
|
|
|
></para
|
|
|
></listitem>
|
|
|
|
|
|
<listitem
|
|
|
><para
|
|
|
>Funzione: <function
|
|
|
>convertToColorspace</function
|
|
|
></para
|
|
|
><para
|
|
|
>Converte l'immagine in uno spazio di colori. Questa funzione prende un argomento: il nome dello spazio di colori di destinazione. Per esempio (in Ruby): <programlisting
|
|
|
>image.convertToColorspace("CMYK")
|
|
|
</programlisting
|
|
|
></para
|
|
|
></listitem>
|
|
|
|
|
|
<listitem
|
|
|
><para
|
|
|
>Funzione: <function
|
|
|
>createHistogram</function
|
|
|
></para
|
|
|
><para
|
|
|
>Questa funzione crea un istogramma per questo livello. Prende due argomenti: il tipo di istogramma ("RGB8HISTO"), e 0 se l'istogramma è lineare, o 1 se è logaritmico.</para
|
|
|
></listitem>
|
|
|
|
|
|
<listitem
|
|
|
><para
|
|
|
>Funzione: <function
|
|
|
>createHLineIterator</function
|
|
|
></para
|
|
|
><para
|
|
|
>Crea un iteratore su un livello, itererà su una riga. Questa funzione prende tre argomenti: <varname
|
|
|
>x</varname
|
|
|
> (inizio sulla riga), <varname
|
|
|
>y</varname
|
|
|
> (posizione verticale della riga), larghezza della riga.</para
|
|
|
></listitem>
|
|
|
|
|
|
<listitem
|
|
|
><para
|
|
|
>Funzione: <function
|
|
|
>createPainter</function
|
|
|
></para
|
|
|
><para
|
|
|
>Questa funzione crea un <classname
|
|
|
>Painter</classname
|
|
|
> che ti permetterà di disegnare sul livello. </para
|
|
|
></listitem>
|
|
|
|
|
|
<listitem
|
|
|
><para
|
|
|
>Funzione: <function
|
|
|
>createRectIterator</function
|
|
|
></para
|
|
|
><para
|
|
|
>Crea un iteratore su un livello, itererà su un'area rettangolare. Questa funzione prende quattro argomenti: <varname
|
|
|
>x</varname
|
|
|
>, <varname
|
|
|
>y</varname
|
|
|
>, larghezza e altezza del rettangolo.</para
|
|
|
></listitem>
|
|
|
|
|
|
<listitem
|
|
|
><para
|
|
|
>Funzione: <function
|
|
|
>createVLineIterator</function
|
|
|
></para
|
|
|
><para
|
|
|
>Crea un iteratore su un livello, itererà su una colonna. Questa funzione prende tre argomenti: <varname
|
|
|
>x</varname
|
|
|
> (posizione orizzontale della colonna), <varname
|
|
|
>y</varname
|
|
|
> (inizio nella colonna), altezza della colonna.</para
|
|
|
></listitem>
|
|
|
|
|
|
<listitem
|
|
|
><para
|
|
|
>Funzione: <function
|
|
|
>endPainting</function
|
|
|
></para
|
|
|
><para
|
|
|
>Questa funzione chiude la voce di annullamento attuale e la aggiunge alla cronologia.</para
|
|
|
></listitem>
|
|
|
|
|
|
<listitem
|
|
|
><para
|
|
|
>Funzione: <function
|
|
|
>fastWaveletTransformation</function
|
|
|
></para
|
|
|
><para
|
|
|
>Restituisce la trasformata veloce wavelet del livello.</para
|
|
|
></listitem>
|
|
|
|
|
|
<listitem
|
|
|
><para
|
|
|
>Funzione: <function
|
|
|
>fastWaveletUntransformation</function
|
|
|
></para
|
|
|
><para
|
|
|
>Detrasforma un wavelet veloce in questo livello. Prende un argomento: un oggetto wavelet. Per esempio (in Ruby): <programlisting
|
|
|
>wavelet = layer.fastWaveletTransformation()
|
|
|
layer.fastWaveletUntransformation(wavelet)
|
|
|
</programlisting
|
|
|
></para
|
|
|
></listitem>
|
|
|
|
|
|
<listitem
|
|
|
><para
|
|
|
>Funzione: <function
|
|
|
>getHeight</function
|
|
|
></para
|
|
|
><para
|
|
|
>Restituisce l'altezza del livello.</para
|
|
|
></listitem>
|
|
|
|
|
|
<listitem
|
|
|
><para
|
|
|
>Funzione: <function
|
|
|
>getWidth</function
|
|
|
></para
|
|
|
><para
|
|
|
>Restituisce la larghezza del livello.</para
|
|
|
></listitem>
|
|
|
</itemizedlist>
|
|
|
</listitem>
|
|
|
|
|
|
<listitem
|
|
|
><para
|
|
|
>Oggetto: <classname
|
|
|
>Filter</classname
|
|
|
></para>
|
|
|
<itemizedlist>
|
|
|
|
|
|
<listitem
|
|
|
><para
|
|
|
>Funzione: <function
|
|
|
>getFilterConfiguration</function
|
|
|
></para
|
|
|
><para
|
|
|
>Questa funzione restituisce il <classname
|
|
|
>FilterConfiguration</classname
|
|
|
> associato con questo filtro.</para
|
|
|
></listitem>
|
|
|
|
|
|
<listitem
|
|
|
><para
|
|
|
>Funzione: <function
|
|
|
>process</function
|
|
|
></para
|
|
|
><para
|
|
|
>Questa funzione applicherà il filtro. Prende almeno un argomento: il livello sorgente. Puoi anche usare questi quattro argomenti: <varname
|
|
|
>x</varname
|
|
|
>, <varname
|
|
|
>y</varname
|
|
|
>, <varname
|
|
|
>width</varname
|
|
|
>, <varname
|
|
|
>height</varname
|
|
|
>. (<varname
|
|
|
>x</varname
|
|
|
>, <varname
|
|
|
>y</varname
|
|
|
>, <varname
|
|
|
>width</varname
|
|
|
>, <varname
|
|
|
>height</varname
|
|
|
>) definisce l'area rettangolare su cui il filtro sarà calcolato. Se il rettangolo non è definito, il filtro sarà applicato su tutto il livello originario. Per esempio (in Ruby) <programlisting
|
|
|
>doc = Krosschalkcore::get("DocumentoChalk")
|
|
|
image = doc.getImage()
|
|
|
layer = image.getActivePaintLayer()
|
|
|
width = layer.getWidth()
|
|
|
height = layer.getHeight()
|
|
|
filter = Krosschalkcore::getFilter("invert")
|
|
|
filter.process(layer, layer)
|
|
|
filter.process(layer, layer, 10, 10, 20, 20)
|
|
|
</programlisting
|
|
|
></para
|
|
|
></listitem>
|
|
|
</itemizedlist
|
|
|
></listitem>
|
|
|
|
|
|
<listitem
|
|
|
><para
|
|
|
>Oggetto: <classname
|
|
|
>FilterConfiguration</classname
|
|
|
></para>
|
|
|
<itemizedlist>
|
|
|
|
|
|
<listitem
|
|
|
><para
|
|
|
>Funzione: <function
|
|
|
>getProperty</function
|
|
|
></para
|
|
|
><para
|
|
|
>Questa funzione restituisce il valore del parametro del <classname
|
|
|
>Filter</classname
|
|
|
> associato. Prende un argomento: il nome del parametro.</para
|
|
|
></listitem>
|
|
|
|
|
|
<listitem
|
|
|
><para
|
|
|
>Funzione: <function
|
|
|
>setProperty</function
|
|
|
></para
|
|
|
><para
|
|
|
>Questa funzione definisce un parametro del <classname
|
|
|
>Filter</classname
|
|
|
> associato. Prende due argomenti: il nome e il valore del parametro, il cui tipo dipende dal <classname
|
|
|
>Filter</classname
|
|
|
>.</para
|
|
|
></listitem>
|
|
|
</itemizedlist>
|
|
|
</listitem>
|
|
|
|
|
|
<listitem
|
|
|
><para
|
|
|
>Oggetto: <classname
|
|
|
>Histogram</classname
|
|
|
></para>
|
|
|
|
|
|
<para
|
|
|
>Questa classe ti permette di accedere all'istogramma di un <classname
|
|
|
>PaintLayer</classname
|
|
|
>. Esempio (in Ruby): <programlisting
|
|
|
>doc = krosschalkcore::get("DocumentoChalk")
|
|
|
image = doc.getImage()
|
|
|
layer = image.getActiveLayer()
|
|
|
histo = layer.createHistogram("RGB8HISTO",0)
|
|
|
min = layer.getMin() * 255
|
|
|
max = layer.getMax() * 255
|
|
|
for i in min..max
|
|
|
print layer.getValue(i)
|
|
|
print "\n"
|
|
|
end
|
|
|
</programlisting>
|
|
|
</para>
|
|
|
|
|
|
<itemizedlist>
|
|
|
<listitem
|
|
|
><para
|
|
|
>Funzione: <function
|
|
|
>getChannel</function
|
|
|
></para
|
|
|
><para
|
|
|
>Restituisce il canale selezionato.</para
|
|
|
></listitem>
|
|
|
|
|
|
<listitem
|
|
|
><para
|
|
|
>Funzione: <function
|
|
|
>getCount</function
|
|
|
></para
|
|
|
><para
|
|
|
>Questa funzione restituisce il numero di pixel usati dall'istogramma.</para
|
|
|
></listitem>
|
|
|
|
|
|
<listitem
|
|
|
><para
|
|
|
>Funzione: <function
|
|
|
>getHighest</function
|
|
|
></para
|
|
|
><para
|
|
|
>Questa funzione restituisce il valore massimo dell'istogramma.</para
|
|
|
></listitem>
|
|
|
|
|
|
<listitem
|
|
|
><para
|
|
|
>Funzione: <function
|
|
|
>getLowest</function
|
|
|
></para
|
|
|
><para
|
|
|
>Questa funzione restituisce il valore minimo dell'istogramma.</para
|
|
|
></listitem>
|
|
|
|
|
|
<listitem
|
|
|
><para
|
|
|
>Funzione: <function
|
|
|
>getMax</function
|
|
|
></para
|
|
|
><para
|
|
|
>Questa funzione restituisce il limite massimo dell'istogramma (i valori a posizioni maggiori del massimo sono nulli). Il valore è nell'intervallo 0,0–1,0.</para
|
|
|
></listitem>
|
|
|
|
|
|
<listitem
|
|
|
><para
|
|
|
>Funzione: <function
|
|
|
>getMean</function
|
|
|
></para
|
|
|
><para
|
|
|
>Questa funzione restituisce la media dell'istogramma.</para
|
|
|
></listitem>
|
|
|
|
|
|
<listitem
|
|
|
><para
|
|
|
>Funzione: <function
|
|
|
>getMin</function
|
|
|
></para
|
|
|
><para
|
|
|
>Questa funzione restituisce il limite minimo dell'istogramma (i valori a posizioni inferiori del minimo sono nulli). Il valore è nell'intervallo 0,0–1,0.</para
|
|
|
></listitem>
|
|
|
|
|
|
<listitem
|
|
|
><para
|
|
|
>Funzione: <function
|
|
|
>getNumberOfBins</function
|
|
|
></para
|
|
|
><para
|
|
|
>Restituisce il numero di colonne dell'istogramma. </para
|
|
|
></listitem>
|
|
|
|
|
|
<listitem
|
|
|
><para
|
|
|
>Funzione: <function
|
|
|
>getTotal</function
|
|
|
></para
|
|
|
><para
|
|
|
>Questa funzione restituisce la somma di tutti i valori dell'istogramma.</para
|
|
|
></listitem>
|
|
|
|
|
|
<listitem
|
|
|
><para
|
|
|
>Funzione: <function
|
|
|
>getValue</function
|
|
|
></para
|
|
|
><para
|
|
|
>Restituisce il valore di una colonna dell'istogramma. Questa funzione prende un argomento: l'indice, nell'intervallo [0..255].</para
|
|
|
></listitem>
|
|
|
|
|
|
<listitem
|
|
|
><para
|
|
|
>Funzione: <function
|
|
|
>setChannel</function
|
|
|
></para
|
|
|
><para
|
|
|
>Seleziona il canale del livello da cui ottenere il risultato dell'istogramma. Questa funzione prende un argomento: il numero del canale.</para
|
|
|
></listitem>
|
|
|
</itemizedlist>
|
|
|
</listitem>
|
|
|
|
|
|
<listitem
|
|
|
><para
|
|
|
>Oggetto: <classname
|
|
|
>ScriptProgress</classname
|
|
|
></para>
|
|
|
<para
|
|
|
><classname
|
|
|
>ScriptProgress</classname
|
|
|
> viene usato per gestire la barra di avanzamento della barra di stato di &chalk;. Per esempio (in Ruby): <programlisting
|
|
|
>script = Krosschalkcore::get("ChalkScript")
|
|
|
script.setProgressTotalSteps(1000)
|
|
|
script.setProgressStage("progressive", 0)
|
|
|
for i in 1..900
|
|
|
script.incProgress()
|
|
|
end
|
|
|
script.setProgressStage("brutal", 1000)
|
|
|
</programlisting
|
|
|
></para>
|
|
|
|
|
|
<itemizedlist>
|
|
|
<listitem
|
|
|
><para
|
|
|
>Funzione: <function
|
|
|
>incProgress</function
|
|
|
></para
|
|
|
><para
|
|
|
>Questa funzione incrementa l'avanzamento di un passo.</para
|
|
|
></listitem>
|
|
|
|
|
|
<listitem
|
|
|
><para
|
|
|
>Funzione: <function
|
|
|
>setProgress</function
|
|
|
></para
|
|
|
><para
|
|
|
>Questa funzione imposta il valore dell'avanzamento. Prende un argomento: il valore dell'avanzamento.</para
|
|
|
></listitem>
|
|
|
|
|
|
<listitem
|
|
|
><para
|
|
|
>Funzione: <function
|
|
|
>setProgressStage</function
|
|
|
></para
|
|
|
><para
|
|
|
>Questa funzione imposta il valore dell'avanzamento e visualizza il testo.</para
|
|
|
></listitem>
|
|
|
|
|
|
<listitem
|
|
|
><para
|
|
|
>Funzione: <function
|
|
|
>setProgressTotalSteps</function
|
|
|
></para
|
|
|
><para
|
|
|
>Questa funzione imposta il numero di passi richiesti dallo script. Le serve un argomento: il valore massimo dell'avanzamento.</para
|
|
|
></listitem>
|
|
|
</itemizedlist>
|
|
|
</listitem>
|
|
|
|
|
|
<listitem
|
|
|
><para
|
|
|
>Oggetto: <classname
|
|
|
>Wavelet</classname
|
|
|
></para
|
|
|
><para
|
|
|
>Questo oggetto contiene i coefficienti di una trasformazione wavelet di un <classname
|
|
|
>PaintLayer</classname
|
|
|
>.</para>
|
|
|
<itemizedlist>
|
|
|
|
|
|
<listitem
|
|
|
><para
|
|
|
>Funzione: <function
|
|
|
>getDepth</function
|
|
|
></para
|
|
|
><para
|
|
|
>Restituisce la profondità del livello.</para
|
|
|
></listitem>
|
|
|
|
|
|
<listitem
|
|
|
><para
|
|
|
>Funzione: <function
|
|
|
>getNCoeff</function
|
|
|
></para
|
|
|
><para
|
|
|
>Restituisce il valore dell'ennesimo coefficiente. La funzione prende un argomento: l'indice del coefficiente.</para
|
|
|
></listitem>
|
|
|
|
|
|
<listitem
|
|
|
><para
|
|
|
>Funzione: <function
|
|
|
>getNumCoeffs</function
|
|
|
></para
|
|
|
><para
|
|
|
>Restituisce il numero di coefficienti in questo wavelet (= dimensione × dimensione × profondità).</para
|
|
|
></listitem>
|
|
|
|
|
|
<listitem
|
|
|
><para
|
|
|
>Funzione: <function
|
|
|
>getSize</function
|
|
|
></para
|
|
|
><para
|
|
|
>Restituisce la dimensione del wavelet (dimensione = larghezza = altezza).</para
|
|
|
></listitem>
|
|
|
|
|
|
<listitem
|
|
|
><para
|
|
|
>Funzione: <function
|
|
|
>getXYCoeff</function
|
|
|
></para
|
|
|
><para
|
|
|
>Restituisce il valore di un coefficiente. La funzione prende due argomenti: <varname
|
|
|
>x</varname
|
|
|
> e <varname
|
|
|
>y</varname
|
|
|
>.</para
|
|
|
></listitem>
|
|
|
|
|
|
<listitem
|
|
|
><para
|
|
|
>Funzione: <function
|
|
|
>setNCoeff</function
|
|
|
></para
|
|
|
><para
|
|
|
>Imposta il valore dell'ennesimo coefficiente. La funzione prende due argomenti: l'indice del coefficiente e il suo nuovo valore.</para
|
|
|
></listitem>
|
|
|
|
|
|
<listitem
|
|
|
><para
|
|
|
>Funzione: <function
|
|
|
>setXYCoeff</function
|
|
|
></para
|
|
|
><para
|
|
|
>Imposta il valore di un coefficiente. La funzione prende tre argomenti: <varname
|
|
|
>x</varname
|
|
|
>, <varname
|
|
|
>y</varname
|
|
|
> e il nuovo valore del coefficiente.</para
|
|
|
></listitem>
|
|
|
</itemizedlist>
|
|
|
</listitem>
|
|
|
|
|
|
<listitem
|
|
|
><para
|
|
|
>Oggetto: <classname
|
|
|
>Painter</classname
|
|
|
></para>
|
|
|
<itemizedlist>
|
|
|
|
|
|
<listitem
|
|
|
><para
|
|
|
>Funzione: <function
|
|
|
>convolve</function
|
|
|
></para
|
|
|
><para
|
|
|
>Questa funzione applica un nucleo di convoluzione a un'immagine. Prende almeno tre argomenti: un elenco di nuclei (tutti gli elenchi devono avere le stesse dimensioni), fattore e scostamento. </para
|
|
|
><para
|
|
|
>Il valore di un pixel sarà dato dalla funzione seguente: K×P/fattore+scostamento, dove K è il nucleo e P l'intorno. </para
|
|
|
><para
|
|
|
>Può prendere i seguenti argomenti opzionali: <varname
|
|
|
>borderOp</varname
|
|
|
> (controlla quanto convolvere i pixel sul bordo di un'immagine: 0 = usa il colore predefinito, 1 = usa il pixel sul lato opposto dell'immagine, 2 = usa il pixel del bordo, 3 = evita i bordi dei pixel). <varname
|
|
|
>channel</varname
|
|
|
> (1 per colore, 2 per alfa, 3 per entrambi), <varname
|
|
|
>x</varname
|
|
|
>, <varname
|
|
|
>y</varname
|
|
|
>, <varname
|
|
|
>width</varname
|
|
|
>, <varname
|
|
|
>height</varname
|
|
|
>.</para
|
|
|
></listitem>
|
|
|
|
|
|
<listitem
|
|
|
><para
|
|
|
>Funzione: <function
|
|
|
>setFillThreshold</function
|
|
|
></para
|
|
|
><para
|
|
|
>Imposta la soglia di riempimento. Prende un solo argomento: la soglia.</para
|
|
|
></listitem>
|
|
|
|
|
|
<listitem
|
|
|
><para
|
|
|
>Funzione: <function
|
|
|
>fillColor</function
|
|
|
></para
|
|
|
><para
|
|
|
>Inizia a riempire con un colore. Prende due argomenti: <varname
|
|
|
>x</varname
|
|
|
> e <varname
|
|
|
>y</varname
|
|
|
>.</para
|
|
|
></listitem>
|
|
|
|
|
|
<listitem
|
|
|
><para
|
|
|
>Funzione: <function
|
|
|
>fillPattern</function
|
|
|
></para
|
|
|
><para
|
|
|
>Inizia a riempire con un motivo. Prende due argomenti: <varname
|
|
|
>x</varname
|
|
|
> e <varname
|
|
|
>y</varname
|
|
|
>.</para
|
|
|
></listitem>
|
|
|
|
|
|
<listitem
|
|
|
><para
|
|
|
>Funzione: <function
|
|
|
>paintPolyline</function
|
|
|
></para
|
|
|
><para
|
|
|
>Questa funzione disegnerà una polilinea. Prende due argomenti: un elenco di posizioni x e un elenco di posizioni y.</para
|
|
|
></listitem>
|
|
|
|
|
|
<listitem
|
|
|
><para
|
|
|
>Funzione: <function
|
|
|
>paintLine</function
|
|
|
></para
|
|
|
><para
|
|
|
>Questa funzione disegnerà una linea. Prende cinque argomenti: <varname
|
|
|
>x1</varname
|
|
|
>, <varname
|
|
|
>y1</varname
|
|
|
>, <varname
|
|
|
>x2</varname
|
|
|
>, <varname
|
|
|
>y2</varname
|
|
|
>, e <varname
|
|
|
>pressure</varname
|
|
|
>. </para
|
|
|
></listitem>
|
|
|
|
|
|
<listitem
|
|
|
><para
|
|
|
>Funzione: <function
|
|
|
>paintBezierCurve</function
|
|
|
></para
|
|
|
><para
|
|
|
>Questa funzione disegnerà una curva di Bezier. Prende dieci argomenti: <varname
|
|
|
>x1</varname
|
|
|
>, <varname
|
|
|
>y1</varname
|
|
|
>, <varname
|
|
|
>p1</varname
|
|
|
>, <varname
|
|
|
>cx1</varname
|
|
|
>, <varname
|
|
|
>cy1</varname
|
|
|
>, <varname
|
|
|
>cx2</varname
|
|
|
>, <varname
|
|
|
>cx2</varname
|
|
|
>, <varname
|
|
|
>x2</varname
|
|
|
>, <varname
|
|
|
>y2</varname
|
|
|
>, <varname
|
|
|
>p2</varname
|
|
|
>, dove (<varname
|
|
|
>x1</varname
|
|
|
>,<varname
|
|
|
>y1</varname
|
|
|
>) è la posizione iniziale, <varname
|
|
|
>p1</varname
|
|
|
> è la pressione all'inizio, (<varname
|
|
|
>x2</varname
|
|
|
>,<varname
|
|
|
>y2</varname
|
|
|
>) è la posizione finale, <varname
|
|
|
>p2</varname
|
|
|
> è la pressione alla fine. (<varname
|
|
|
>cx1</varname
|
|
|
>,<varname
|
|
|
>cy1</varname
|
|
|
>) e (<varname
|
|
|
>cx2</varname
|
|
|
>,<varname
|
|
|
>cy2</varname
|
|
|
>) sono le posizioni ai punti di controllo.</para
|
|
|
></listitem>
|
|
|
|
|
|
<listitem
|
|
|
><para
|
|
|
>Funzione: <function
|
|
|
>paintEllipse</function
|
|
|
></para
|
|
|
><para
|
|
|
>Questa funzione disegnerà un ellisse. Prende cinque argomenti <varname
|
|
|
>x1</varname
|
|
|
>, <varname
|
|
|
>y1</varname
|
|
|
>, <varname
|
|
|
>x2</varname
|
|
|
>, <varname
|
|
|
>y2</varname
|
|
|
>, <varname
|
|
|
>pressure</varname
|
|
|
>, dove (<varname
|
|
|
>x1</varname
|
|
|
>,<varname
|
|
|
>y1</varname
|
|
|
>) e (<varname
|
|
|
>x2</varname
|
|
|
>,<varname
|
|
|
>y2</varname
|
|
|
>) sono le posizioni dei due centri.</para
|
|
|
></listitem>
|
|
|
|
|
|
<listitem
|
|
|
><para
|
|
|
>Funzione: <function
|
|
|
>paintPolygon</function
|
|
|
></para
|
|
|
><para
|
|
|
>Questa funzione disegnerà un poligono. Prende due argomenti: un elenco di posizioni x e un elenco di posizioni y.</para
|
|
|
></listitem>
|
|
|
|
|
|
<listitem
|
|
|
><para
|
|
|
>Funzione: <function
|
|
|
>paintRect</function
|
|
|
></para
|
|
|
><para
|
|
|
>Questa funzione disegnerà un rettangolo. Prende cinque argomenti: <varname
|
|
|
>x</varname
|
|
|
>, <varname
|
|
|
>y</varname
|
|
|
>, <varname
|
|
|
>width</varname
|
|
|
> <varname
|
|
|
>height</varname
|
|
|
>, <varname
|
|
|
>pressure</varname
|
|
|
>.</para
|
|
|
></listitem>
|
|
|
|
|
|
<listitem
|
|
|
><para
|
|
|
>Funzione: <function
|
|
|
>paintAt</function
|
|
|
></para
|
|
|
><para
|
|
|
>Questa funzione disegnerà in un certo punto. Prende tre argomenti: <varname
|
|
|
>x</varname
|
|
|
>, <varname
|
|
|
>y</varname
|
|
|
>, <varname
|
|
|
>pressure</varname
|
|
|
>.</para
|
|
|
></listitem>
|
|
|
|
|
|
<listitem
|
|
|
><para
|
|
|
>Funzione: <function
|
|
|
>setPaintColor</function
|
|
|
></para
|
|
|
><para
|
|
|
>Questa funzione imposta il colore del tratto (detto anche colore di primo piano). Prende un argomento: un <classname
|
|
|
>Color</classname
|
|
|
>.</para
|
|
|
></listitem>
|
|
|
|
|
|
<listitem
|
|
|
><para
|
|
|
>Funzione: <function
|
|
|
>setBackgroundColor</function
|
|
|
></para
|
|
|
><para
|
|
|
>Questa funzione imposta il colore di sfondo. Prende un argomento: un <classname
|
|
|
>Color</classname
|
|
|
>.</para
|
|
|
></listitem>
|
|
|
|
|
|
<listitem
|
|
|
><para
|
|
|
>Funzione: <function
|
|
|
>setPattern</function
|
|
|
></para
|
|
|
><para
|
|
|
>Questa funzione imposta il motivo usato per lo riempimento. Prende un argomento: un oggetto <classname
|
|
|
>Pattern</classname
|
|
|
>.</para
|
|
|
></listitem>
|
|
|
|
|
|
<listitem
|
|
|
><para
|
|
|
>Funzione: <function
|
|
|
>setBrush</function
|
|
|
></para
|
|
|
><para
|
|
|
>Questa funzione imposta il pennello usato per disegnare. Prende un argomento: un oggetto <classname
|
|
|
>Brush</classname
|
|
|
>.</para
|
|
|
></listitem>
|
|
|
|
|
|
<listitem
|
|
|
><para
|
|
|
>Funzione: <function
|
|
|
>setPaintOp</function
|
|
|
></para
|
|
|
><para
|
|
|
>Questa funzione definisce l'operazione di disegno. Prende un argomento: il nome dell'operazione.</para
|
|
|
></listitem>
|
|
|
|
|
|
<listitem
|
|
|
><para
|
|
|
>Funzione: <function
|
|
|
>setDuplicateOffset</function
|
|
|
></para
|
|
|
><para
|
|
|
>Questa funzione definisce lo scostamento del duplicato. Prende due argomenti: lo scostamento orizzontale e quello verticale.</para
|
|
|
></listitem>
|
|
|
|
|
|
<listitem
|
|
|
><para
|
|
|
>Funzione: <function
|
|
|
>setOpacity</function
|
|
|
></para
|
|
|
><para
|
|
|
>Questa funzione imposta l'opacità del disegno. Prende un argomento: l'opacità, in un intervallo da 0 a 255.</para
|
|
|
></listitem>
|
|
|
|
|
|
<listitem
|
|
|
><para
|
|
|
>Funzione: <function
|
|
|
>setStrokeStyle</function
|
|
|
></para
|
|
|
><para
|
|
|
>Questa funzione imposta lo stile del tratto. Prende un argomento: 0 per nessuno, 1 per pennello.</para
|
|
|
></listitem>
|
|
|
|
|
|
<listitem
|
|
|
><para
|
|
|
>Funzione: <function
|
|
|
>setFillStyle</function
|
|
|
></para
|
|
|
><para
|
|
|
>Questa funzione imposta lo stile di riempimento del <classname
|
|
|
>Painter</classname
|
|
|
>. Prende un argomento: 0 per nessuno, 1 per riempire con il colore di primo piano, 2 per riempire con il colore di sfondo, 3 per riempire con un motivo.</para
|
|
|
></listitem>
|
|
|
</itemizedlist>
|
|
|
</listitem>
|
|
|
|
|
|
<listitem
|
|
|
><para
|
|
|
>Oggetto: <classname
|
|
|
>Iterator</classname
|
|
|
></para
|
|
|
><para
|
|
|
>Questo oggetto ti permette di cambiare i valori dei pixel uno alla volta. Il nome di alcune funzioni dipende dallo spazio dei colori; per esempio, se lo spazio dei colori del livello è RGB, avrai <function
|
|
|
>setR</function
|
|
|
>, <function
|
|
|
>setG</function
|
|
|
> e <function
|
|
|
>setB</function
|
|
|
>, e per CMYK: <function
|
|
|
>setC</function
|
|
|
>, <function
|
|
|
>setM</function
|
|
|
>, <function
|
|
|
>setY</function
|
|
|
> e <function
|
|
|
>setK</function
|
|
|
>. Nella documentazione sotto assumeremo che lo spazio viene chiamato ABC, con tre canali: A, B e C.</para>
|
|
|
|
|
|
<itemizedlist>
|
|
|
<listitem
|
|
|
><para
|
|
|
>Funzioni: <function
|
|
|
>setA</function
|
|
|
>, <function
|
|
|
>setB</function
|
|
|
>, <function
|
|
|
>setC</function
|
|
|
></para
|
|
|
><para
|
|
|
>Queste funzioni prendono un argomento: il nuovo valore di uno dei canali di questo pixel.</para
|
|
|
></listitem>
|
|
|
|
|
|
<listitem
|
|
|
><para
|
|
|
>Funzione: <function
|
|
|
>setABC</function
|
|
|
></para
|
|
|
><para
|
|
|
>Imposta il valore di tutti i canali. Questa funzione prende un argomento: un array con i nuovi valori di tutti i canali.</para
|
|
|
></listitem>
|
|
|
|
|
|
<listitem
|
|
|
><para
|
|
|
>Funzioni: <function
|
|
|
>getA</function
|
|
|
>, <function
|
|
|
>getB</function
|
|
|
>, <function
|
|
|
>getC</function
|
|
|
></para
|
|
|
><para
|
|
|
>Restituisce il valore di uno dei canali di questo pixel.</para
|
|
|
></listitem>
|
|
|
|
|
|
<listitem
|
|
|
><para
|
|
|
>Funzione: <function
|
|
|
>getABC</function
|
|
|
></para
|
|
|
><para
|
|
|
>Restituisce un array con i valori di tutti i canali.</para
|
|
|
></listitem>
|
|
|
|
|
|
<listitem
|
|
|
><para
|
|
|
>Funzione: <function
|
|
|
>darken</function
|
|
|
></para
|
|
|
><para
|
|
|
>Scurisci un pixel. Questa funzione prende almeno un argomento: <varname
|
|
|
>shade</varname
|
|
|
> (quantità usata per scurire tutti i canali dei colori). Questa funzione può prendere il seguente argomento opzionale: <varname
|
|
|
>compensation</varname
|
|
|
> (per limitare l'oscuramento).</para
|
|
|
></listitem>
|
|
|
|
|
|
<listitem
|
|
|
><para
|
|
|
>Funzione: <function
|
|
|
>invertColor</function
|
|
|
></para
|
|
|
><para
|
|
|
>Inverti il colore di un pixel.</para
|
|
|
></listitem>
|
|
|
|
|
|
<listitem
|
|
|
><para
|
|
|
>Funzione: <function
|
|
|
>next</function
|
|
|
></para
|
|
|
><para
|
|
|
>Aumenta la posizione, vai al prossimo pixel.</para
|
|
|
></listitem>
|
|
|
|
|
|
<listitem
|
|
|
><para
|
|
|
>Funzione: <function
|
|
|
>isDone</function
|
|
|
></para
|
|
|
><para
|
|
|
>Restituisci vero se l'iteratore è alla fine (non ci sono più pixel).</para
|
|
|
></listitem>
|
|
|
</itemizedlist>
|
|
|
</listitem>
|
|
|
</itemizedlist>
|
|
|
|
|
|
</sect2>
|
|
|
|
|
|
<sect2 id="developers-scripting-resources">
|
|
|
<title
|
|
|
>Risorse</title>
|
|
|
|
|
|
<para
|
|
|
>Ecco dei suggerimenti o elenchi parziali di risorse per &chalk;. </para
|
|
|
><para
|
|
|
>Per <classname
|
|
|
>Brush</classname
|
|
|
> e <classname
|
|
|
>Pattern</classname
|
|
|
>: puoi avere il nome del pennello o del motivo associato dal selettore nella barra degli strumenti di &chalk;. </para
|
|
|
><para
|
|
|
>Un elenco di identificativi per gli spazi dei colori di &chalk;: LABA, RGBA, RGBA16, RGBAF32, RGBAF16HALF, LMSAF32, GRAYA, GRAYA16, CMYK, CMYKA16. </para>
|
|
|
</sect2>
|
|
|
|
|
|
</sect1>
|
|
|
|