guÍa de objetos grÁficos en java.pdf

Upload: luis-pottozen-villanueva

Post on 23-Feb-2018

240 views

Category:

Documents


0 download

TRANSCRIPT

  • 7/24/2019 GUA DE OBJETOS GRFICOS EN JAVA.pdf

    1/21

    GUA DE OBJETOS GRFICOS EN JAVA

    INTRODUCCIN

    SISTEMA DE COORDENADAS DE JAVA

    *- Identifica todos los puntos disponibles de las pantallas

    *- Origen de coordenadas (0,0) en la esquina superior izquierda

    *- Sistema de coordenadas compuestas por componentes X e Y

    SISTEMA DE COORDENADAS DE JAVA. UNIDAD DE MEDIDA EN PIXELES.

    CONTEXTOS Y OBJETOS GRFICOS

    *- Permite pintar en la pantalla.

    *- El objeto Graphics controla el contexto de grficos

  • 7/24/2019 GUA DE OBJETOS GRFICOS EN JAVA.pdf

    2/21

    CONTROLA COMO SE PINTA EN LA PANTALLA

    *- La Clase Graphics es abstracta

    - No se puede instanciar

    - Contribuye a la portabilidad de Java

    *- El mtodo paint de la clase Component emplea el objeto Graphics

    public void paint( Graphics g )

    Se puede invocar por medio del mtodo repaint()

    COLORES

    *-Define los mtodos y las constantes para manipular los colores.

    *- Los colores se crean en base al esquema de rojo/verde/azul (RGB)

    CONSTANTES DE COLORES DEFINIDAS EN LA CLASE COLOR

    COLOR CONSTANTES COLOR RGB VALORpublic final static Color ORANGE orange 255, 200, 0public final static Color PINK pink 255, 175, 175

    public final static Color CYAN cyan 0, 255, 255

    public final static Color MAGENTA magenta 255, 0, 255

    public final static Color YELLOW yellow 255, 255, 0

    public final static Color BLACK black 0, 0, 0

    public final static Color WHITE white 255, 255, 255public final static Color GRAY gray 128, 128, 128public final static Color LIGHT_GRAY light gray 192, 192, 192

    public final static Color DARK_GRAY dark gray 64, 64, 64public final static Color RED red 255, 0, 0

    public final static Color GREEN green 0, 255, 0

    public final static Color BLUE blue 0, 0, 255

  • 7/24/2019 GUA DE OBJETOS GRFICOS EN JAVA.pdf

    3/21

    Mtodos de la clase Color y mtodos de relacionados de la clase Graphics

    MTODOS COLOR DESCRIPCIN

    public Color( int r, int g, int b )Construye colores a base de rojo verde y azuldonde r, g y b son enteros en el intervalocerrado [0,255]

    public Color( float r, float g, float b ) Construye colores a base de rojo verde y azuldonde r, g y b son decimales en el intervalocerrado [0.0 , 1.0]

    public int getRed() Retorno un entero en el intervalo [0, 255] querepresenta el contenido de rojo en el objeto

    public int getGreen() Retorno un entero en el intervalo [0, 255] querepresenta el contenido de verde en el objeto

    public int getBlue() Retorno un entero en el intervalo [0, 255] querepresenta el contenido de azul en el objeto

    public Color getColor() Retorna un objeto de tipo color que representael color actual del contexto grfico.

    public void setColor( Color c ) Establece el color actual para dibujar con elcontexto grfico.

    Ejemplo:

  • 7/24/2019 GUA DE OBJETOS GRFICOS EN JAVA.pdf

    4/21

    Salida

    FUENTES

    CLASE FONT

    *- Contiene mtodos y constantes para el control de las fuentes

    *- El constructor de la clase Font tiene tres argumentos

    - Font name

    * Monospaced, SansSerif, Serif, etc.

    - Font style

    * Font.PLAIN, Font.ITALIC y Font.BOLD

    - Font size

    * Medidos en puntos

  • 7/24/2019 GUA DE OBJETOS GRFICOS EN JAVA.pdf

    5/21

    Ejemplo

    Salidas

  • 7/24/2019 GUA DE OBJETOS GRFICOS EN JAVA.pdf

    6/21

    MTODOS Y CONSTANTES RELACIONADOS CON LA CLASE FONT

    PINTAR LNEAS, RECTNGULOS Y VALOS

    *- CLASE GRAPHICS

    - Provee mtodos para pintar lneas, rectngulos y valos

    * Todos los mtodos de pintar estas figuras requieren el ancho y alto que ocuparan

    *Existen los mtodos para pintar figuras con o sin rellene (draw* y fill*)

  • 7/24/2019 GUA DE OBJETOS GRFICOS EN JAVA.pdf

    7/21

    MTODOS DE LA CLASE GRAPHICS PARA PINTAR LNEAS, RECTNGULOS Y VALOS

    MTODO DESCRIPCINpublic void drawLine( int x1, int y1, int x2, int y2 ) Dibuja la lnea al inicio del punto(x1,y1)

    hasta el punto(x2,y2)public void drawRect( int x, int y, int ancho, int alto ) Dibuja un rectngulo de anchura y altura

    especificadas. La esquina superiorizquierda de la rectngulo tiene lascoordenadas (x, y).

    public void fillRect( int x, int y, int ancho, int alto ) Dibuja un rectngulo relleno de anchura yaltura especificadas. La esquina superiorizquierda de la rectngulo tiene lascoordenadas (x, y).

    public void clearRect( int x, int y, int ancho, int alto ) Dibuja un rectngulo relleno con laanchura y altura especificadas color defondo de contexto grfico. La esquinasuperior izquierda del rectngulo tiene las

    coordenadas (x, y).public void drawRoundRect( int x, int y, int ancho,int alto, int anchoArco, int altoArco )

    Dibuja un rectngulo con esquinasredondeadas con la anchura y alturaespecificadas. achoArco y altoArcoespecifican el redondeo de las esquinas

    public void fillRoundRect( int x, int y, int ancho, intalto, int anchoArco, int altoArco )

    Dibuja un rectngulo con esquinasredondeadas con la anchura y alturaespecificadas y el color actual del contextogrfico. achoArco y altoArco especifican elredondeo de las esquinas

    public void draw3DRect( int x, int y, int ancho, int

    alto, boolean b )

    Dibuja un rectngulo tridimensional con

    anchura y altura especificada. La esquinasuperior izquierda del rectngulo tiene lascoordenadas (x,y). El rectngulo aparecelevant cuando b es verdadera y hundidocuando b es falsa.

    public void fill3DRect( int x, int y, int ancho, int alto,boolean b )

    Dibuja un rectngulo tridimensionalrelleno con el color del contexto grficoactual, anchura y altura especificada. Laesquina superior izquierda del rectngulotiene las coordenadas (x,y). El rectnguloaparece levant cuando b es verdadera yhundido cuando b es falsa.

    public void drawOval( int x, int y, int ancho, int alto ) Dibuja un valo con la anchura y alturaespecificadas. La esquina superiorizquierda del rectngulo es delimitado porlas coordenadas (x, y). El valo toca loscuatro lados del rectngulo delimitador enel centro de cada lado.

  • 7/24/2019 GUA DE OBJETOS GRFICOS EN JAVA.pdf

    8/21

    MTODO DESCRIPCINpublic void fillOval( int x, int y, int ancho, int alto ) Dibuja un valo relleno con el color del

    contexto grfico actual, con la anchura yaltura especificadas. La esquina superiorizquierda del rectngulo es delimitado porlas coordenadas (x, y). El valo toca loscuatro lados del rectngulo delimitador enel centro de cada lado.

    EJEMPLO

  • 7/24/2019 GUA DE OBJETOS GRFICOS EN JAVA.pdf

    9/21

    SALIDA

    EXPLICACIN DEL ROUNDRECT

  • 7/24/2019 GUA DE OBJETOS GRFICOS EN JAVA.pdf

    10/21

    EXPLICACIN DEL VALO

    PINTAR ARCOS

    *- ARCO

    - Porcin de un valo

    - Se miden en grado

    -Barre (Sweeps) el nmero de grados que indique el ngulo de arco

    -Sweep empieza en el inicio de medida de los ngulos

    * Barre en sentido contrario a las agujas del reloj si el ngulo es positivo

    * Barre en sentido de las agujas del reloj para ngulos negativos.

  • 7/24/2019 GUA DE OBJETOS GRFICOS EN JAVA.pdf

    11/21

    *- ngulos positivos y negativos

    MTODOS DE LA CLASE GRAPHICS PARA EL PINTADO DE ARCOS

    MTODO DESCRIPCINpublic void drawArc( int x, int y, int ancho, int alto,int anguloinicial, int arcoangulo )

    Dibuja un arco en relacin con la partesuperior izquierda de las coordenadas delrectngulo delimitador (x,y) con laanchura y altura especificadas. Elsegmento de arco se dibuja a partir denguloinicial y barre en grados elarcoangulo

    public void fillArc( int x, int y, int ancho, int alto, intanguloinicial, int arcoangulo )

    Dibuja un arco relleno con el color delcontexto grfico actual en relacin con laparte superior izquierda de lascoordenadas del rectngulo delimitador(x,y) con la anchura y altura especificadas.El segmento de arco se dibuja a partir denguloinicial y barre en grados elarcoangulo

  • 7/24/2019 GUA DE OBJETOS GRFICOS EN JAVA.pdf

    12/21

    Ejemplo

  • 7/24/2019 GUA DE OBJETOS GRFICOS EN JAVA.pdf

    13/21

    Salida

    Los Arcos vacos o sin relleno se pintaron con rectngulos de color amarrillos y lneas azules que

    representa un plano cartesiano inscripto en el rectngulo para ver mejor el detalle de los ngulos

    iniciales y los ngulos de barrido.

    *- Pintar Polgonos y Poli lneas

    - Clases Polygon

    *Polgonos, Figuras de varios lados

    * Poli lneas, Series de puntos conectados

    MTODOS GRAPHICS PARA PINTAR POLIGONOS Y MTODOS DE LA CLASE POLYGON

    MTODO DESCRIPCIN

    public void drawPolygon( int xPoints[], int yPoints[],int points )

    Dibuja un polgono. La coordenada x decada punto se especifica en los arreglosxPoints y la coordenada y de cada punto

    se especifica en el arreglo yPoints. Elltimo argumento especifica el nmero depuntos. Este mtodo dibuja un polgonocerrado. Si el ltimo punto es diferente delprimer punto, el polgono se cierra poruna lnea que conecta el ltimo punto alprimer punto.

  • 7/24/2019 GUA DE OBJETOS GRFICOS EN JAVA.pdf

    14/21

    MTODO DESCRIPCINpublic void drawPolyline( int xPoints[], int yPoints[],int points )

    Dibuja una secuencia de lneasconectadas. La coordenada x de cadapunto se especifica en el arreglo xPoints yla coordenada y de cada punto seespecifica en el arreglo yPoints. El ltimoargumento especifica el nmero depuntos. Si el ltimo punto es diferentedesde el primer punto, la poli lnea no estcerrada.

    public void drawPolygon( Polygon p ) Dibuja un polgono especifico

    public void fillPolygon( int xPoints[], int yPoints[], intpoints )

    Dibuja un polgono relleno con el color delcontexto grfico actual. La coordenada xde cada punto se especifica en los arreglosxPoints y la coordenada y de cada puntose especifica en el arreglo yPoints. Elltimo argumento especifica el nmero de

    puntos. Este mtodo dibuja un polgonocerrado. Si el ltimo punto es diferente delprimer punto, el polgono se cierra poruna lnea que conecta el ltimo punto alprimer punto.

    public void fillPolygon( Polygon p ) Dibuja un polgono especifico relleno conel color del contexto grfico actual ycerrado

    Ejemplo

  • 7/24/2019 GUA DE OBJETOS GRFICOS EN JAVA.pdf

    15/21

    Salidas

    JAVA2D API

    *- Proporciona capacidades grficas avanzas 2D

    java.awt

    java.awt.image

    java.awt.color

    java.awt.font

    java.awt.geom

    java.awt.print

    java.awt.image.renderable

    Usa la clase java.awt.Graphics2D Extiende la clase java.awt.Graphics

  • 7/24/2019 GUA DE OBJETOS GRFICOS EN JAVA.pdf

    16/21

    JAVA 2D FORMAS

    *- Paquetes java.awt.geom

    Ellipse2D.Double

    Rectangle2D.Double

    RoundRectangle2D.Double

    Arc3D.Double

    Lines2D.Double

    Ejemplos

  • 7/24/2019 GUA DE OBJETOS GRFICOS EN JAVA.pdf

    17/21

    Salidas

    Mejora en el pintado, Para mejorar el dibujo el tenemos que tomar en cuenta que el origen de

    coordenadas en java es donde comienza la ventana donde se toma en cuenta la barras de los

    bordes por lo que si queremos hacer dibujos exactos tenemos que consideras ese valor en nuestro

    clculos. Otra Mejora es el antialiasing y el fin de lneas.

    A continuacin aremos un ejemplo donde consideremos estos valores estos valores

  • 7/24/2019 GUA DE OBJETOS GRFICOS EN JAVA.pdf

    18/21

    Ejemplo

    Salida

    Este ejemplo as se maximice o minimice la ventana siempre va a estar centrada con respecto al

    eje x

  • 7/24/2019 GUA DE OBJETOS GRFICOS EN JAVA.pdf

    19/21

    Ahora el mismo ejemplo sin el Antialiasing y sin redondeo de fin de lneas

    Salida

  • 7/24/2019 GUA DE OBJETOS GRFICOS EN JAVA.pdf

    20/21

    AHORA UN EJEMPLO ELEGANTE DE MI AUTORA Y UTILIZANDO OTRA HERRAMIENTA LLAMADA ALPHA PARA EL MANEJO DE TRANSPARENCIA.

  • 7/24/2019 GUA DE OBJETOS GRFICOS EN JAVA.pdf

    21/21

    Salida