You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
1133 lines
25 KiB
1133 lines
25 KiB
<sect1 id="developers-scripting">
|
|
<title
|
|
>Met scripts werken</title>
|
|
|
|
<para
|
|
>In &chalk; kunt u scripts in Ruby of Python schrijven (de beschikbaarheid van de interpreters kan afhankelijk zijn van wat uw distributie of de systeembeheerder geïnstalleerd heeft.). Hier vindt u een beschrijving ven de scripting-API. </para
|
|
><para
|
|
>Bij &chalk; worden enkele voorbeelden meegeleverd, u kunt ze waarschijnlijk vinden in <filename
|
|
>/usr/share/apps/chalk/scripts</filename
|
|
> (of <filename
|
|
>/opt/kde/share/apps/chalk/scripts</filename
|
|
>). </para>
|
|
|
|
<sect2 id="developers-scripting-variables">
|
|
<title
|
|
>Variabelen in de <classname
|
|
>Krosschalkcore</classname
|
|
>-module</title>
|
|
|
|
<itemizedlist>
|
|
<listitem
|
|
><para
|
|
><varname
|
|
>ChalkDocument</varname
|
|
> geeft een <classname
|
|
>Document</classname
|
|
>-object terug</para
|
|
></listitem>
|
|
<listitem
|
|
><para
|
|
><varname
|
|
>ChalkScript</varname
|
|
> geeft een <classname
|
|
>ScriptProgress</classname
|
|
>-object terug</para
|
|
></listitem>
|
|
</itemizedlist>
|
|
|
|
<para
|
|
>U kunt een object ophalen door de functie <function
|
|
>get</function
|
|
> van de <classname
|
|
>Krosschalkcore</classname
|
|
>-module te gebruiken, in Ruby moet u iets als dit gebruiken: <programlisting
|
|
>doc = Krosschalkcore::get("ChalkDocument")
|
|
script = Krosschalkcore::get("ChalkScript")
|
|
</programlisting>
|
|
</para>
|
|
|
|
</sect2>
|
|
|
|
<sect2 id="developers-scripting-functions">
|
|
<title
|
|
>Functies in de <classname
|
|
>Krosschalkcore</classname
|
|
>-module</title>
|
|
|
|
<itemizedlist>
|
|
<listitem
|
|
><para
|
|
>Functie: <function
|
|
>getBrush</function
|
|
></para
|
|
><para
|
|
>Deze functie geeft een <classname
|
|
>Brush</classname
|
|
> terug uit de bronnenlijst van &chalk; Er moet één argument meegegeven worden: de naam van het penseel. Bijvoorbeeld (in Ruby): <programlisting
|
|
>Krosschalkcore::getBrush("Circle (05)")
|
|
</programlisting
|
|
></para
|
|
></listitem>
|
|
|
|
<listitem
|
|
><para
|
|
>Functie: <function
|
|
>getFilter</function
|
|
></para
|
|
><para
|
|
>Deze functie geeft een <classname
|
|
>Filter</classname
|
|
> terug uit de bronnenlijst van &chalk;. Er moet één argument meegegeven worden: de naam van het filter. Bijvoorbeeld (in Ruby): <programlisting
|
|
>Krosschalkcore::getFilter("invert")
|
|
</programlisting
|
|
></para
|
|
></listitem>
|
|
|
|
<listitem
|
|
><para
|
|
>Functie: <function
|
|
>getPattern</function
|
|
></para
|
|
><para
|
|
>Deze functie geeft een <classname
|
|
>Pattern</classname
|
|
> terug uit de bronnenlijst van &chalk;. Er moet één argument meegegeven worden: de naam van het patroon. Bijvoorbeeld (in Ruby): <programlisting
|
|
>Krosschalkcore::getPattern("Bricks")
|
|
</programlisting
|
|
></para
|
|
></listitem>
|
|
|
|
<listitem
|
|
><para
|
|
>Functie: <function
|
|
>loadBrush</function
|
|
></para
|
|
><para
|
|
>Deze functie laadt een <classname
|
|
>Brush</classname
|
|
> en geeft het vervolgens terug. Er moet één argument meegegeven worden: de bestandsnaam van het penseel.</para
|
|
></listitem>
|
|
|
|
<listitem
|
|
><para
|
|
>Functie: <function
|
|
>loadPattern</function
|
|
></para
|
|
><para
|
|
>Deze functie laadt een <classname
|
|
>Pattern</classname
|
|
> en geeft het vervolgens terug. Er moet één argument meegegeven worden: de bestandsnaam van het patroon.</para
|
|
></listitem>
|
|
|
|
<listitem
|
|
><para
|
|
>Functie: <function
|
|
>newCircleBrush</function
|
|
></para
|
|
><para
|
|
>Deze functie geeft een <classname
|
|
>Brush</classname
|
|
> met een ronde vorm terug. Er moeten ten minste twee argumenten meegegeven worden: breedte en hoogte. Er kunnen twee andere argumenten meegegeven worden: breedte van de schaduw en hoogte van de schaduw. Als de schaduw niet gespecificeerd is, wordt deze niet gebruikt. Bijvoorbeeld (in Ruby): <programlisting
|
|
>Krosschalkcore::newCircleBrush(10,20) # create a plain circle
|
|
Krosschalkcore::newCircleBrush(10,20,5,10) # create a gradient
|
|
</programlisting
|
|
></para
|
|
></listitem>
|
|
|
|
<listitem
|
|
><para
|
|
>Functie: <function
|
|
>newHSVColor</function
|
|
></para
|
|
><para
|
|
>Deze functie geeft een nieuwe <classname
|
|
>Color</classname
|
|
> met het gegeven HSV-triplet terug. Er moeten drie argumenten meegegeven worden: hue-component (0 tot 255), saturation-component (0 tot 255) en value-component (0 tot 255). Bijvoorbeeld (in Ruby): <programlisting
|
|
>Krosschalkcore::newHSVColor(255,125,0)
|
|
</programlisting
|
|
></para
|
|
></listitem>
|
|
|
|
<listitem
|
|
><para
|
|
>Functie: <function
|
|
>newImage</function
|
|
></para
|
|
><para
|
|
>Deze functie geeft een nieuwe <classname
|
|
>Image</classname
|
|
> terug. Er moeten vier argumenten meegegeven worden: breedte, hoogte, kleurruimte-id en naam van de afbeelding. Er wordt een <classname
|
|
>Image</classname
|
|
>-object teruggegeven. Bijvoorbeeld (in Ruby): <programlisting
|
|
>Krosschalkcore::newImage(10,20, "RGBA", "kikoo")
|
|
</programlisting
|
|
></para
|
|
></listitem>
|
|
|
|
<listitem
|
|
><para
|
|
>Functie: <function
|
|
>newRectBrush</function
|
|
></para
|
|
><para
|
|
>Deze functie geeft een <classname
|
|
>Brush</classname
|
|
> met een rechthoekige vorm terug. Er moeten ten minste twee argumenten meegegeven worden: breedte en hoogte. Er kunnen twee andere argumenten meegegeven worden: breedte van de schaduw en hoogte van de schaduw. Als de schaduw niet gespecificeerd is, wordt deze niet gebruikt. Bijvoorbeeld (in Ruby): <programlisting
|
|
>Krosschalkcore::newRectBrush(10,20) # create a plain rectangle
|
|
Krosschalkcore::newRectBrush(10,20,5,10) # create a gradient
|
|
</programlisting
|
|
></para
|
|
></listitem>
|
|
|
|
<listitem
|
|
><para
|
|
>Functie: <function
|
|
>newRGBColor</function
|
|
></para
|
|
><para
|
|
>Deze functie geeft een nieuwe <classname
|
|
>Color</classname
|
|
> met het gegeven RGB-triplet terug. Er moeten drie argumenten meegegeven worden: red-component (0 tot 255), blue-component (0 tot 255), green-component (0 tot 255). Bijvoorbeeld (in Ruby): <programlisting
|
|
>Krosschalkcore::newRGBColor(255,0,0) # create a red color
|
|
Krosschalkcore::newRGBColor(255,255,255) # create a white color
|
|
</programlisting
|
|
></para
|
|
></listitem>
|
|
</itemizedlist>
|
|
</sect2>
|
|
|
|
<sect2 id="developers-scripting-objects">
|
|
<title
|
|
>Beschrijvingen en functielijsten voor diverse objecten in <classname
|
|
>Krosschalkcore</classname
|
|
></title>
|
|
|
|
<itemizedlist>
|
|
<listitem
|
|
><para
|
|
>Object: PaintLayer</para>
|
|
|
|
<itemizedlist>
|
|
<listitem
|
|
><para
|
|
>Functie: <function
|
|
>beginPainting</function
|
|
></para
|
|
></listitem>
|
|
|
|
<listitem
|
|
><para
|
|
>Functie: <function
|
|
>convertToColorspace</function
|
|
></para
|
|
><para
|
|
>Converteert de afbeelding naar een kleurruimte. Er moet één argument aan deze functie meegegeven worden: de naam van de doelkleurruimte. Bijvoorbeeld (in Ruby): <programlisting
|
|
>image.convertToColorspace("CMYK")
|
|
</programlisting
|
|
></para
|
|
></listitem>
|
|
|
|
<listitem
|
|
><para
|
|
>Functie: <function
|
|
>createHistogram</function
|
|
></para
|
|
><para
|
|
>Deze functie creëert een histogram voor deze laag. Er moeten twee argumenten meegegeven worden: het type van het histogram ("RGB8HISTO"), en 0 voor een lineair histogram, of 1 voor een logaritmisch histogram.</para
|
|
></listitem>
|
|
|
|
<listitem
|
|
><para
|
|
>Functie: <function
|
|
>createHLineIterator</function
|
|
></para
|
|
><para
|
|
>Creëert een iterator over een laag, de iteratie gebeurt in een rij. Er moeten drie argumenten aan deze functie meegegeven worden: <varname
|
|
>x</varname
|
|
> (begin in de rij), <varname
|
|
>y</varname
|
|
> (verticale positie van de rij), breedte van de rij.</para
|
|
></listitem>
|
|
|
|
<listitem
|
|
><para
|
|
>Functie: <function
|
|
>createPainter</function
|
|
></para
|
|
><para
|
|
>Deze functie creëert een <classname
|
|
>Painter</classname
|
|
> waardoor u op de laag kunt tekenen. </para
|
|
></listitem>
|
|
|
|
<listitem
|
|
><para
|
|
>Functie: <function
|
|
>createRectIterator</function
|
|
></para
|
|
><para
|
|
>Creëert een iterator over een laag, de iteratie gebeurt in een rechthoekig gebied. Er moeten vier argumenten aan deze functie meegegeven worden: <varname
|
|
>x</varname
|
|
>, <varname
|
|
>y</varname
|
|
>, breedte van de rechthoek, hoogte van de rechthoek.</para
|
|
></listitem>
|
|
|
|
<listitem
|
|
><para
|
|
>Functie: <function
|
|
>createVLineIterator</function
|
|
></para
|
|
><para
|
|
>Creëert een iterator over een laag, de iteratie gebeurt in een kolom. Er moeten drie argumenten aan deze functie meegegeven worden: <varname
|
|
>x</varname
|
|
> (horizontale positie van de kolom), <varname
|
|
>y</varname
|
|
> (begin in de kolom), hoogte van de kolom.</para
|
|
></listitem>
|
|
|
|
<listitem
|
|
><para
|
|
>Functie: <function
|
|
>endPainting</function
|
|
></para
|
|
><para
|
|
>Deze functie sluit het huidige ongedaan-maken-item en voegt het aan de geschiedenis toe.</para
|
|
></listitem>
|
|
|
|
<listitem
|
|
><para
|
|
>Functie: <function
|
|
>fastWaveletTransformation</function
|
|
></para
|
|
><para
|
|
>Geeft de "fast wavelet transformation" van de laag terug.</para
|
|
></listitem>
|
|
|
|
<listitem
|
|
><para
|
|
>Functie: <function
|
|
>fastWaveletUntransformation</function
|
|
></para
|
|
><para
|
|
>Maakt de "fast wavelet"-transformatie op deze laag ongedaan. Er moet één argument meegegeven worden: een wavelet-object. Bijvoorbeeld (in Ruby): <programlisting
|
|
>wavelet = layer.fastWaveletTransformation()
|
|
layer.fastWaveletUntransformation(wavelet)
|
|
</programlisting
|
|
></para
|
|
></listitem>
|
|
|
|
<listitem
|
|
><para
|
|
>Functie: <function
|
|
>getHeight</function
|
|
></para
|
|
><para
|
|
>Geeft de hoogte van de laag terug.</para
|
|
></listitem>
|
|
|
|
<listitem
|
|
><para
|
|
>Functie: <function
|
|
>getWidth</function
|
|
></para
|
|
><para
|
|
>Geeft de breedte van de laag terug.</para
|
|
></listitem>
|
|
</itemizedlist>
|
|
</listitem>
|
|
|
|
<listitem
|
|
><para
|
|
>Object: <classname
|
|
>Filter</classname
|
|
></para>
|
|
<itemizedlist>
|
|
|
|
<listitem
|
|
><para
|
|
>Functie: <function
|
|
>getFilterConfiguration</function
|
|
></para
|
|
><para
|
|
>Deze functie geeft de <classname
|
|
>FilterConfiguration</classname
|
|
> die bij deze filter hoort terug.</para
|
|
></listitem>
|
|
|
|
<listitem
|
|
><para
|
|
>Functie: <function
|
|
>process</function
|
|
></para
|
|
><para
|
|
>Deze functie past de filter toe. Er moet ten minste één argument meegegeven worden: de bronlaag. Er kunnen nog vier andere argumenten meegegeven worden: <varname
|
|
>x</varname
|
|
>, <varname
|
|
>y</varname
|
|
>, <varname
|
|
>width</varname
|
|
>, <varname
|
|
>height</varname
|
|
>. (<varname
|
|
>x</varname
|
|
>, <varname
|
|
>y</varname
|
|
>, <varname
|
|
>width</varname
|
|
>, <varname
|
|
>height</varname
|
|
>) definieert het rechthoekige gebied waarop de filter berekend wordt. Als de rechthoek niet gedefinieerd is, wordt de filter op de gehele laag toegepast. Bijvoorbeeld (in Ruby) <programlisting
|
|
>doc = Krosschalkcore::get("ChalkDocument")
|
|
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
|
|
>Object: <classname
|
|
>FilterConfiguration</classname
|
|
></para>
|
|
<itemizedlist>
|
|
|
|
<listitem
|
|
><para
|
|
>Functie: <function
|
|
>getProperty</function
|
|
></para
|
|
><para
|
|
>Deze functie geeft de waarde van een parameter van de bijbehorende <classname
|
|
>Filter</classname
|
|
> terug. Er moet één argument meegegeven worden: de naam van de parameter.</para
|
|
></listitem>
|
|
|
|
<listitem
|
|
><para
|
|
>Functie: <function
|
|
>setProperty</function
|
|
></para
|
|
><para
|
|
>Deze functie definieert een parameter van de bijbehorende <classname
|
|
>Filter</classname
|
|
>. Er moeten twee argumenten meegegeven worden: de naam van de parameter en de waarde, het type hiervan is afhankelijk van de <classname
|
|
>Filter</classname
|
|
>.</para
|
|
></listitem>
|
|
</itemizedlist>
|
|
</listitem>
|
|
|
|
<listitem
|
|
><para
|
|
>Object: <classname
|
|
>Histogram</classname
|
|
></para>
|
|
|
|
<para
|
|
>Met behulp van deze class krijgt u toegang tot het histogram van een <classname
|
|
>PaintLayer</classname
|
|
>. Bijvoorbeeld (in Ruby): <programlisting
|
|
>doc = krosschalkcore::get("ChalkDocument")
|
|
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
|
|
>Functie: <function
|
|
>getChannel</function
|
|
></para
|
|
><para
|
|
>Geeft het geselecteerde kanaal terug.</para
|
|
></listitem>
|
|
|
|
<listitem
|
|
><para
|
|
>Functie: <function
|
|
>getCount</function
|
|
></para
|
|
><para
|
|
>Deze functie geeft het aantal pixels dat door het histogram gebruikt wordt terug.</para
|
|
></listitem>
|
|
|
|
<listitem
|
|
><para
|
|
>Functie: <function
|
|
>getHighest</function
|
|
></para
|
|
><para
|
|
>Deze functie geeft de hoogste waarde van het histogram terug.</para
|
|
></listitem>
|
|
|
|
<listitem
|
|
><para
|
|
>Functie: <function
|
|
>getLowest</function
|
|
></para
|
|
><para
|
|
>Deze functie geeft de laagste waarde van het histogram terug.</para
|
|
></listitem>
|
|
|
|
<listitem
|
|
><para
|
|
>Functie: <function
|
|
>getMax</function
|
|
></para
|
|
><para
|
|
>Deze functie geeft de maximumgrens van het histogram terug (waarden op een positie die hoger is dan het maximum zijn null). De waarde ligt in het bereik 0.0 – 1.0.</para
|
|
></listitem>
|
|
|
|
<listitem
|
|
><para
|
|
>Functie: <function
|
|
>getMean</function
|
|
></para
|
|
><para
|
|
>Deze functie geeft het midden van het histogram terug.</para
|
|
></listitem>
|
|
|
|
<listitem
|
|
><para
|
|
>Functie: <function
|
|
>getMin</function
|
|
></para
|
|
><para
|
|
>Deze functie geeft de minimumgrens van het histogram terug (waarden op posities die lager zijn dan het minimum zijn null). De waarde ligt in het bereik 0.0 – 1.0.</para
|
|
></listitem>
|
|
|
|
<listitem
|
|
><para
|
|
>Functie: <function
|
|
>getNumberOfBins</function
|
|
></para
|
|
><para
|
|
>Geeft het aantal bins van het histogram terug. </para
|
|
></listitem>
|
|
|
|
<listitem
|
|
><para
|
|
>Functie: <function
|
|
>getTotal</function
|
|
></para
|
|
><para
|
|
>Deze functie geeft de som van alle waarden van het histogram terug.</para
|
|
></listitem>
|
|
|
|
<listitem
|
|
><para
|
|
>Functie: <function
|
|
>getValue</function
|
|
></para
|
|
><para
|
|
>Geeft de waarde van een bin van het histogram terug. Er moet één argument meegegeven worden: index, in het bereik [0..255].</para
|
|
></listitem>
|
|
|
|
<listitem
|
|
><para
|
|
>Functie: <function
|
|
>setChannel</function
|
|
></para
|
|
><para
|
|
>Selecteer het kanaal van de laag waarvan het resultaat van het histogram verkregen moet worden. Er moet één argument meegegeven worden: het kanaalnummer.</para
|
|
></listitem>
|
|
</itemizedlist>
|
|
</listitem>
|
|
|
|
<listitem
|
|
><para
|
|
>Object: <classname
|
|
>ScriptProgress</classname
|
|
></para>
|
|
<para
|
|
><classname
|
|
>ScriptProgress</classname
|
|
> wordt gebruikt om de voortgangsindicator op de statusbalk in &chalk; te besturen. Bijvoorbeeld (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
|
|
>Functie: <function
|
|
>incProgress</function
|
|
></para
|
|
><para
|
|
>Deze functie verhoogt de voortgang met één stap.</para
|
|
></listitem>
|
|
|
|
<listitem
|
|
><para
|
|
>Functie: <function
|
|
>setProgress</function
|
|
></para
|
|
><para
|
|
>Deze functie stelt de waarde van de voortgang in. er moet één argument meegegeven worden: de waarde van de voortgang.</para
|
|
></listitem>
|
|
|
|
<listitem
|
|
><para
|
|
>Functie: <function
|
|
>setProgressStage</function
|
|
></para
|
|
><para
|
|
>Deze functie stelt de waarde van de voortgang in en toont de tekst.</para
|
|
></listitem>
|
|
|
|
<listitem
|
|
><para
|
|
>Functie: <function
|
|
>setProgressTotalSteps</function
|
|
></para
|
|
><para
|
|
>Deze functie stelt het aantal stappen in dat het script vereist. Er moet één argument meegegeven worden: de maximumwaarde van de voortgang.</para
|
|
></listitem>
|
|
</itemizedlist>
|
|
</listitem>
|
|
|
|
<listitem
|
|
><para
|
|
>Object: <classname
|
|
>Wavelet</classname
|
|
></para
|
|
><para
|
|
>Dit object bevat de coëfficiënten van een wavelet-transformatie van een <classname
|
|
>PaintLayer</classname
|
|
>.</para>
|
|
<itemizedlist>
|
|
|
|
<listitem
|
|
><para
|
|
>Functie: <function
|
|
>getDepth</function
|
|
></para
|
|
><para
|
|
>Geeft de diepte van een laag terug.</para
|
|
></listitem>
|
|
|
|
<listitem
|
|
><para
|
|
>Functie: <function
|
|
>getNCoeff</function
|
|
></para
|
|
><para
|
|
>Geeft de waarde van de N-de coëfficiënt terug. Er moet één argument aan de functie meegegeven worden: de index van de coëfficiënt.</para
|
|
></listitem>
|
|
|
|
<listitem
|
|
><para
|
|
>Functie: <function
|
|
>getNumCoeffs</function
|
|
></para
|
|
><para
|
|
>Geeft het aantal coëfficiënten in deze wavelet (= size * size * depth).</para
|
|
></listitem>
|
|
|
|
<listitem
|
|
><para
|
|
>Functie: <function
|
|
>getSize</function
|
|
></para
|
|
><para
|
|
>Geeft de grootte van de wavelet terug (size = width = height).</para
|
|
></listitem>
|
|
|
|
<listitem
|
|
><para
|
|
>Functie: <function
|
|
>getXYCoeff</function
|
|
></para
|
|
><para
|
|
>Geeeft de waarde van een coëfficiënt terug. Er moeten twee argumenten aan de functie meegegeven worden: <varname
|
|
>x</varname
|
|
> en <varname
|
|
>y</varname
|
|
>.</para
|
|
></listitem>
|
|
|
|
<listitem
|
|
><para
|
|
>Functie: <function
|
|
>setNCoeff</function
|
|
></para
|
|
><para
|
|
>Stelt de waarde van de N-de coëfficiënt in. Er moeten twee argumenten aan de functie meegegeven worden: de index van de coëfficiënt en de nieuwe waarde van de coëfficiënt.</para
|
|
></listitem>
|
|
|
|
<listitem
|
|
><para
|
|
>Functie: <function
|
|
>setXYCoeff</function
|
|
></para
|
|
><para
|
|
>Stelt de waarde in van een coëfficiënt. Er moeten drie argumenten aan de functie meegegeven worden: <varname
|
|
>x</varname
|
|
>, <varname
|
|
>y</varname
|
|
>, en de nieuwe waarde van de coëfficiënt.</para
|
|
></listitem>
|
|
</itemizedlist>
|
|
</listitem>
|
|
|
|
<listitem
|
|
><para
|
|
>Object: <classname
|
|
>Painter</classname
|
|
></para>
|
|
<itemizedlist>
|
|
|
|
<listitem
|
|
><para
|
|
>Functie: <function
|
|
>convolve</function
|
|
></para
|
|
><para
|
|
>Deze functie past een convolutie "kernel" op een afbeelding toe. Er moeten ten minste drie argumenten meegegeven worden: een lijst met kernels (alle lijsten moeten even groot zijn), factor, en offset. </para
|
|
><para
|
|
>De waarde van een pixel wordt gegeven door de volgende functie: K * P / factor + offset, waar K de kernel is en P de buurpixels zijn. </para
|
|
><para
|
|
>De volgende optionele argumenten kunnen meegegeven worden: <varname
|
|
>borderOp</varname
|
|
> (bepaalt de convolutue van de pixels aan de rand van een afbeelding: 0 = gebruik de standaardkleur, 1 = gebruik de pixel aan de tegenovergestelde kant van de afbeelding, 2 = gebruik de randpixel, 3 = vermijd randpixels), <varname
|
|
>channel</varname
|
|
> (1 voor kleur, 2 voor alpha, 3 voor beide), <varname
|
|
>x</varname
|
|
>, <varname
|
|
>y</varname
|
|
>, <varname
|
|
>width</varname
|
|
>, <varname
|
|
>height</varname
|
|
>.</para
|
|
></listitem>
|
|
|
|
<listitem
|
|
><para
|
|
>Functie: <function
|
|
>setFillThreshold</function
|
|
></para
|
|
><para
|
|
>Stelt de vuldrempel in. Er moet één argument meegegeven worden: de drempel.</para
|
|
></listitem>
|
|
|
|
<listitem
|
|
><para
|
|
>Functie: <function
|
|
>fillColor</function
|
|
></para
|
|
><para
|
|
>Vult met een kleur. Er moeten twee argumenten meegegeven worden: <varname
|
|
>x</varname
|
|
> en <varname
|
|
>y</varname
|
|
>.</para
|
|
></listitem>
|
|
|
|
<listitem
|
|
><para
|
|
>Functie: <function
|
|
>fillPattern</function
|
|
></para
|
|
><para
|
|
>Vult met een patroon. Er moeten twee argumenten meegegeven worden: <varname
|
|
>x</varname
|
|
> en <varname
|
|
>y</varname
|
|
>.</para
|
|
></listitem>
|
|
|
|
<listitem
|
|
><para
|
|
>Functie: <function
|
|
>paintPolyline</function
|
|
></para
|
|
><para
|
|
>Deze functie tekent een gebroken lijn. Er moeten twee argumenten meegegeven worden: een lijst met x-posities en een lijst met y-posities.</para
|
|
></listitem>
|
|
|
|
<listitem
|
|
><para
|
|
>Functie: <function
|
|
>paintLine</function
|
|
></para
|
|
><para
|
|
>Deze functie tekent een lijn. Er moeten vijf argumenten meegegeven worden: <varname
|
|
>x1</varname
|
|
>, <varname
|
|
>y1</varname
|
|
>, <varname
|
|
>x2</varname
|
|
>, <varname
|
|
>y2</varname
|
|
> en <varname
|
|
>pressure</varname
|
|
>. </para
|
|
></listitem>
|
|
|
|
<listitem
|
|
><para
|
|
>Functie: <function
|
|
>paintBezierCurve</function
|
|
></para
|
|
><para
|
|
>Deze functie tekent een bézier-kromme. Er moeten tien argumenten meegegeven worden: <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
|
|
>, waar (<varname
|
|
>x1</varname
|
|
>,<varname
|
|
>y1</varname
|
|
>) de beginpositie is, <varname
|
|
>p1</varname
|
|
> de druk aan het begin is, (<varname
|
|
>x2</varname
|
|
>,<varname
|
|
>y2</varname
|
|
>) de eindpositie is, <varname
|
|
>p2</varname
|
|
> de druk aan het einde is. (<varname
|
|
>cx1</varname
|
|
>,<varname
|
|
>cy1</varname
|
|
>) en (<varname
|
|
>cx2</varname
|
|
>,<varname
|
|
>cy2</varname
|
|
>) zijn de posities van de controlepunten.</para
|
|
></listitem>
|
|
|
|
<listitem
|
|
><para
|
|
>Functie: <function
|
|
>paintEllipse</function
|
|
></para
|
|
><para
|
|
>Deze functie tekent een ellips. Er moeten vijf argumenten meegegeven worden: <varname
|
|
>x1</varname
|
|
>, <varname
|
|
>y1</varname
|
|
>, <varname
|
|
>x2</varname
|
|
>, <varname
|
|
>y2</varname
|
|
>, <varname
|
|
>pressure</varname
|
|
>, waar (<varname
|
|
>x1</varname
|
|
>,<varname
|
|
>y1</varname
|
|
>) en (<varname
|
|
>x2</varname
|
|
>,<varname
|
|
>y2</varname
|
|
>) de posities van de twee middelpunten zijn.</para
|
|
></listitem>
|
|
|
|
<listitem
|
|
><para
|
|
>Functie: <function
|
|
>paintPolygon</function
|
|
></para
|
|
><para
|
|
>Deze functie tekent een veelhoek. Er moeten twee argumenten meegegeven worden: een lijst met x-posities en een lijst met y-posities.</para
|
|
></listitem>
|
|
|
|
<listitem
|
|
><para
|
|
>Functie: <function
|
|
>paintRect</function
|
|
></para
|
|
><para
|
|
>Deze functie tekent een rechthoek. Er moeten vijf argumenten meegegeven worden: <varname
|
|
>x</varname
|
|
>, <varname
|
|
>y</varname
|
|
>, <varname
|
|
>width</varname
|
|
> <varname
|
|
>height</varname
|
|
>, <varname
|
|
>pressure</varname
|
|
>.</para
|
|
></listitem>
|
|
|
|
<listitem
|
|
><para
|
|
>Functie: <function
|
|
>paintAt</function
|
|
></para
|
|
><para
|
|
>Deze functie tekent op een opgegeven positie. Er moeten drie argumenten meegegeven worden: <varname
|
|
>x</varname
|
|
>, <varname
|
|
>y</varname
|
|
>, <varname
|
|
>pressure</varname
|
|
>.</para
|
|
></listitem>
|
|
|
|
<listitem
|
|
><para
|
|
>Functie: <function
|
|
>setPaintColor</function
|
|
></para
|
|
><para
|
|
>Deze functie stelt de tekenkleur in (ook voorgrondkleur genoemd). Er moet één argument meegegeven worden: een <classname
|
|
>Color</classname
|
|
>.</para
|
|
></listitem>
|
|
|
|
<listitem
|
|
><para
|
|
>Functie: <function
|
|
>setBackgroundColor</function
|
|
></para
|
|
><para
|
|
>Deze functie stelt de achtergrondkleur in. Er moet één argument meegegeven worden: een <classname
|
|
>Color</classname
|
|
>.</para
|
|
></listitem>
|
|
|
|
<listitem
|
|
><para
|
|
>Functie: <function
|
|
>setPattern</function
|
|
></para
|
|
><para
|
|
>Deze functie stelt het patroon in dat voor het vullen gebruikt wordt. Er moet één argument meegegeven worden: een <classname
|
|
>Pattern</classname
|
|
>-object.</para
|
|
></listitem>
|
|
|
|
<listitem
|
|
><para
|
|
>Functie: <function
|
|
>setBrush</function
|
|
></para
|
|
><para
|
|
>Deze functie stelt het penseel in dat voor het tekenen gebruikt wordt. Er moet één argument meegegeven worden: een <classname
|
|
>Brush</classname
|
|
>-object.</para
|
|
></listitem>
|
|
|
|
<listitem
|
|
><para
|
|
>Functie: <function
|
|
>setPaintOp</function
|
|
></para
|
|
><para
|
|
>Deze functie definieert de tekenactie. Er moet één argument meegegeven worden: de naam van de tekenactie.</para
|
|
></listitem>
|
|
|
|
<listitem
|
|
><para
|
|
>Functie: <function
|
|
>setDuplicateOffset</function
|
|
></para
|
|
><para
|
|
>Deze functie definieert de duplicaat-offset. Er moeten twee argumenten meegegeven worden: de horizontale offset en de verticale offset.</para
|
|
></listitem>
|
|
|
|
<listitem
|
|
><para
|
|
>Functie: <function
|
|
>setOpacity</function
|
|
></para
|
|
><para
|
|
>Deze functie stelt de dekking voor het tekenen in. Er moet één argument meegegeven worden: de dekking, in het bereik 0 tot 255.</para
|
|
></listitem>
|
|
|
|
<listitem
|
|
><para
|
|
>Functie: <function
|
|
>setStrokeStyle</function
|
|
></para
|
|
><para
|
|
>Deze functie stelt de stijl in van de penseelstreek. Er moet één argument meegegeven worden: 0 voor geen of 1 voor penseel.</para
|
|
></listitem>
|
|
|
|
<listitem
|
|
><para
|
|
>Functie: <function
|
|
>setFillStyle</function
|
|
></para
|
|
><para
|
|
>Deze functie stelt de vulstijl in van de <classname
|
|
>Painter</classname
|
|
>. Er moet één argument meegegeven worden: 0 voor geen, 1 voor vullen met voorgrondkleur, 2 voor vullen met achtergrondkleur, 3 voor vullen met patroon.</para
|
|
></listitem>
|
|
</itemizedlist>
|
|
</listitem>
|
|
|
|
<listitem
|
|
><para
|
|
>Object: <classname
|
|
>Iterator</classname
|
|
></para
|
|
><para
|
|
>Met dit object kunt u pixelwaarden één voor één veranderen. De naam van enkele functies is afhankelijk van de kleurruimte, als de kleurruimte van de laag bijvoorbeeld RGB is, zijn de functies <function
|
|
>setR</function
|
|
>, <function
|
|
>setG</function
|
|
> en <function
|
|
>setB</function
|
|
>, voor CMYK: <function
|
|
>setC</function
|
|
>, <function
|
|
>setM</function
|
|
>, <function
|
|
>setY</function
|
|
> en <function
|
|
>setK</function
|
|
>. In de documentatie hieronder nemen we aan dat de naam van de kleurruimte ABC is, met drie kanalen: A, B en C.</para>
|
|
|
|
<itemizedlist>
|
|
<listitem
|
|
><para
|
|
>Functies: <function
|
|
>setA</function
|
|
>, <function
|
|
>setB</function
|
|
>, <function
|
|
>setC</function
|
|
></para
|
|
><para
|
|
>Er moet één argument aan deze functies meegegeven worden: de nieuwe waarde van één van de kanalen van deze pixel.</para
|
|
></listitem>
|
|
|
|
<listitem
|
|
><para
|
|
>Functie: <function
|
|
>setABC</function
|
|
></para
|
|
><para
|
|
>Stelt de waarde in van alle kanalen. Er moet één argument meegegeven worden: een array met de nieuwe waarden voor alle kanalen.</para
|
|
></listitem>
|
|
|
|
<listitem
|
|
><para
|
|
>Functies: <function
|
|
>getA</function
|
|
>, <function
|
|
>getB</function
|
|
>, <function
|
|
>getC</function
|
|
></para
|
|
><para
|
|
>Geeft de waarde van één van de kanalen van deze pixel terug.</para
|
|
></listitem>
|
|
|
|
<listitem
|
|
><para
|
|
>Functie: <function
|
|
>getABC</function
|
|
></para
|
|
><para
|
|
>Geeft een array terug met de waarden van alle kanalen.</para
|
|
></listitem>
|
|
|
|
<listitem
|
|
><para
|
|
>Functie: <function
|
|
>darken</function
|
|
></para
|
|
><para
|
|
>Maakt een pixel donkerder. Er moet ten minste één argument aan deze functie meegegeven worden: <varname
|
|
>shade</varname
|
|
> (hoeveelheid die gebruikt wordt om alle kleurkanalen donkerder te maken). Het volgende optionele argument kan meegegeven worden: <varname
|
|
>compensation</varname
|
|
> (om het donkerder maken te limiteren).</para
|
|
></listitem>
|
|
|
|
<listitem
|
|
><para
|
|
>Functie: <function
|
|
>invertColor</function
|
|
></para
|
|
><para
|
|
>Inverteert de kleur van een pixel.</para
|
|
></listitem>
|
|
|
|
<listitem
|
|
><para
|
|
>Functie: <function
|
|
>next</function
|
|
></para
|
|
><para
|
|
>Verhoog de positie, ga naar de volgende pixel.</para
|
|
></listitem>
|
|
|
|
<listitem
|
|
><para
|
|
>Functie: <function
|
|
>isDone</function
|
|
></para
|
|
><para
|
|
>Geeft true terug als de iterator het einde bereikt heeft (er zijn geen pixels meer beschikbaar).</para
|
|
></listitem>
|
|
</itemizedlist>
|
|
</listitem>
|
|
</itemizedlist>
|
|
|
|
</sect2>
|
|
|
|
<sect2 id="developers-scripting-resources">
|
|
<title
|
|
>Bronnen</title>
|
|
|
|
<para
|
|
>Hier zijn enkele tips en een bronnenlijst voor &chalk;. </para
|
|
><para
|
|
>Voor <classname
|
|
>Brush</classname
|
|
> en <classname
|
|
>Pattern</classname
|
|
>: U kunt de naam en het bijbehorende penseel of patroon vinden in het betreffende paletvenster in &chalk;. </para
|
|
><para
|
|
>Een lijst met ID's voor kleurruimten in &chalk;: LABA, RGBA, RGBA16, RGBAF32, RGBAF16HALF, LMSAF32, GRAYA, GRAYA16, CMYK, CMYKA16. </para>
|
|
</sect2>
|
|
|
|
</sect1>
|
|
|