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 |
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)
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.
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 bitmapv:
- 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.