eBD:IMGCREATE

Sintaxis:

<eBD:IMGCREATE VAR="imgvar" ( WIDTH="pixels" HEIGHT="pixels" [TRUECOLOR="1|0"] | TMPFILE="tmpfile" )/>

Acción:

Crea una imagen vacia, con las dimensiones indicadas. Puede crearse en modo truecolor o no (usara una paleta).

Si se usa la opcion TMPFILE, creará la imagen a partir de un fichero temporal previamente abierto con TMPFILE.

Ejemplo:

<eBD:IMGCREATE VAR="img" WIDTH="$w" HEIGHT="$h" TRUECOLOR="1" />
<eBD:IMGCREATE VAR="img" TMPFILE="tmpFileName" />

eBD:IMGINFO

Sintaxis:

<eBD:IMGINFO IMG="imgvar" [WIDTH="varname"] [HEIGHT="varname"] />

Acción:

Devuelve la anchura y la altura de la imagen.

Ejemplo:

<eBD:IMGINFO IMG="img" WIDTH="w" HEIGHT="h" />
<eBD:OUT VALUE="Ancho: $w, Alto: $h"/>

eBD:IMGCOLOR

Sintaxis:

<eBD:IMGCOLOR IMG="image_var" ( ALLOCATE="(XXXXXX|r,g,b)" VAR="index" |
DEALLOCATE="colorindex" |
COUNT="varname" |
CLOSEST="(XXXXXX|r,g,b)" [USEHWB="(0|1)"] VAR="index" |
EXACT="(XXXXXX|r,g,b)" VAR="index" [ALLOC="(0|1)"] |
PIXEL="x,y" VAR="varname" |
INDEX="index" VAR="varname" |
TRANSPARENT="(FFFFFF|r,g,b)" ) />

Acción:

Permite realizar varias operaciones sobre la paleta de colores de una imagen. Los parámetros XXXXXXXX representan un codigo RGB en hexadecimal (6 caracteres).

Ejemplo:

  • <eBD:IMGCOLOR IMG="imgvar" ALLOCATE="r,g,b" VAR="index" /> Añade un color especificado por los componentes RGB a la paleta.
  • <eBD:IMGCOLOR IMG="imgvar" DEALLOCATE="index" /> Elimina el color indicado por el indice de la paleta.
  • <eBD:IMGCOLOR IMG="imgvar" CLOSEST="r,g,b" USEHWB="1" VAR="index" /> Devuelve el indice del color de la paleta que mas se parece al que estamos buscando, según los componentes RGB. Si se usa el parámetro USEHWB, buscara el color mas parecido según los componentes HWB, que se acercan mas a la percepción humana.
  • <eBD:IMGCOLOR IMG="imgvar" EXACT="r,g,b" ALLOCATE="1" VAR="index" /> Busca el color indicado por los componentes RGB en la paleta y devuelve el indice. Si no encuentra el color, y se ha usado el parámetro ALLOCATE, se añade el color a la paleta automaticamente.
  • <eBD:IMGCOLOR IMG="imgvar" PIXEL="x,y" VAR="color" /> (color = r,g,b) Devuelve los componentes RGB del color con el que esta pintado el pixel indicado.
  • <eBD:IMGCOLOR IMG="imgvar" INDEX="index" VAR="color" /> (color = r,g,b) Devuelve los componentes RGB de la posición indicada de la paleta.
  • <eBD:IMGCOLOR IMG="imgvar" TRANSPARENT="r,g,b" /> Activa el ag de transparencia para el color indicado de la paleta.

eBD:IMGDRAW

Sintaxis:

<eBD:IMGDRAW IMG="image_var" [ANTIALIAS="(FFFFFF|r,g,b)"] ( FILL="x,y" [THICKNESS="pixels"] ( COLOR="(FFFFFF|r,g,b)" | FILLCOLOR="(FFFFFF|r,g,b)" | STYLE="color1;color2;..." ) |
ELLIPSE="cx,cy,width,height" [THICKNESS="pixels"] ( COLOR="(FFFFFF|r,g,b)" | FILLCOLOR="(FFFFFF|r,g,b)" |
STYLE="color1;color2;..." ) |
RECT="x1,y1,x2,y2" [THICKNESS="pixels"] ( COLOR="(FFFFFF|r,g,b)" |
FILLCOLOR="(FFFFFF|r,g,b)" | STYLE="color1;color2;..." ) |
STRING="text" DIRECTION="(V|H)" COLOR="(FFFFFF|r,g,b)" [FONT="font-name|(size;rotation angle)"] [START="x,y"] |
ARC="cx,cy,w,h,start,end" [THICKNESS="pixels"] ( COLOR="(FFFFFF|r,g,b)" |
FILLCOLOR="(FFFFFF|r,g,b)" | STYLE="color1;color2;..." ) |
LINE="x1,y1,x2,y2" [THICKNESS="pixels"] ( COLOR="(FFFFFF|r,g,b)" |
FILLCOLOR="(FFFFFF|r,g,b)" | STYLE="color1;color2;..." ) | ) />

Acción:

Permite dibujar elementos geometricos sobre la imagen.

Ejemplo:

  • <eBD:IMGDRAW IMG="imgvar" LINE="0,0,10,10" COLOR="$color" THICKNESS="$t"/> Dibuja una linea desde 0,0 hasta 10,10, de "$t" pixels de anchura.
  • <eBD:IMGDRAW IMG="imgvar" RECT="0,0,100,100" COLOR="$color" STYLE="$color1,$color2" /> Dibuja un rectangulo desde 0,0 hasta 100,100, alternando los pixels entre 2 colores.
  • <eBD:IMGDRAW IMG="imgvar" FILL="x,y" COLOR="$index" /> Rellena el area de la imagen que contenga el mismo color de forma contigua, empezando por las coordenadas 50,50 con el color $index.
  • <eBD:IMGDRAW IMG="imgvar" STRING="Hello" START="20,20" COLOR="$c" FONT="MEDIUM" /> Escribe el string "texto" en las coordenadas 20,20. El parámetro font indica el tamaño del texto pudiendo ser uno de los siguientes valores: GIANT, LARGE, MEDIUM, SMALL, TINY.
    Se pueden utilizar tipografías de tipo TrueType para introducir texto en la imagen, añadiendo el archivo de la tipografía dentro del directorio /userdata/resources/fonts/ Y especificando en el parámetro font la cadena: archivo.ttf;tamaño(ppp);ángulo de rotacion(grados) por ejemplo: FONT="arial.ttf;20;5"
    eBD:IMGTRANSFORM

Sintaxis:

<eBD:IMGTRANSFORM IMG="image_var" ( ROTATE="degrees" | CLIP="x1,y1,x2,y2" | SCALE="width,height" [ASPECTRATIO="(1|0)"] | FLIP="(H|V)" ) />

Acción:

Permite realizar diferentes transformaciones sobre la imagen.

Ejemplo:

  • <eBD:IMGTRANSFORM IMG="imgvar" FLIP="H" /> Voltea la imagen horizontalmente.
  • <eBD:IMGTRANSFORM IMG="imgvar" ROTATE="90" /> Hace una rotación de la imagen de 90 grados en el sentido horario.
  • <eBD:IMGTRANSFORM IMG="imgvar" SCALE="100,*" ASPECTRATIO="1" /> Escala la imagen a 100 pixels de anchura, manteniendo la relacion de aspecto. Los parámetros width y height se pueden indicar en pixels o en porcentage, usando el carácter % al final. Por ejemplo: *SCALE="50%,**"
  • <eBD:IMGTRANSFORM IMG="imgvar" CLIP="10,10,50,50" /> Recorta el trozo de la imagen indicado por el parámetro CLIP (desde 10,10 hasta 50,50).

eBD:IMGCOPY

Sintaxis:

<eBD:IMGCOPY SRC="image_var" FROM="x,y,width,height" DST="image_var" TO="x,y(,width,height)?" [ROTATE="degrees"]/>

Acción:

Copia un trozo de una imagen sobre otra, permitiendo realizar una transformación de escalado o rotación al mismo tiempo.

Ejemplo:

  • <eBD:IMGCOPY SRC="imgvar" FROM="0,0,100,100" DST="imgvar2" TO="0,0" /> Copia el trozo de la imagen imgvar entre 0,0 y 100,100 sobre la imagen imgvar2 (en las coordenadas 0,0).
  • Los tipos de archivos soportados son los siguientes: Png, Gif, Jpeg, Tiff, Xpm, WBMP, GifAnim, Webp, Heif, Avif.

eBD:IMGFILTER

Sintaxis:

<eBD:IMGFILTER IMG="src_image_var" (PIXELIZE="tgt_image_var" |
OILIFY="tgt_image_var" (SEED="seed") |
CHANNEL="1" [GREEN="tgt_image"] [BLUE="tgt_image"] [RED="tgt_image"] |
POSTERIZE="tgt_image_var" | SOLARIZE="tgt_image_var" (SEED="seed") |
ERASELINE="tgt_image_var" [THICKNESS="linewidth"] [COLOR="(colorname|XXXXXX|r,g,b)"] [ORIENTATION="H|V"] |
GREYSCALE="tgt_image_var" | SWIRL="tgt_image_var" | SHARPEN="tgt_image_var" |
BLUR="tgt_image_var" |
INVERT="tgt_image_var" |
EDGE="tgt_image_var" |
GAUSSIAN="tgt_image_var" |
TWIRL="tgt_image_var" |
RIPPLE="tgt_image_var" |
FLOYD="tgt_image_var" |
LEVEL="tgt_image_var" (LIMIT="level") |
ROTATE="tgt_image_var" |
EMBOSS="tgt_image_var") />

Acción:

Permite aplicar distintos efectos sobre la imagen.

Ejemplo:

  • <eBD:IMGFILTER BLUE="imgvar"/> Aplica un efecto de desenfocado sobre la imagen imgvar.
  • <eBD:IMGFILTER SOLARIZE="imgvar" SEED="128"/> Aplica un efecto de solarizado sobre la imagen imgvar.

eBD:IMGGRAPH

Sintaxis:

<eBD:IMGGRAPH IMG="varname" TYPE="(lines|bars|hbars|points|linespoints|area|mixed|pie)" WIDTH="width" HEIGHT="height" [TRANSPARENT="(0|1)"] [EXTENDED="hash_varname"]>
<eBD:IMGGRAPHDS [DSTYPE="(lines|bars|hbars|points|linespoints|area)"] DATASET="array_varname"/> +
</eBD:IMGGRAPH>

Acción:

Permite generar varios tipos de gráficas usando los DataSets proporcionados por las instrucciones eBD:IMGGRAPHDS. El parámetro _EXTENDED _permite definir varios parámetros extendidos mediante un HASH. Los posibles parámetros a usar dependen del tipo de gráfica que se va a generar.

Parámetros para cualquier gráfica:
width, height dimensiones de la gráfica a dibujar.
t_margin, b_margin, margenes laterales que se deben dejar. (top,bottom,left y right)
l_margin, r_margin
interlaced indica si la imagen generada sera entrelazada o no (default: 1)
Parámetros sobre colores:
bgclr color de fondo de la gráfica
fgclr color de los ejes y la regilla
boxclr color de relleno de la caja definida por los ejes
accentclr color de resaltado en las gráficas "bar","area" y "pie"
shadowclr color de la sombra en las gráficas "bar"
shadow_depth anchura de la sombra. Puede ser positiva => sombra derecha/inferior, o negativa => sombre izquierda/superior
labelclr color usado para las etiquetas de los ejes
axislabelclr color usado para los valores de los ejes
legendclr color usado para la leyenda
valuesclr color usado para los valores
textclr color usado para cualquier otro texto
dclrs colores usados para los dataset. Este parámetro debe ser una referencia a un array de colores, que indicaran los colores para cada dataset segun su posicion.
borderclrs colores para los borsers de los dataset en gráficas "bar". Sigue la misma estructura que dclrs.
cycle_clrs Indica si la secuencia de colores especificada por dclrs se usa por dataset o por valor.
Parámetros para gráficas con ejes:
x_label Etiqueta para el eje X
y_label Etiqueta para el eje Y
long_ticks Las marcas de los ejes deben tener la misma longitud que los ejes
tick_length Longitud de las marcas de los ejes (si long_ticks es 0)
Se pueden especificar independientemente para el eje x o y, usando x_long_ticks, y_long_ticks, x_tick_length y y_tick_length.
x_ticks Indica si se deben dibujar las marcas del eje X
y_tick_number Número de marcas que se deben dibujar en el eje Y
x_label_position Posición de la etiqueta X definida con un valor entre 0 y 1. (0 => alineada a la izquierda, 1 => alineada a la derecha)
y_label_position Posición de la etiqueta X definida con un valor entre 0 y 1. (0 => alineada abajo, 1 => alineada arriba)
x_labels_vertical Indica si las etiquetas del eje X deben escribirse verticalmente
x_plot_values Indica si se deben dibujar los valores de las marcas del eje X
y_plot_values Indica si se deben dibujar los valores de las marcas del eje Y
box_axis Indica si se deben dibujar los ejes como una caja
no_axes Desactiva el dibujado de los ejes
zero_axis Indica si se debe dibujar el eje 0.
zero_axis_only Solo se debe dibujar el eje 0 (no se mostrará el eje X habitual)
y_max_value Valor máximo a mostrar en el eje Y
y_min_value Valor mínimo a mostrar en el eje Y
axis_space Espacio entre el eje y las etiquetas de las marcas de los ejes.
text_space Espacio entre los textos (titulo y etiquetas) y la gráfica
cumulate Dibuja las gráficas acumulando los valores de los DataSet.
overwrite Dibuja las gráficas superponiendo los valores de los DataSet.
show_values Muestra los valores de cada punto de la gráfica
values_vertical Muestra los valores de cada punto verticalmente
values_space Espacio entre los valores y el punto en la gráfica
Parámetros para gráficas de barras:
bar_width Anchura de la barra en pixels.
bar_spacing Espacio entre barras

line_types Tipo de líneas. Debe ser un array de números, (uno para cada DataSet), donde el valor indica el tipo de línea
1 => solida
2 => guiones
3 => puntos
4 => punto/guion

Parámetros para gráficas de lineas:
line_type_scale Longitud de los guiones en los tipos de linea 3 y 4
line_width Anchura en pixels de la linea
skip_undef Creara un salto en la linea si se encuentra un valor no definido

markers Tipo de puntos. Debe ser un array de numeros, (uno para cada DataSet), donde el valor indica el tipo de punto:
1 => cuadrado relleno,
2 => cuadrado abierto
3 => cruz horizontal,
4 => cruz diagonal,
5 => rombo relleno,
6 => rombo abierto,
7 => circulo relleno,
8 => circulo abierto,
9 => linea horizontal,
10 => linea vertical

Parámetros para gráficas de puntos:
marker_size Tamaño del punto en pixels
Parámetros para tartas:
3d Indica si se debe dibujar la tarta en 3d
pie_height Altura de la tarta en pixels
start_angle Angulo de inicio por el que se debe empezar a rellenar la tarta.
suppress_angle Angulo minimo para que un valor se represente en la tarta label Etiqueta a escribir bajo la tarta

Ejemplo:

<eBD:VAR NAME="options" TYPE="HASH"/>
<eBD:SET VAR="options" INDEX="x_label" VALUE="Posiciones"/>
<eBD:SET VAR="options" INDEX="y_label" VALUE="Valores"/>
<eBD:SET VAR="options" INDEX="title" VALUE="Titulo"/>
<eBD:IMGGRAPH IMG="imagen" TYPE="bars" WIDTH="300" HEIGHT="400" EXTENDED="$options">
<eBD:IMGGRAPHDS DATASET="$datos"/>
</eBD:IMGGRAPH>

eBD:IMGSAVE

Sintaxis:

<eBD:IMGSAVE IMG="imgvar" TMPFILE="file" FORMAT="jpg|png|gif" [NAME="filename"] [QUALITY="png:9-1,jpeg:1-100"] />

Acción:

Guarda la imagen en el fichero temporal, usando el formato indicado.

Ejemplo:

<eBD:IMGSAVE IMG="imgvar" TMPFILE="¬le" FORMAT="jpg" JPEGQUALITY="80" />