Siguiente: , Anterior: , Subir: draw   [Índice general][Índice]

47.3 Funciones y variables para picture

Función: get_pixel (pic,x,y)

Devuelve el pixel de la imagen pic. Las coordenadas x e y van desde 0 hasta ancho-1 y alto-1, respectivamente.

Función: make_level_picture (data)
Función: make_level_picture (data,width,height)

Devuelve un objeto picture consistente en una imagen de niveles. make_level_picture (data) construye el objeto picture a partir de la matriz data. make_level_picture (data,width,height) construye el objeto a partir de una lista de números, en cuyo caso deben indicarse el ancho width y la altura height en píxeles.

El objeto picture devuelto contiene los siguientes cuatro elemento:

  1. el símbolo level
  2. anchura de la imagen
  3. altura de la imagen
  4. un array de enteros con los valores de los píxeles entre 0 y 255. El argumento data debe contener sólo números entre 0 y 255; los cantidades negativas se transforman en ceros y las que son mayores de 255 se igualan a este número.

Ejemplo:

Imagen de niveles a partir de una matriz.

(%i1) load("draw")$
(%i2) make_level_picture(matrix([3,2,5],[7,-9,3000]));
(%o2)         picture(level, 3, 2, {Array:  #(3 2 5 7 0 255)})

Imagen de niveles a partir de una lista numérica.

(%i1) load("draw")$
(%i2) make_level_picture([-2,0,54,%pi],2,2);
(%o2)            picture(level, 2, 2, {Array:  #(0 0 54 3)})
Función: make_rgb_picture (redlevel,greenlevel,bluelevel)

Devuelve un objeto picture conteniendo una imagen en color (RGB). Los tres argumentos deben ser imágenes de niveles, para el rojo (R), verde (G) y azul (B).

El objeto picture devuelto contiene los siguientes cuatro elemento:

  1. el símbolo rgb
  2. anchura de la imagen
  3. altura de la imagen
  4. un array de enteros de 3*ancho*alto con los valores de los píxeles entre 0 y 255. Cada valor de pixel se representa en el array con tres números consecutivos (rojo, verde, azul).

Ejemplo:

(%i1) load("draw")$
(%i2) red: make_level_picture(matrix([3,2],[7,260]));
(%o2)           picture(level, 2, 2, {Array:  #(3 2 7 255)})
(%i3) green: make_level_picture(matrix([54,23],[73,-9]));
(%o3)           picture(level, 2, 2, {Array:  #(54 23 73 0)})
(%i4) blue: make_level_picture(matrix([123,82],[45,32.5698]));
(%o4)          picture(level, 2, 2, {Array:  #(123 82 45 33)})
(%i5) make_rgb_picture(red,green,blue);
(%o5) picture(rgb, 2, 2, 
              {Array:  #(3 54 123 2 23 82 7 73 45 255 0 33)})
Función: negative_picture (pic)

Devuelve el negativo de la imagen, sea ésta de tipo nivel (level) o color (rgb).

Función: picture_equalp (x,y)

Devuelve true si los dos argumentos son imágenes idénticas, o false en caso contrario.

Función: picturep (x)

Devuelve true si el argumento es una imagen bien formada, o false en caso contrario.

Función: read_xpm (xpm_file)

Lee el fichero gráfico en formato xpm y devuelve un objeto picture.

Función: rgb2level (pic)

Transforma una imagen en color rgb a otra de niveles level promediando los niveles.

Función: take_channel (im,color)

Si el argumento color es red, green o blue, la función take_channel devuelve el canal de color correspondiente de la imagen im.

Ejemplo:

(%i1) load("draw")$
(%i2) red: make_level_picture(matrix([3,2],[7,260]));
(%o2)           picture(level, 2, 2, {Array:  #(3 2 7 255)})
(%i3) green: make_level_picture(matrix([54,23],[73,-9]));
(%o3)           picture(level, 2, 2, {Array:  #(54 23 73 0)})
(%i4) blue: make_level_picture(matrix([123,82],[45,32.5698]));
(%o4)          picture(level, 2, 2, {Array:  #(123 82 45 33)})
(%i5) make_rgb_picture(red,green,blue);
(%o5) picture(rgb, 2, 2, 
              {Array:  #(3 54 123 2 23 82 7 73 45 255 0 33)})
(%i6) take_channel(%,'green);  /* simple quote!!! */
(%o6)           picture(level, 2, 2, {Array:  #(54 23 73 0)})

Siguiente: , Anterior: , Subir: draw   [Índice general][Índice]