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
24 KiB
1133 lines
24 KiB
<chapter id="scripting">
|
|
<title
|
|
>Guiones</title>
|
|
|
|
<para
|
|
>En &chalk;, puede escribir guiones en Ruby o en Python (la disponibilidad de los intérpretes puede depender de la distribución o del administrador de la máquina en la que se instale). Aquí va a encontrar una descripción de la API para guiones. </para
|
|
><para
|
|
>Con &chalk; se distribuyen algunos ejemplo, y los puede encontrar en <filename
|
|
>/usr/share/apps/chalk/scripts</filename
|
|
> (o <filename
|
|
>/opt/kde/share/apps/chalk/scripts</filename
|
|
>). </para>
|
|
|
|
<sect1 id="scripting-variables">
|
|
<title
|
|
>Variables del módulo <classname
|
|
>Krosschalkcore</classname
|
|
></title>
|
|
|
|
<itemizedlist>
|
|
<listitem
|
|
><para
|
|
><varname
|
|
>ChalkDocument</varname
|
|
> devuelve un objeto <classname
|
|
>Document</classname
|
|
></para
|
|
></listitem>
|
|
<listitem
|
|
><para
|
|
><varname
|
|
>ChalkScript</varname
|
|
> devuelve un objeto <classname
|
|
>ScriptProgress</classname
|
|
></para
|
|
></listitem>
|
|
</itemizedlist>
|
|
|
|
<para
|
|
>Puede recuperar un objeto usando la función <function
|
|
>get</function
|
|
> del módulo <classname
|
|
>Krosschalkcore</classname
|
|
>, en Ruby tiene que escribir algo parecido a esto: <programlisting
|
|
>doc = Krosschalkcore::get("ChalkDocument")
|
|
script = Krosschalkcore::get("ChalkScript")
|
|
</programlisting>
|
|
</para>
|
|
|
|
</sect1>
|
|
|
|
<sect1 id="scripting-functions">
|
|
<title
|
|
>Funciones del módulo <classname
|
|
>Krosschalkcore</classname
|
|
></title>
|
|
|
|
<itemizedlist>
|
|
<listitem
|
|
><para
|
|
>Función: <function
|
|
>getBrush</function
|
|
></para
|
|
><para
|
|
>Esta función devuelve un objeto <classname
|
|
>Brush</classname
|
|
> de la lista de recursos de &chalk;. Recibe un argumento: el nombre de la brocha. Por ejemplo (en Ruby): <programlisting
|
|
>Krosschalkcore::getBrush("Circle (05)")
|
|
</programlisting
|
|
></para
|
|
></listitem>
|
|
|
|
<listitem
|
|
><para
|
|
>Función: <function
|
|
>getFilter</function
|
|
></para
|
|
><para
|
|
>Esta función devuelve un objeto <classname
|
|
>Filter</classname
|
|
> de la lista de recursos de &chalk;. Recibe un argumento: el nombre del filtro. Por ejemplo (en Ruby): <programlisting
|
|
>Krosschalkcore::getFilter("invert")
|
|
</programlisting
|
|
></para
|
|
></listitem>
|
|
|
|
<listitem
|
|
><para
|
|
>Función: <function
|
|
>getPattern</function
|
|
></para
|
|
><para
|
|
>Esta función devuelve un objeto <classname
|
|
>Pattern</classname
|
|
> de la lista de recursos de &chalk;. Recibe un argumento: el nombre del patrón. Por ejemplo (en Ruby): <programlisting
|
|
>Krosschalkcore::getPattern("Bricks")
|
|
</programlisting
|
|
></para
|
|
></listitem>
|
|
|
|
<listitem
|
|
><para
|
|
>Función: <function
|
|
>loadBrush</function
|
|
></para
|
|
><para
|
|
>Esta función carga un objeto <classname
|
|
>Brush</classname
|
|
> y luego lo devuelve. Recibe un argumento: el nombre del archivo de la brocha.</para
|
|
></listitem>
|
|
|
|
<listitem
|
|
><para
|
|
>Función: <function
|
|
>loadPattern</function
|
|
></para
|
|
><para
|
|
>Esta función carga un objeto <classname
|
|
>Pattern</classname
|
|
> y luego lo devuelve. Recibe un argumento: el nombre del archivo del patrón.</para
|
|
></listitem>
|
|
|
|
<listitem
|
|
><para
|
|
>Función: <function
|
|
>newCircleBrush</function
|
|
></para
|
|
><para
|
|
>Esta función devuelve un objeto <classname
|
|
>Brush</classname
|
|
> con una forma circular. Recibe al menos dos argumentos: la anchura y la altura. Puede recibir otros dos argumentos: la anchura de la sombra y la altura de la sombra. Si no se especifica la sombra, no se utiliza. Por ejemplo (en Ruby): <programlisting
|
|
>Krosschalkcore::newCircleBrush(10,20) # crea un círculo plano
|
|
Krosschalkcore::newCircleBrush(10,20,5,10) # crea un degradado
|
|
</programlisting
|
|
></para
|
|
></listitem>
|
|
|
|
<listitem
|
|
><para
|
|
>Función: <function
|
|
>newHSVColor</function
|
|
></para
|
|
><para
|
|
>Esta función devuelve un objeto <classname
|
|
>Color</classname
|
|
> nuevo con la tripleta HSV dada. Recibe tres argumentos: el componente de tono (de 0 a 255), el componente de saturación (de 0 a 255) y el componente de valor (de 0 a 255). Por ejemplo (en Ruby): <programlisting
|
|
>Krosschalkcore::newRGBColor(255,125,0)
|
|
</programlisting
|
|
></para
|
|
></listitem>
|
|
|
|
<listitem
|
|
><para
|
|
>Función: <function
|
|
>newImage</function
|
|
></para
|
|
><para
|
|
>Esta función devuelve un objeto <classname
|
|
>Image</classname
|
|
> nuevo. Recibe cuatro argumentos: anchura, altura, id. del espacio de colores y nombre de la imagen. Y como resultado se obtiene un objeto <classname
|
|
>Image</classname
|
|
>. Por ejemplo (en Ruby): <programlisting
|
|
>Krosschalkcore::newImage(10,20, "RGBA", "kikoo")
|
|
</programlisting
|
|
></para
|
|
></listitem>
|
|
|
|
<listitem
|
|
><para
|
|
>Función: <function
|
|
>newRectBrush</function
|
|
></para
|
|
><para
|
|
>Esta función devuelve un objeto <classname
|
|
>Brush</classname
|
|
> con una forma rectangular. Recibe al menos dos argumentos: anchura y altura. Puede recibir otros dos argumentos: anchura de la sombra y altura de la sombra. Si no se especifica la sombra, no se usa. Por ejemplo (en Ruby): <programlisting
|
|
>Krosschalkcore::newRectBrush(10,20) # crea un rectángulo plano
|
|
Krosschalkcore::newRectBrush(10,20,5,10) # crea un degradado
|
|
</programlisting
|
|
></para
|
|
></listitem>
|
|
|
|
<listitem
|
|
><para
|
|
>Función: <function
|
|
>newRGBColor</function
|
|
></para
|
|
><para
|
|
>Esta función devuelve un objeto <classname
|
|
>Color</classname
|
|
> nuevo con la tripleta RGB dada. Recibe tres argumentos: componente de rojo (de 0 a 255), componente de azul (de 0 a 255) y componente de verde (de 0 a 255). Por ejemplo (en Ruby): <programlisting
|
|
>Krosschalkcore::newRGBColor(255,0,0) # crea un color rojo
|
|
Krosschalkcore::newRGBColor(255,255,255) # crea un color blanco
|
|
</programlisting
|
|
></para
|
|
></listitem>
|
|
</itemizedlist>
|
|
</sect1>
|
|
|
|
<sect1 id="scripting-objects">
|
|
<title
|
|
>Descripciones y lista de funciones para varios objetos de <classname
|
|
>Krosschalkcore</classname
|
|
></title>
|
|
|
|
<itemizedlist>
|
|
<listitem
|
|
><para
|
|
>Objeto: PaintLayer</para>
|
|
|
|
<itemizedlist>
|
|
<listitem
|
|
><para
|
|
>Función: <function
|
|
>beginPainting</function
|
|
></para
|
|
></listitem>
|
|
|
|
<listitem
|
|
><para
|
|
>Función: <function
|
|
>convertToColorspace</function
|
|
></para
|
|
><para
|
|
>Convierte la imagen a un espacio de colores. Esta función recibe un argumento: el nombre del espacio de colores destino. Por ejemplo (en Ruby): <programlisting
|
|
>image.convertToColorspace("CMYK")
|
|
</programlisting
|
|
></para
|
|
></listitem>
|
|
|
|
<listitem
|
|
><para
|
|
>Función: <function
|
|
>createHistogram</function
|
|
></para
|
|
><para
|
|
>Esta función crea un histograma para esta capa. Recibe dos argumentos: el tipo del histograma ("RGB8HISTO"), y 0 si el histograma es lineal, o 1 si es logarítmico.</para
|
|
></listitem>
|
|
|
|
<listitem
|
|
><para
|
|
>Función: <function
|
|
>createHLineIterator</function
|
|
></para
|
|
><para
|
|
>Crea un iterador sobre una capa, que itera sobre una fila. Esta función recibe tres argumentos: <varname
|
|
>x</varname
|
|
> (empezar en la fila), <varname
|
|
>y</varname
|
|
> (posición vertical de la fila) y anchura de la fila.</para
|
|
></listitem>
|
|
|
|
<listitem
|
|
><para
|
|
>Función: <function
|
|
>createPainter</function
|
|
></para
|
|
><para
|
|
>Esta función crea un objeto <classname
|
|
>Painter</classname
|
|
> que le permite dibujar sobre la capa. </para
|
|
></listitem>
|
|
|
|
<listitem
|
|
><para
|
|
>Función: <function
|
|
>createRectIterator</function
|
|
></para
|
|
><para
|
|
>Crea un iterador sobre una capa que itera sobre un área rectangular. Esta función recibe cuatro argumentos: <varname
|
|
>x</varname
|
|
>, <varname
|
|
>y</varname
|
|
>, anchura del rectángulo y altura del rectángulo.</para
|
|
></listitem>
|
|
|
|
<listitem
|
|
><para
|
|
>Función: <function
|
|
>createVLineIterator</function
|
|
></para
|
|
><para
|
|
>Crea un iterador sobre una capa, que itera sobre una columna. Esta función recibe tres argumentos: <varname
|
|
>x</varname
|
|
> (posición horizontal de la columna), <varname
|
|
>y</varname
|
|
> (empezar en la columna) y altura de la columna.</para
|
|
></listitem>
|
|
|
|
<listitem
|
|
><para
|
|
>Función: <function
|
|
>endPainting</function
|
|
></para
|
|
><para
|
|
>Use esta función para cerrar la entrada de rehacer actual y para añadirla al historial.</para
|
|
></listitem>
|
|
|
|
<listitem
|
|
><para
|
|
>Función: <function
|
|
>fastWaveletTransformation</function
|
|
></para
|
|
><para
|
|
>Devuelve la transformada rápida de onda de la capa.</para
|
|
></listitem>
|
|
|
|
<listitem
|
|
><para
|
|
>Función: <function
|
|
>fastWaveletUntransformation</function
|
|
></para
|
|
><para
|
|
>Deja de realizar la transformada rápida de onda de la capa. Recibe un argumento: un objeto wavelet. Por ejemplo (en Ruby): <programlisting
|
|
>wavelet = layer.fastWaveletTransformation()
|
|
layer.fastWaveletUntransformation(wavelet)
|
|
</programlisting
|
|
></para
|
|
></listitem>
|
|
|
|
<listitem
|
|
><para
|
|
>Función: <function
|
|
>getHeight</function
|
|
></para
|
|
><para
|
|
>Devuelve la altura de la capa.</para
|
|
></listitem>
|
|
|
|
<listitem
|
|
><para
|
|
>Función: <function
|
|
>getWidth</function
|
|
></para
|
|
><para
|
|
>Devuelve la anchura de la capa.</para
|
|
></listitem>
|
|
</itemizedlist>
|
|
</listitem>
|
|
|
|
<listitem
|
|
><para
|
|
>Objecto: <classname
|
|
>Filter</classname
|
|
></para>
|
|
<itemizedlist>
|
|
|
|
<listitem
|
|
><para
|
|
>Función: <function
|
|
>getFilterConfiguration</function
|
|
></para
|
|
><para
|
|
>Esta función devuelve el objeto <classname
|
|
>FilterConfiguration</classname
|
|
> asociado con este filtro.</para
|
|
></listitem>
|
|
|
|
<listitem
|
|
><para
|
|
>Función: <function
|
|
>process</function
|
|
></para
|
|
><para
|
|
>Esta función aplica el filtro. Recibe al menos un argumento: la capa origen. También puede usar estos cuatro argumentos: <varname
|
|
>x</varname
|
|
>, <varname
|
|
>y</varname
|
|
>, <varname
|
|
>anchura</varname
|
|
> y <varname
|
|
>altura</varname
|
|
>. (<varname
|
|
>x</varname
|
|
>,<varname
|
|
>y</varname
|
|
>,<varname
|
|
>anchura</varname
|
|
> y <varname
|
|
>altura</varname
|
|
>) define el área rectangular en la que se debe aplicar el filtro. Si el rectángulo no se ha definido, el filltro se aplica a la capa origen por completo. Por ejemplo (en 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
|
|
>Objeto: <classname
|
|
>FilterConfiguration</classname
|
|
></para>
|
|
<itemizedlist>
|
|
|
|
<listitem
|
|
><para
|
|
>Función: <function
|
|
>getProperty</function
|
|
></para
|
|
><para
|
|
>Esta función devuelve el valor de un parámetro del objeto <classname
|
|
>Filter</classname
|
|
> asociado. Recibe un argumento: el nombre del parámetro.</para
|
|
></listitem>
|
|
|
|
<listitem
|
|
><para
|
|
>Función: <function
|
|
>setProperty</function
|
|
></para
|
|
><para
|
|
>Esta función define un parámetro para el objeto <classname
|
|
>Filter</classname
|
|
> asociado. Recibe dos argumentos: el nombre del parámetro y el valor, cuyo tipo depende del objeto <classname
|
|
>Filter</classname
|
|
>.</para
|
|
></listitem>
|
|
</itemizedlist>
|
|
</listitem>
|
|
|
|
<listitem
|
|
><para
|
|
>Objeto: <classname
|
|
>Histogram</classname
|
|
></para>
|
|
|
|
<para
|
|
>Esta clase le permite acceder al histograma de un objeto <classname
|
|
>PaintLayer</classname
|
|
>. Ejemplo (en 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
|
|
>Función: <function
|
|
>getChannel</function
|
|
></para
|
|
><para
|
|
>Devuelve el canal seleccionado.</para
|
|
></listitem>
|
|
|
|
<listitem
|
|
><para
|
|
>Función: <function
|
|
>getCount</function
|
|
></para
|
|
><para
|
|
>Esta función devuelve el número de píxeles utilizados por el histograma.</para
|
|
></listitem>
|
|
|
|
<listitem
|
|
><para
|
|
>Función: <function
|
|
>getHighest</function
|
|
></para
|
|
><para
|
|
>Esta función devuelve el valor más alto del histograma.</para
|
|
></listitem>
|
|
|
|
<listitem
|
|
><para
|
|
>Función: <function
|
|
>getLowest</function
|
|
></para
|
|
><para
|
|
>Esta función devuelve el valor más bajo del histograma.</para
|
|
></listitem>
|
|
|
|
<listitem
|
|
><para
|
|
>Función: <function
|
|
>getMax</function
|
|
></para
|
|
><para
|
|
>Esta función devuelve el límite máximo del histograma (se descartan los valores superiores al máximo). El valor está en el rango 0.0 – 1.0.</para
|
|
></listitem>
|
|
|
|
<listitem
|
|
><para
|
|
>Función: <function
|
|
>getMean</function
|
|
></para
|
|
><para
|
|
>Esta función devuelve la media del histograma.</para
|
|
></listitem>
|
|
|
|
<listitem
|
|
><para
|
|
>Función: <function
|
|
>getMin</function
|
|
></para
|
|
><para
|
|
>Esta función devuelve el límite mínimo del histograma (se descartan los valores inferiores al mínimo). El valor está en el rango 0.0 – 1.0.</para
|
|
></listitem>
|
|
|
|
<listitem
|
|
><para
|
|
>Función: <function
|
|
>getNumberOfBins</function
|
|
></para
|
|
><para
|
|
>Devuelve el número de cubos del histograma. </para
|
|
></listitem>
|
|
|
|
<listitem
|
|
><para
|
|
>Función: <function
|
|
>getTotal</function
|
|
></para
|
|
><para
|
|
>Esta función devuelve la suma de todos los valores del histograma.</para
|
|
></listitem>
|
|
|
|
<listitem
|
|
><para
|
|
>Función: <function
|
|
>getValue</function
|
|
></para
|
|
><para
|
|
>Devuelve el valor de un cubo del histograma. Esta función recibe un argumento: índice, en el rango [0..255].</para
|
|
></listitem>
|
|
|
|
<listitem
|
|
><para
|
|
>Función: <function
|
|
>setChannel</function
|
|
></para
|
|
><para
|
|
>Selecciona el canal de la capa en la que se obtiene el resultado del histograma. Esta función recibe un argumento: el número del canal.</para
|
|
></listitem>
|
|
</itemizedlist>
|
|
</listitem>
|
|
|
|
<listitem
|
|
><para
|
|
>Objeto: <classname
|
|
>ScriptProgress</classname
|
|
></para>
|
|
<para
|
|
><classname
|
|
>ScriptProgress</classname
|
|
> se utiliza para gestionar la barra de progreso de la barar de estado de &chalk;. Por ejemplo (en 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
|
|
>Función: <function
|
|
>incProgress</function
|
|
></para
|
|
><para
|
|
>Esta función incremente el progreso en un paso.</para
|
|
></listitem>
|
|
|
|
<listitem
|
|
><para
|
|
>Función: <function
|
|
>setProgress</function
|
|
></para
|
|
><para
|
|
>Esta función define el valor del progreso. Recibe un argumento: el valor del progreso.</para
|
|
></listitem>
|
|
|
|
<listitem
|
|
><para
|
|
>Función: <function
|
|
>setProgressStage</function
|
|
></para
|
|
><para
|
|
>Esta función define el valor del progreso y muestra el texto.</para
|
|
></listitem>
|
|
|
|
<listitem
|
|
><para
|
|
>Función: <function
|
|
>setProgressTotalSteps</function
|
|
></para
|
|
><para
|
|
>Esta función define el número de pasos que necesita el guión. Recibe un argumento: el valor máximo del progreso.</para
|
|
></listitem>
|
|
</itemizedlist>
|
|
</listitem>
|
|
|
|
<listitem
|
|
><para
|
|
>Objeto: <classname
|
|
>Wavelet</classname
|
|
></para
|
|
><para
|
|
>Este objeto mantiene el coeficiente de una transformación de onda en un objeto <classname
|
|
>PaintLayer</classname
|
|
>.</para>
|
|
<itemizedlist>
|
|
|
|
<listitem
|
|
><para
|
|
>Función: <function
|
|
>getDepth</function
|
|
></para
|
|
><para
|
|
>Devuelve la profundidad de la capa.</para
|
|
></listitem>
|
|
|
|
<listitem
|
|
><para
|
|
>Función: <function
|
|
>getNCoeff</function
|
|
></para
|
|
><para
|
|
>Devuelve el valor del enésimo coeficiente. La función recibe un argumento: el índice del coeficiente.</para
|
|
></listitem>
|
|
|
|
<listitem
|
|
><para
|
|
>Función: <function
|
|
>getNumCoeffs</function
|
|
></para
|
|
><para
|
|
>Devuelve el número de coeficientes de la onda (= tamaño * tamaño * profundidad).</para
|
|
></listitem>
|
|
|
|
<listitem
|
|
><para
|
|
>Función: <function
|
|
>getSize</function
|
|
></para
|
|
><para
|
|
>Devuelve el tamaño de la onda (tamaño = anchura = altura).</para
|
|
></listitem>
|
|
|
|
<listitem
|
|
><para
|
|
>Función: <function
|
|
>getXYCoeff</function
|
|
></para
|
|
><para
|
|
>Devuelve el valor de un coeficiente. El coeficiente recibe dos argumentos: <varname
|
|
>x</varname
|
|
> e <varname
|
|
>y</varname
|
|
>.</para
|
|
></listitem>
|
|
|
|
<listitem
|
|
><para
|
|
>Función: <function
|
|
>setNCoeff</function
|
|
></para
|
|
><para
|
|
>Define el valor de coeficiente enésimo. La función recibe dos argumentos: el índice del coeficiente y el valor nuevo del coeficiente.</para
|
|
></listitem>
|
|
|
|
<listitem
|
|
><para
|
|
>Función: <function
|
|
>setXYCoeff</function
|
|
></para
|
|
><para
|
|
>Define el valor de un coeficiente. La función recibe tres argumentos: <varname
|
|
>x</varname
|
|
>, <varname
|
|
>y</varname
|
|
> y el valor nuevo del coeficiente.</para
|
|
></listitem>
|
|
</itemizedlist>
|
|
</listitem>
|
|
|
|
<listitem
|
|
><para
|
|
>Objeto: <classname
|
|
>Painter</classname
|
|
></para>
|
|
<itemizedlist>
|
|
|
|
<listitem
|
|
><para
|
|
>Función: <function
|
|
>convolve</function
|
|
></para
|
|
><para
|
|
>Esta función aplica un núcleo de convolución a una imagen. Recibe al menos tres argumentos: una lista con una lista del núcleo (todas las listas deben tener el mismo tamaño), factor y desplazamiento. </para
|
|
><para
|
|
>El valor de un píxel se consigue con la siguiente función: K * P / factor + desplazamiento, donde K es el núcleo y P es la vecindad. </para
|
|
><para
|
|
>Puede recibir los siguientes parámetros opcionales: <varname
|
|
>borderOp</varname
|
|
> (contrar cómo se hace la convolución de los píxeles del borde de una imagen: 0 = usar el color predefinido, 1 = usar el píxel del aldo opuesto de la imagen, 2 = usar el píxel del borde, 3 = evitar los píxeles del borde), <varname
|
|
>canal</varname
|
|
> (1 para color, 2 para alfa, 3 para ambos), <varname
|
|
>x</varname
|
|
>, <varname
|
|
>y</varname
|
|
>, <varname
|
|
>anchura</varname
|
|
> y <varname
|
|
>altura</varname
|
|
>.</para
|
|
></listitem>
|
|
|
|
<listitem
|
|
><para
|
|
>Función: <function
|
|
>setFillThreshold</function
|
|
></para
|
|
><para
|
|
>Define el umbral de relleno. Recibe un argumento: el umbral.</para
|
|
></listitem>
|
|
|
|
<listitem
|
|
><para
|
|
>Función: <function
|
|
>fillColor</function
|
|
></para
|
|
><para
|
|
>Comienza a rellenar con un color. Recibe dos argumentos: <varname
|
|
>x</varname
|
|
> e <varname
|
|
>y</varname
|
|
>.</para
|
|
></listitem>
|
|
|
|
<listitem
|
|
><para
|
|
>Función: <function
|
|
>fillPattern</function
|
|
></para
|
|
><para
|
|
>Comienza a rellenar con un patrón. Recibe dos argumentos: <varname
|
|
>x</varname
|
|
> e <varname
|
|
>y</varname
|
|
>.</para
|
|
></listitem>
|
|
|
|
<listitem
|
|
><para
|
|
>Función: <function
|
|
>paintPolyline</function
|
|
></para
|
|
><para
|
|
>Esta función pinta un polígono con líneas. Recibe dos argumentos: una lista de posiciones x y una lista de posiciones y.</para
|
|
></listitem>
|
|
|
|
<listitem
|
|
><para
|
|
>Función: <function
|
|
>paintLine</function
|
|
></para
|
|
><para
|
|
>Esta función pinta una línea. Recibe cinco argumentos: <varname
|
|
>x1</varname
|
|
>, <varname
|
|
>y1</varname
|
|
>, <varname
|
|
>x2</varname
|
|
>, <varname
|
|
>y2</varname
|
|
> y <varname
|
|
>presión</varname
|
|
>. </para
|
|
></listitem>
|
|
|
|
<listitem
|
|
><para
|
|
>Función: <function
|
|
>paintBezierCurve</function
|
|
></para
|
|
><para
|
|
>Esta función pinta una curva Bézier. Recibe diez argumentos: <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
|
|
> y <varname
|
|
>p2</varname
|
|
>, donde (<varname
|
|
>x1</varname
|
|
>,<varname
|
|
>y1</varname
|
|
>) es la posición inicial, <varname
|
|
>p1</varname
|
|
> es la presión inicial, (<varname
|
|
>x2</varname
|
|
>,<varname
|
|
>y2</varname
|
|
>) es la posición final, <varname
|
|
>p2</varname
|
|
> es la presión final. (<varname
|
|
>cx1</varname
|
|
>,<varname
|
|
>cy1</varname
|
|
>) y (<varname
|
|
>cx2</varname
|
|
>,<varname
|
|
>cy2</varname
|
|
>) son las posiciones de los puntos de control.</para
|
|
></listitem>
|
|
|
|
<listitem
|
|
><para
|
|
>Función: <function
|
|
>paintEllipse</function
|
|
></para
|
|
><para
|
|
>Esta función pinta una elipse. Recibe cinco argumentos: <varname
|
|
>x1</varname
|
|
>, <varname
|
|
>y1</varname
|
|
>, <varname
|
|
>x2</varname
|
|
>, <varname
|
|
>y2</varname
|
|
> y <varname
|
|
>presión</varname
|
|
>, donde (<varname
|
|
>x1</varname
|
|
>,<varname
|
|
>y1</varname
|
|
>) y (<varname
|
|
>x2</varname
|
|
>,<varname
|
|
>y2</varname
|
|
>) son las posiciones de los dos centros.</para
|
|
></listitem>
|
|
|
|
<listitem
|
|
><para
|
|
>Función: <function
|
|
>paintPolygon</function
|
|
></para
|
|
><para
|
|
>Esta función pinta un polígono. Recibe dos argumentos: una lista de posiciones x y una lista de posiciones y.</para
|
|
></listitem>
|
|
|
|
<listitem
|
|
><para
|
|
>Función: <function
|
|
>paintRect</function
|
|
></para
|
|
><para
|
|
>Esta función dibuja un rectángulo. Recibe cinco argumentos: <varname
|
|
>x</varname
|
|
>, <varname
|
|
>y</varname
|
|
>, <varname
|
|
>anchura</varname
|
|
> <varname
|
|
>altura</varname
|
|
> y <varname
|
|
>presión</varname
|
|
>.</para
|
|
></listitem>
|
|
|
|
<listitem
|
|
><para
|
|
>Función: <function
|
|
>paintAt</function
|
|
></para
|
|
><para
|
|
>Esta función dibuja en una posición dada. Recibe tres argumentos: <varname
|
|
>x</varname
|
|
>, <varname
|
|
>y</varname
|
|
> y <varname
|
|
>presión</varname
|
|
>.</para
|
|
></listitem>
|
|
|
|
<listitem
|
|
><para
|
|
>Función: <function
|
|
>setPaintColor</function
|
|
></para
|
|
><para
|
|
>Esta función define el color de la pintura (también llamado color de primer plano). Recibe un argumento: un objeto <classname
|
|
>Color</classname
|
|
>.</para
|
|
></listitem>
|
|
|
|
<listitem
|
|
><para
|
|
>Función: <function
|
|
>setBackgroundColor</function
|
|
></para
|
|
><para
|
|
>Esta función define el color de fondo. Recibe un argumento: un objeto <classname
|
|
>Color</classname
|
|
>.</para
|
|
></listitem>
|
|
|
|
<listitem
|
|
><para
|
|
>Función: <function
|
|
>setPattern</function
|
|
></para
|
|
><para
|
|
>Esta función define el patrón usado para rellenar. Recibe un argumento: un objeto <classname
|
|
>Pattern</classname
|
|
>.</para
|
|
></listitem>
|
|
|
|
<listitem
|
|
><para
|
|
>Función: <function
|
|
>setBrush</function
|
|
></para
|
|
><para
|
|
>Esta función define la brocha que se utiliza para pintar. Recibe un argumento: un objeto <classname
|
|
>Brush</classname
|
|
>.</para
|
|
></listitem>
|
|
|
|
<listitem
|
|
><para
|
|
>Función: <function
|
|
>setPaintOp</function
|
|
></para
|
|
><para
|
|
>Esta función define la operación de pintura. Recibe un argumento: el nombre de la operación de pintura.</para
|
|
></listitem>
|
|
|
|
<listitem
|
|
><para
|
|
>Función: <function
|
|
>setDuplicateOffset</function
|
|
></para
|
|
><para
|
|
>Esta función define el desplazamiento duplicado. Recibe dos argumentos: el desplazamiento horizontal y el desplazamiento vertical.</para
|
|
></listitem>
|
|
|
|
<listitem
|
|
><para
|
|
>Función: <function
|
|
>setOpacity</function
|
|
></para
|
|
><para
|
|
>Esta función define la opacidad de la pintura. Recibe un argumento: la opacidad, en el rango de 0 a 255.</para
|
|
></listitem>
|
|
|
|
<listitem
|
|
><para
|
|
>Función: <function
|
|
>setStrokeStyle</function
|
|
></para
|
|
><para
|
|
>Esta función define el estilo del trazo. Recibe un argumento: 0 para ninguno o 1 para brocha.</para
|
|
></listitem>
|
|
|
|
<listitem
|
|
><para
|
|
>Función: <function
|
|
>setFillStyle</function
|
|
></para
|
|
><para
|
|
>Esta función define el estilo de relleno del objeto <classname
|
|
>Painter</classname
|
|
>. Recibe un argumento: 0 para ninguno, 1 para relleno con color de primer plano, 2 para relleno con color de fondo y 3 para relleno con patrón.</para
|
|
></listitem>
|
|
</itemizedlist>
|
|
</listitem>
|
|
|
|
<listitem
|
|
><para
|
|
>Objeto: <classname
|
|
>Iterator</classname
|
|
></para
|
|
><para
|
|
>Este objeto le permite cambiar los valores de píxel uno a uno. El nombre de algunas funciones depende del espacio de colores, de hecho, si el espacio de colores de la capa es RGB, debe tener <function
|
|
>setR</function
|
|
>, <function
|
|
>setG</function
|
|
> y <function
|
|
>setB</function
|
|
>, y para CMYK: <function
|
|
>setC</function
|
|
>, <function
|
|
>setM</function
|
|
>, <function
|
|
>setY</function
|
|
> y <function
|
|
>setK</function
|
|
>. En la documentación siguiente, asumiremos que el espacio de colores se llama ABC, con tres canales: A, B y C.</para>
|
|
|
|
<itemizedlist>
|
|
<listitem
|
|
><para
|
|
>Funciones: <function
|
|
>setA</function
|
|
>, <function
|
|
>setB</function
|
|
>, <function
|
|
>setC</function
|
|
></para
|
|
><para
|
|
>Estas funciones reciben un argumento: el valor nuevo de uno de los canales para este píxel.</para
|
|
></listitem>
|
|
|
|
<listitem
|
|
><para
|
|
>Función: <function
|
|
>setABC</function
|
|
></para
|
|
><para
|
|
>Define el valor de todos los canales. Esta función recibe un argumento: un vector con los valores nuevos para todos los canales.</para
|
|
></listitem>
|
|
|
|
<listitem
|
|
><para
|
|
>Función <function
|
|
>getA</function
|
|
>, <function
|
|
>getB</function
|
|
>, <function
|
|
>getC</function
|
|
></para
|
|
><para
|
|
>Devuelve el valor de uno de los canales de este píxel.</para
|
|
></listitem>
|
|
|
|
<listitem
|
|
><para
|
|
>Función: <function
|
|
>getABC</function
|
|
></para
|
|
><para
|
|
>Devuelve un vector con los valores de todos los canales.</para
|
|
></listitem>
|
|
|
|
<listitem
|
|
><para
|
|
>Función: <function
|
|
>darken</function
|
|
></para
|
|
><para
|
|
>Oscurece un píxel. Esta función recibe al menos un argumento: <varname
|
|
>sombra</varname
|
|
> (cantidad utilizada para oscurecer todos los canales de color). Esta función puede recibir los siguientes argumentos opcionales: <varname
|
|
>compensación</varname
|
|
> (para limitar el oscurecimiento).</para
|
|
></listitem>
|
|
|
|
<listitem
|
|
><para
|
|
>Función: <function
|
|
>invertColor</function
|
|
></para
|
|
><para
|
|
>Invierte el color de un píxel.</para
|
|
></listitem>
|
|
|
|
<listitem
|
|
><para
|
|
>Función: <function
|
|
>next</function
|
|
></para
|
|
><para
|
|
>Incrementa la posición y va al siguiente píxel.</para
|
|
></listitem>
|
|
|
|
<listitem
|
|
><para
|
|
>Función: <function
|
|
>isDone</function
|
|
></para
|
|
><para
|
|
>Devuelve cierto si el iterador está al final (no hay más píxeles disponibles).</para
|
|
></listitem>
|
|
</itemizedlist>
|
|
</listitem>
|
|
</itemizedlist>
|
|
|
|
</sect1>
|
|
|
|
<sect1 id="scripting-resources">
|
|
<title
|
|
>Recursos</title>
|
|
|
|
<para
|
|
>Aquí hay consejos o listas parciales de recursos para &chalk;. </para
|
|
><para
|
|
>Para los objetos <classname
|
|
>Brush</classname
|
|
> y <classname
|
|
>Pattern</classname
|
|
>: Puede obtener el nombre de la brocha o del patrón asociado con el selector en la barra de herramientas de &chalk;. </para
|
|
><para
|
|
>Una lista de ids. con todos los espacios de color en &chalk; 1.5: LABA, RGBA, RGBA16, RGBAF32, RGBAF16HALF, LMSAF32, GRAYA, GRAYA16, CMYK, CMYKA16. </para>
|
|
</sect1>
|
|
|
|
</chapter>
|
|
|