jip
Class JIPBitmap

java.lang.Object
  |
  +--jip.JIPBitmap

public class JIPBitmap
extends java.lang.Object

Descripción:
Clase que define el objeto bitmap. Un bitmap representa una matriz de pixels de anchura y altura constantes, o bien también puede contener vectores de tipos geométricos. Si es un conjunto de pixels, cada componente de la matriz contendrá un valor de intensidad correspondiente al pixel que represente. Estos valores de intensidad se codifican de distinta forma según el tipo de bitmap. Los 4 tipos de bitmaps de pixels con sus rangos de valores son: tBIT -> enteros [0..1] , tBYTE -> enteros [0..255] , tWORD -> enteros [0..65535] y tREAL -> flotantes [0..1]. Tambien podemos crear un bitmap que contenga elementos geométricos, como Puntos, Segmentos Polígonos o Edges, cuyos tipos asociados son: tPOINT, tSEGMENT, tPOLY y tEDGES. Podremos construir bitmaps 'vacíos' (sin valores asignados pero sí con anchura, altura y tipo) o 'inicializados'. Al construir un bitmap, aunque esté vacío, hay que especificar su anchura, altura y tipo. Estas propiedades no podrán variarse durante la vida del objeto. Sin embargo si el tipo es geométrico podremos crearlo a partir de un vector vacio, y mas tarde añadir valores, con lo que cambiará el tamaño del vector que contiene los elementos geométricos. Podremos también asignar y obtener los valores de los pixels en conjunto (como un array) o individualmente. El acceso individual se realiza especificando las coordenadas x e y del pixel. Estas coordenadas se corresponden con: (0,0) -> pixel de la esquina superior izquierda y (anchura-1,altura-1) -> pixel de la esquina inferior derecha. Igualmente podremos obtener los valores geométricos, obteniendo un tipo vector que contiene todas las coordenadas geométricas. Un bitmap no puede representar color, sólo contiene intensidades de pixels. Un bitmap codificará una banda de una imagen y serán las propias imágenes las que puedan ser en color (3 bandas RGB representadas con sus correspondientes bitmaps).

See Also:
JIP.tBIT, JIP.tBYTE, JIP.tWORD, JIP.tREAL, JIP.tPOINT, JIP.tSEGMENT, JIP.tPOLY, JIP.tEDGES

Field Summary
(package private)  boolean[] bmpBit
          Array de punots (si es de tipo BIT)
(package private)  byte[] bmpByte
          Array de puntos (si es de tipo BYTE)
(package private)  float[] bmpReal
          Array de puntos (si es de tipo REAL)
(package private)  short[] bmpWord
          Array de puntos (si es de tipo WORD)
(package private)  java.util.Vector Edges
          Vector de Edges (si es de tipo EDGES) Cada posicion del vector es a su vez otro vector en la que cada dos posiciones se indica un punto del vector.
(package private)  int height
          Alto del Bitmap
(package private)  int lEdges
          Número de Edges
(package private)  int lPoligonos
          Número de Polígonos
(package private)  int lPuntos
          Número de Puntos
(package private)  int lSegmentos
          Número de Segmentos
(package private)  java.util.Vector Poligonos
          Vector de Poligonos (si es de tipo POLY) Cada posicion del vector es a su vez otro vector en la que cada dos posiciones se indica un punto del vector.
(package private)  java.util.Vector Puntos
          Vector de Puntos (si es de tipo POINT) Cada punto ocupa dos posiciones del vector consecutivas.
(package private)  java.util.Vector Segmentos
          Vector de Segmentos (si es de tipo SEGMENT) Cada segmento ocupa cuatro posiciones del vector consecutivas.
(package private)  int type
          Tipo del Bitmap
(package private)  int width
          Ancho del Bitmap
 
Constructor Summary
JIPBitmap(int w, int h, boolean[] bmp)
           Descripción:
Constructor de un bitmap con valores iniciales booleanos de los pixels.
JIPBitmap(int w, int h, byte[] bmp)
           Descripción:
Constructor de un bitmap con valores iniciales de tipo byte de los pixels.
JIPBitmap(int w, int h, float[] bmpFloat)
           Descripción:
Constructor de un bitmap con valores iniciales reales de los pixels.
JIPBitmap(int w, int h, int t)
           Descripción:
Constructor de un bitmap vacío (sin valores de pixels).
JIPBitmap(int w, int h, int t, int[] bmpInt)
           Descripción:
Constructor de un bitmap con valores iniciales enteros de los pixels.
JIPBitmap(int w, int h, int t, java.util.Vector v)
           Descripción:
Constructor de un bitmap de tipo geométrico con el vector de valores.
JIPBitmap(int w, int h, short[] bmp)
           Descripción:
Constructor de un bitmap con valores iniciales de tipo WORD de los pixels.
JIPBitmap(JIPBitmap bmp)
           Descripción:
Constructor de un bitmap como copia de otro.
 
Method Summary
 void addPoint(int x0, int y0)
           Descripción:
Añade un punto cuyas coordenadas se espeficican en los parámetros de entrada, a un bitmap de tipo tPOINT.
 void addSegment(int x0, int y0, int x1, int y1)
           Descripción:
Añade un segmento cuyas coordenadas se espeficican en los parámetros de entrada, a un bitmap de tipo tSEGMENT.
 int[] getAllPixel()
           Descripción:
Obtiene el valor de los pixels de un bitmap de tipo tBIT, tBYTE o tWORD.
 float[] getAllPixelFlo()
           Descripción:
Obtiene el valor de los pixels de un bitmap de tipo tREAL.
 int getHeight()
           Descripción:
Obtiene la altura del bitmap.
 int getLVectorEdges()
           Descripción:
Obtiene número de edges del Vector de edges
 int getLVectorPoint()
           Descripción:
Obtiene número de puntos del Vector de puntos
 int getLVectorPoly()
           Descripción:
Obtiene número de poligonos del Vector de poligonos
 int getLVectorSegment()
           Descripción:
Obtiene número de Segmentos del Vector de segmentos
 int getNumPixels()
           Descripción:
Obtiene el número de pixels del bitmap.
 int getPixel(int x, int y)
           Descripción:
Obtiene el valor de un pixel de un bitmap de tipo tBIT, tBYTE o tWORD.
 float getPixelFlo(int x, int y)
           Descripción:
Obtiene el valor de un pixel de un bitmap de tipo tREAL.
 int getType()
           Descripción:
Obtiene el tipo de bitmap.
 java.util.Vector getVectorEdges()
           Descripción:
Obtiene el vector de edges del bitmap
 java.util.Vector getVectorPoint()
           Descripción:
Obtiene el vector de puntos del bitmap
 java.util.Vector getVectorPoly()
           Descripción:
Obtiene el vector de poligonos del bitmap
 java.util.Vector getVectorSegment()
           Descripción:
Obtiene el vector de segmentos del bitmap
 int getWidth()
           Descripción:
Obtiene la anchura del bitmap.
 void setAllPixel(float[] bmpFloat)
           Descripción:
Asigna el valor de los pixels a un Bitmap de tipo tREAL.
 void setAllPixel(int[] bmpInt)
           Descripción:
Asigna el valor de todos los pixels a un bitmap de tipo tBIT, tBYTE o tWORD.
 void setPixel(int x, int y, float pix)
           Descripción:
Asigna el valor real de un pixel a un bitmap de tipo tREAL.
 void setPixel(int x, int y, int pix)
           Descripción:
Asigna el valor entero de un pixel a un bitmap de tipo tBIT, tBYTE o tWORD.
 void setVector(int t, java.util.Vector v)
           Descripción:
Asigna el valor de un vector de Geometria a un Bitmap de tipo tPOINT, tSEGMENT, tPOLY o tEDGES
 
Methods inherited from class java.lang.Object
, clone, equals, finalize, getClass, hashCode, notify, notifyAll, registerNatives, toString, wait, wait, wait
 

Field Detail

width

int width
Ancho del Bitmap

height

int height
Alto del Bitmap

type

int type
Tipo del Bitmap

Segmentos

java.util.Vector Segmentos
Vector de Segmentos (si es de tipo SEGMENT) Cada segmento ocupa cuatro posiciones del vector consecutivas. Las dos primeras se corresponden al punto de inicio, y las dos últimas al punto final del vector.

Puntos

java.util.Vector Puntos
Vector de Puntos (si es de tipo POINT) Cada punto ocupa dos posiciones del vector consecutivas. La primera posicion es la x y la segunda la y.

Poligonos

java.util.Vector Poligonos
Vector de Poligonos (si es de tipo POLY) Cada posicion del vector es a su vez otro vector en la que cada dos posiciones se indica un punto del vector. Habrá tantos polígonos como posiciones del vector inicial.

Edges

java.util.Vector Edges
Vector de Edges (si es de tipo EDGES) Cada posicion del vector es a su vez otro vector en la que cada dos posiciones se indica un punto del vector. Habrá tantos edges como posiciones del vector inicial.

lSegmentos

int lSegmentos
Número de Segmentos

lPuntos

int lPuntos
Número de Puntos

lPoligonos

int lPoligonos
Número de Polígonos

lEdges

int lEdges
Número de Edges

bmpBit

boolean[] bmpBit
Array de punots (si es de tipo BIT)

bmpByte

byte[] bmpByte
Array de puntos (si es de tipo BYTE)

bmpWord

short[] bmpWord
Array de puntos (si es de tipo WORD)

bmpReal

float[] bmpReal
Array de puntos (si es de tipo REAL)
Constructor Detail

JIPBitmap

public JIPBitmap(JIPBitmap bmp)

Descripción:
Constructor de un bitmap como copia de otro.

Parameters:
bmp - Bitmap de referencia para construir la copia.

JIPBitmap

public JIPBitmap(int w,
                 int h,
                 int t)

Descripción:
Constructor de un bitmap vacío (sin valores de pixels).

Parameters:
w - Anchura (columnas) del bitmap (w>0)
h - Altura (filas) del bitmap (h>0)
t - Tipo de bitmap.

JIPBitmap

public JIPBitmap(int w,
                 int h,
                 int t,
                 int[] bmpInt)

Descripción:
Constructor de un bitmap con valores iniciales enteros de los pixels.

Parameters:
w - Anchura (columnas) del bitmap (w>0)
h - Altura (filas) del bitmap (h>0)
t - Tipo de bitmap (no se permite tREAL pues los valores iniciales son enteros)
bmpInt - Vector que contiene los valores iniciales de los pixels. bmpInt.length debe coincidir con el número de pixels (w*h). El rango al que se ajustarán los valores depende del tipo del bitmap: tBIT -> [0..1] , tBYTE -> [0..255] , tWORD -> [0..65535] El orden de los pixels dentro del vector es por filas: ( valores fila 0, valores fila 1, ... , valores fila h-1 ) siendo la fila 0 la superior.

JIPBitmap

public JIPBitmap(int w,
                 int h,
                 float[] bmpFloat)

Descripción:
Constructor de un bitmap con valores iniciales reales de los pixels. El tipo no se especifica pues será tREAL.

Parameters:
w - Anchura (columnas) del bitmap (w>0)
h - Altura (filas) del bitmap (h>0)
bmpFloat - Vector que contiene los valores iniciales de los pixels. bmpFloat.length debe coincidir con el número de pixels (w*h). El rango al que se ajustarán los valores es [0..1]. El orden de los pixels dentro del vector es por filas: ( valores fila 0, valores fila 1, ... , valores fila h-1 ) siendo la fila 0 la superior.

JIPBitmap

public JIPBitmap(int w,
                 int h,
                 boolean[] bmp)

Descripción:
Constructor de un bitmap con valores iniciales booleanos de los pixels. El tipo no se especifica pues será tBIT.

Parameters:
w - Anchura (columnas) del bitmap (w>0)
h - Altura (filas) del bitmap (h>0)
bmp - Vector que contiene los valores iniciales de los pixels. bmp.length debe coincidir con el número de pixels (w*h). El rango al que se ajustarán los valores es [0,1]. El orden de los pixels dentro del vector es por filas: ( valores fila 0, valores fila 1, ... , valores fila h-1 ) siendo la fila 0 la superior.

JIPBitmap

public JIPBitmap(int w,
                 int h,
                 byte[] bmp)

Descripción:
Constructor de un bitmap con valores iniciales de tipo byte de los pixels. El tipo no se especifica pues será tBYTE.

Parameters:
w - Anchura (columnas) del bitmap (w>0)
h - Altura (filas) del bitmap (h>0)
bmp - Vector que contiene los valores iniciales de los pixels. bmp.length debe coincidir con el número de pixels (w*h). El rango al que se ajustarán los valores es [0..255]. El orden de los pixels dentro del vector es por filas: ( valores fila 0, valores fila 1, ... , valores fila h-1 ) siendo la fila 0 la superior.

JIPBitmap

public JIPBitmap(int w,
                 int h,
                 short[] bmp)

Descripción:
Constructor de un bitmap con valores iniciales de tipo WORD de los pixels. El tipo no se especifica pues será tWORD.

Parameters:
w - Anchura (columnas) del bitmap (w>0)
h - Altura (filas) del bitmap (h>0)
bmp - Vector que contiene los valores iniciales de los pixels. bmp.length debe coincidir con el número de pixels (w*h). El rango al que se ajustarán los valores es [0..65535]. El orden de los pixels dentro del vector es por filas: ( valores fila 0, valores fila 1, ... , valores fila h-1 ) siendo la fila 0 la superior.

JIPBitmap

public JIPBitmap(int w,
                 int h,
                 int t,
                 java.util.Vector v)

Descripción:
Constructor de un bitmap de tipo geométrico con el vector de valores. El tipo se especifica para saber si será de tipo POINT, SEGMENT, POLY o EDGES

Parameters:
w - Anchura (columnas) del bitmap (w>0)
h - Altura (filas) del bitmap (h>0)
v - Vector que contiene los valores geométricos El orden de los elementos depende del tipo:
- POINT: Cada punto ocupa dos posiciones del vector consecutivas. La primera posicion es la x y la segunda la y.
- SEGMENT: Cada segmento ocupa cuatro posiciones del vector consecutivas. Las dos primeras se corresponden al punto de inicio, y las dos últimas al punto final del vector.
- POLY: Cada posicion del vector es a su vez otro vector en la que cada dos posiciones se indica un punto del vector. Habrá tantos polígonos como posiciones del vector inicial.
- EDGES: Cada posicion del vector es a su vez otro vector en la que cada dos posiciones se indica un punto del vector. Habrá tantos edges como posiciones del vector inicial.
Method Detail

getNumPixels

public int getNumPixels()

Descripción:
Obtiene el número de pixels del bitmap.

Returns:
Número de pixels (filas*columnas)

getWidth

public int getWidth()

Descripción:
Obtiene la anchura del bitmap.

Returns:
Número de columnas.

getHeight

public int getHeight()

Descripción:
Obtiene la altura del bitmap.

Returns:
Número de filas.

getType

public int getType()

Descripción:
Obtiene el tipo de bitmap.

Returns:
Cte que identifica el tipo.
See Also:
JIP.tBIT, JIP.tBYTE, JIP.tWORD, JIP.tREAL, JIP.tPOINT, JIP.tSEGMENT, JIP.tPOLY, JIP.tEDGES

getVectorPoint

public java.util.Vector getVectorPoint()

Descripción:
Obtiene el vector de puntos del bitmap

Returns:
Vector de puntos

getVectorSegment

public java.util.Vector getVectorSegment()

Descripción:
Obtiene el vector de segmentos del bitmap

Returns:
Vector de segmentos

getVectorPoly

public java.util.Vector getVectorPoly()

Descripción:
Obtiene el vector de poligonos del bitmap

Returns:
Vector de poligonos

getVectorEdges

public java.util.Vector getVectorEdges()

Descripción:
Obtiene el vector de edges del bitmap

Returns:
Vector de edges

getLVectorPoint

public int getLVectorPoint()

Descripción:
Obtiene número de puntos del Vector de puntos

Returns:
Número de puntos

getLVectorSegment

public int getLVectorSegment()

Descripción:
Obtiene número de Segmentos del Vector de segmentos

Returns:
Número de segmentos

getLVectorPoly

public int getLVectorPoly()

Descripción:
Obtiene número de poligonos del Vector de poligonos

Returns:
Número de poligonos

getLVectorEdges

public int getLVectorEdges()

Descripción:
Obtiene número de edges del Vector de edges

Returns:
Número de edges

setPixel

public void setPixel(int x,
                     int y,
                     int pix)

Descripción:
Asigna el valor entero de un pixel a un bitmap de tipo tBIT, tBYTE o tWORD.

Parameters:
x - Coordenada x del pixel (0 <= x <= anchura-1)
y - Coordenada y del pixel (0 <= y <= altura-1)
pix - Valor asignado al pixel. El rango depende del tipo de bitmap: tBIT -> [0..1] , tBYTE -> [0..255] , tWORD -> [0..65535]

setPixel

public void setPixel(int x,
                     int y,
                     float pix)

Descripción:
Asigna el valor real de un pixel a un bitmap de tipo tREAL.

Parameters:
x - Coordenada x del pixel (0 <= x <= anchura-1)
y - Coordenada y del pixel (0 <= y <= altura-1)
pix - Valor asignado al pixel. El rango de valores es [0..1]

setAllPixel

public void setAllPixel(int[] bmpInt)

Descripción:
Asigna el valor de todos los pixels a un bitmap de tipo tBIT, tBYTE o tWORD.

Parameters:
bmpInt - Vector que contiene los valores de los pixels. bmpInt.length debe coincidir con el número de pixels (anchura*altura) El rango al que se ajustarán los valores depende del tipo del bitmap: tBIT -> [0..1] , tBYTE -> [0..255] , tWORD -> [0..65535] El orden de los pixels dentro del vector es por filas: ( valores fila 0, valores fila 1, ... , valores fila h-1 ) siendo la fila 0 la superior.

setAllPixel

public void setAllPixel(float[] bmpFloat)

Descripción:
Asigna el valor de los pixels a un Bitmap de tipo tREAL.

Parameters:
bmpFloat - Vector que contiene los valores de los pixels. bmpFloat.length debe coincidir con el numero de pixels (anchura*altura) El rango al que se ajustarán los valores es [0..1]. El orden de los pixels dentro del vector es por filas: ( valores fila 0, valores fila 1, ... , valores fila h-1 ) siendo la fila 0 la superior.

setVector

public void setVector(int t,
                      java.util.Vector v)

Descripción:
Asigna el valor de un vector de Geometria a un Bitmap de tipo tPOINT, tSEGMENT, tPOLY o tEDGES

Parameters:
t: - Tipo del bitmap
v: - Vector que contiene la geometría.

addSegment

public void addSegment(int x0,
                       int y0,
                       int x1,
                       int y1)

Descripción:
Añade un segmento cuyas coordenadas se espeficican en los parámetros de entrada, a un bitmap de tipo tSEGMENT.

Parameters:
x0: - Coordenada X del punto inicial.
y0: - Coordenada Y del punto inicial.
x1: - Coordenada X del punto final.
y1: - Coordenada Y del punto final.

addPoint

public void addPoint(int x0,
                     int y0)

Descripción:
Añade un punto cuyas coordenadas se espeficican en los parámetros de entrada, a un bitmap de tipo tPOINT.

Parameters:
x0: - Coordenada X del punto.
y0: - Coordenada Y del punto.

getPixel

public int getPixel(int x,
                    int y)

Descripción:
Obtiene el valor de un pixel de un bitmap de tipo tBIT, tBYTE o tWORD.

Parameters:
x - Coordenada x del pixel (0 <= x <= anchura-1)
y - Coordenada y del pixel (0 <= y <= altura-1)
Returns:
Valor entero del pixel. El rango del valor obtenido depende del tipo de bitmap: tBIT -> [0..1] , tBYTE -> [0..255] , tWORD -> [0..65535]

getPixelFlo

public float getPixelFlo(int x,
                         int y)

Descripción:
Obtiene el valor de un pixel de un bitmap de tipo tREAL.

Parameters:
x - Coordenada x del pixel (0 <= x <= anchura-1)
y - Coordenada y del pixel (0 <= y <= altura-1)
Returns:
Valor real del pixel. El rango del valor obtenido es [0..1]

getAllPixel

public int[] getAllPixel()

Descripción:
Obtiene el valor de los pixels de un bitmap de tipo tBIT, tBYTE o tWORD.

Returns:
Vector que contiene los valores enteros de los pixels. La longitud del vector devuelto es anchura*altura. El rango de los valores obtenidos depende del tipo del bitmap: tBIT -> [0..1] , tBYTE -> [0..255] , tWORD -> [0..65535] El orden de los pixels dentro del vector es por filas: ( valores fila 0, valores fila 1, ... , valores fila h-1 ) siendo la fila 0 la superior.

getAllPixelFlo

public float[] getAllPixelFlo()

Descripción:
Obtiene el valor de los pixels de un bitmap de tipo tREAL.

Returns:
Vector que contiene los valores reales de los pixels. La longitud del vector devuelto es anchura*altura. El rango de los valores obtenidos es [0..1] El orden de los pixels dentro del vector es por filas: ( valores fila 0, valores fila 1, ... , valores fila h-1 ) siendo la fila 0 la superior.