Guiones
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. Con &chalk; se distribuyen algunos ejemplo, y los puede encontrar en /usr/share/apps/chalk/scripts (o /opt/kde/share/apps/chalk/scripts).
Variables del módulo Krosschalkcore
ChalkDocument devuelve un objeto Document
ChalkScript devuelve un objeto ScriptProgress
Puede recuperar un objeto usando la función get del módulo Krosschalkcore, en Ruby tiene que escribir algo parecido a esto: doc = Krosschalkcore::get("ChalkDocument")
script = Krosschalkcore::get("ChalkScript")
Funciones del módulo Krosschalkcore
Función: getBrushEsta función devuelve un objeto Brush de la lista de recursos de &chalk;. Recibe un argumento: el nombre de la brocha. Por ejemplo (en Ruby): Krosschalkcore::getBrush("Circle (05)")
Función: getFilterEsta función devuelve un objeto Filter de la lista de recursos de &chalk;. Recibe un argumento: el nombre del filtro. Por ejemplo (en Ruby): Krosschalkcore::getFilter("invert")
Función: getPatternEsta función devuelve un objeto Pattern de la lista de recursos de &chalk;. Recibe un argumento: el nombre del patrón. Por ejemplo (en Ruby): Krosschalkcore::getPattern("Bricks")
Función: loadBrushEsta función carga un objeto Brush y luego lo devuelve. Recibe un argumento: el nombre del archivo de la brocha.
Función: loadPatternEsta función carga un objeto Pattern y luego lo devuelve. Recibe un argumento: el nombre del archivo del patrón.
Función: newCircleBrushEsta función devuelve un objeto Brush 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): Krosschalkcore::newCircleBrush(10,20) # crea un círculo plano
Krosschalkcore::newCircleBrush(10,20,5,10) # crea un degradado
Función: newHSVColorEsta función devuelve un objeto Color 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): Krosschalkcore::newRGBColor(255,125,0)
Función: newImageEsta función devuelve un objeto Image nuevo. Recibe cuatro argumentos: anchura, altura, id. del espacio de colores y nombre de la imagen. Y como resultado se obtiene un objeto Image. Por ejemplo (en Ruby): Krosschalkcore::newImage(10,20, "RGBA", "kikoo")
Función: newRectBrushEsta función devuelve un objeto Brush 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): Krosschalkcore::newRectBrush(10,20) # crea un rectángulo plano
Krosschalkcore::newRectBrush(10,20,5,10) # crea un degradado
Función: newRGBColorEsta función devuelve un objeto Color 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): Krosschalkcore::newRGBColor(255,0,0) # crea un color rojo
Krosschalkcore::newRGBColor(255,255,255) # crea un color blanco
Descripciones y lista de funciones para varios objetos de Krosschalkcore
Objeto: PaintLayer
Función: beginPainting
Función: convertToColorspaceConvierte la imagen a un espacio de colores. Esta función recibe un argumento: el nombre del espacio de colores destino. Por ejemplo (en Ruby): image.convertToColorspace("CMYK")
Función: createHistogramEsta 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.
Función: createHLineIteratorCrea un iterador sobre una capa, que itera sobre una fila. Esta función recibe tres argumentos: x (empezar en la fila), y (posición vertical de la fila) y anchura de la fila.
Función: createPainterEsta función crea un objeto Painter que le permite dibujar sobre la capa.
Función: createRectIteratorCrea un iterador sobre una capa que itera sobre un área rectangular. Esta función recibe cuatro argumentos: x, y, anchura del rectángulo y altura del rectángulo.
Función: createVLineIteratorCrea un iterador sobre una capa, que itera sobre una columna. Esta función recibe tres argumentos: x (posición horizontal de la columna), y (empezar en la columna) y altura de la columna.
Función: endPaintingUse esta función para cerrar la entrada de rehacer actual y para añadirla al historial.
Función: fastWaveletTransformationDevuelve la transformada rápida de onda de la capa.
Función: fastWaveletUntransformationDeja de realizar la transformada rápida de onda de la capa. Recibe un argumento: un objeto wavelet. Por ejemplo (en Ruby): wavelet = layer.fastWaveletTransformation()
layer.fastWaveletUntransformation(wavelet)
Función: getHeightDevuelve la altura de la capa.
Función: getWidthDevuelve la anchura de la capa.
Objecto: Filter
Función: getFilterConfigurationEsta función devuelve el objeto FilterConfiguration asociado con este filtro.
Función: processEsta función aplica el filtro. Recibe al menos un argumento: la capa origen. También puede usar estos cuatro argumentos: x, y, anchura y altura. (x,y,anchura y altura) 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) 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 )
Objeto: FilterConfiguration
Función: getPropertyEsta función devuelve el valor de un parámetro del objeto Filter asociado. Recibe un argumento: el nombre del parámetro.
Función: setPropertyEsta función define un parámetro para el objeto Filter asociado. Recibe dos argumentos: el nombre del parámetro y el valor, cuyo tipo depende del objeto Filter.
Objeto: Histogram
Esta clase le permite acceder al histograma de un objeto PaintLayer. Ejemplo (en Ruby): 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
Función: getChannelDevuelve el canal seleccionado.
Función: getCountEsta función devuelve el número de píxeles utilizados por el histograma.
Función: getHighestEsta función devuelve el valor más alto del histograma.
Función: getLowestEsta función devuelve el valor más bajo del histograma.
Función: getMaxEsta 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.
Función: getMeanEsta función devuelve la media del histograma.
Función: getMinEsta 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.
Función: getNumberOfBinsDevuelve el número de cubos del histograma.
Función: getTotalEsta función devuelve la suma de todos los valores del histograma.
Función: getValueDevuelve el valor de un cubo del histograma. Esta función recibe un argumento: índice, en el rango [0..255].
Función: setChannelSelecciona 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.
Objeto: ScriptProgress
ScriptProgress se utiliza para gestionar la barra de progreso de la barar de estado de &chalk;. Por ejemplo (en Ruby): script = Krosschalkcore::get("ChalkScript")
script.setProgressTotalSteps(1000)
script.setProgressStage("progressive", 0)
for i in 1..900
script.incProgress()
end
script.setProgressStage("brutal", 1000)
Función: incProgressEsta función incremente el progreso en un paso.
Función: setProgressEsta función define el valor del progreso. Recibe un argumento: el valor del progreso.
Función: setProgressStageEsta función define el valor del progreso y muestra el texto.
Función: setProgressTotalStepsEsta función define el número de pasos que necesita el guión. Recibe un argumento: el valor máximo del progreso.
Objeto: WaveletEste objeto mantiene el coeficiente de una transformación de onda en un objeto PaintLayer.
Función: getDepthDevuelve la profundidad de la capa.
Función: getNCoeffDevuelve el valor del enésimo coeficiente. La función recibe un argumento: el índice del coeficiente.
Función: getNumCoeffsDevuelve el número de coeficientes de la onda (= tamaño * tamaño * profundidad).
Función: getSizeDevuelve el tamaño de la onda (tamaño = anchura = altura).
Función: getXYCoeffDevuelve el valor de un coeficiente. El coeficiente recibe dos argumentos: x e y.
Función: setNCoeffDefine el valor de coeficiente enésimo. La función recibe dos argumentos: el índice del coeficiente y el valor nuevo del coeficiente.
Función: setXYCoeffDefine el valor de un coeficiente. La función recibe tres argumentos: x, y y el valor nuevo del coeficiente.
Objeto: Painter
Función: convolveEsta 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. 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. Puede recibir los siguientes parámetros opcionales: borderOp (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), canal (1 para color, 2 para alfa, 3 para ambos), x, y, anchura y altura.
Función: setFillThresholdDefine el umbral de relleno. Recibe un argumento: el umbral.
Función: fillColorComienza a rellenar con un color. Recibe dos argumentos: x e y.
Función: fillPatternComienza a rellenar con un patrón. Recibe dos argumentos: x e y.
Función: paintPolylineEsta función pinta un polígono con líneas. Recibe dos argumentos: una lista de posiciones x y una lista de posiciones y.
Función: paintLineEsta función pinta una línea. Recibe cinco argumentos: x1, y1, x2, y2 y presión.
Función: paintBezierCurveEsta función pinta una curva Bézier. Recibe diez argumentos: x1, y1, p1, cx1, cy1, cx2, cx2, x2, y2 y p2, donde (x1,y1) es la posición inicial, p1 es la presión inicial, (x2,y2) es la posición final, p2 es la presión final. (cx1,cy1) y (cx2,cy2) son las posiciones de los puntos de control.
Función: paintEllipseEsta función pinta una elipse. Recibe cinco argumentos: x1, y1, x2, y2 y presión, donde (x1,y1) y (x2,y2) son las posiciones de los dos centros.
Función: paintPolygonEsta función pinta un polígono. Recibe dos argumentos: una lista de posiciones x y una lista de posiciones y.
Función: paintRectEsta función dibuja un rectángulo. Recibe cinco argumentos: x, y, anchura altura y presión.
Función: paintAtEsta función dibuja en una posición dada. Recibe tres argumentos: x, y y presión.
Función: setPaintColorEsta función define el color de la pintura (también llamado color de primer plano). Recibe un argumento: un objeto Color.
Función: setBackgroundColorEsta función define el color de fondo. Recibe un argumento: un objeto Color.
Función: setPatternEsta función define el patrón usado para rellenar. Recibe un argumento: un objeto Pattern.
Función: setBrushEsta función define la brocha que se utiliza para pintar. Recibe un argumento: un objeto Brush.
Función: setPaintOpEsta función define la operación de pintura. Recibe un argumento: el nombre de la operación de pintura.
Función: setDuplicateOffsetEsta función define el desplazamiento duplicado. Recibe dos argumentos: el desplazamiento horizontal y el desplazamiento vertical.
Función: setOpacityEsta función define la opacidad de la pintura. Recibe un argumento: la opacidad, en el rango de 0 a 255.
Función: setStrokeStyleEsta función define el estilo del trazo. Recibe un argumento: 0 para ninguno o 1 para brocha.
Función: setFillStyleEsta función define el estilo de relleno del objeto Painter. 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.
Objeto: IteratorEste 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 setR, setG y setB, y para CMYK: setC, setM, setY y setK. En la documentación siguiente, asumiremos que el espacio de colores se llama ABC, con tres canales: A, B y C.
Funciones: setA, setB, setCEstas funciones reciben un argumento: el valor nuevo de uno de los canales para este píxel.
Función: setABCDefine el valor de todos los canales. Esta función recibe un argumento: un vector con los valores nuevos para todos los canales.
Función getA, getB, getCDevuelve el valor de uno de los canales de este píxel.
Función: getABCDevuelve un vector con los valores de todos los canales.
Función: darkenOscurece un píxel. Esta función recibe al menos un argumento: sombra (cantidad utilizada para oscurecer todos los canales de color). Esta función puede recibir los siguientes argumentos opcionales: compensación (para limitar el oscurecimiento).
Función: invertColorInvierte el color de un píxel.
Función: nextIncrementa la posición y va al siguiente píxel.
Función: isDoneDevuelve cierto si el iterador está al final (no hay más píxeles disponibles).
Recursos
Aquí hay consejos o listas parciales de recursos para &chalk;. Para los objetos Brush y Pattern: Puede obtener el nombre de la brocha o del patrón asociado con el selector en la barra de herramientas de &chalk;. Una lista de ids. con todos los espacios de color en &chalk; 1.5: LABA, RGBA, RGBA16, RGBAF32, RGBAF16HALF, LMSAF32, GRAYA, GRAYA16, CMYK, CMYKA16.