Slides

Apostila Java2D

Description
1. COMPUTAÇÃO GRÁFICA 2015 Prof.ª M.ª Eng.ª Elaine Cecília Gatto Página 1 de 25 Page 1 of 25 2. COMPUTAÇÃO GRÁFICA 2015 Prof.ª M.ª Eng.ª Elaine Cecília…
Categories
Published
of 25
8
Categories
Published
All materials on our website are shared by users. If you have any questions about copyright issues, please report us to resolve them. We are always happy to assist you.
Share
Transcript
  • 1. COMPUTAÇÃO GRÁFICA 2015 Prof.ª M.ª Eng.ª Elaine Cecília Gatto Página 1 de 25 Page 1 of 25
  • 2. COMPUTAÇÃO GRÁFICA 2015 Prof.ª M.ª Eng.ª Elaine Cecília Gatto Página 2 de 25 Page 2 of 25 Sumário JAVA 2D.........................................................................................................................................................................3 1. Hierarquia de Classes............................................................................................................................................3 2. Sistema de Coordenadas ......................................................................................................................................3 3. Contextos Gráficos................................................................................................................................................3 4. Cores.....................................................................................................................................................................4 4.1 Constantes de Cor...........................................................................................................................................4 4.2 Construtores e métodos Color .......................................................................................................................4 4.3 Métodos Graphics para manipular Colors......................................................................................................4 5. Fontes ...................................................................................................................................................................5 5.1 Construtores, Constantes e métodos de Font................................................................................................5 5.2 Métodos Graphics para manipular Fontes.....................................................................................................5 5.3 Métodos FontMetrics.....................................................................................................................................5 5.3 Métodos Graphics para obter a FontMetrics de uma Font............................................................................5 6. Linhas, retângulos e ovais.....................................................................................................................................6 6.1 Métodos Graphics para desenhar linhas, retângulos e ovais.........................................................................6 7. Arcos.....................................................................................................................................................................7 7.1 Métodos Graphics para desenhar arcos.........................................................................................................8 8. Polígonos e polilinhas...........................................................................................................................................8 8.1 Métodos Graphics para desenhar polígonos..................................................................................................8 8.2 Construtores e Métodos da classe Polygon ...................................................................................................9 9. API Java2D.............................................................................................................................................................9 9.1 Visão Geral....................................................................................................................................................10 9.2 Coordenadas.................................................................................................................................................10 9.3 Renderização ................................................................................................................................................11 9.4 Primitivas Geométricas.................................................................................................................................15 9.5 Textos............................................................................................................................................................16 9.6 Fontes ...........................................................................................................................................................16 9.7 Layout de Texto ............................................................................................................................................17 9.8 Rendering Hints para texto...........................................................................................................................17 9.9 Imagens.........................................................................................................................................................17 9.10 Impressão ...................................................................................................................................................18 9.10 Métodos......................................................................................................................................................18 10. Exercícios ..........................................................................................................................................................24
  • 3. COMPUTAÇÃO GRÁFICA 2015 Prof.ª M.ª Eng.ª Elaine Cecília Gatto Página 3 de 25 Page 3 of 25 JAVA 2D 1. Hierarquia de Classes  Classe Color: contém métodos e constantes para manipular cores  Método paintComponent: desenha imagens gráficas em um componente  Classe Font: contém métodos e constantes para manipular fontes  Classe FontMetrics: contém métodos para obter informações de fontes  Classe Graphics: contém métodos para desenhar Strings, Linhas, Retângulos e outras formas geométricas básicas  Classe Graphics2D: estende a classe Graphics, desenha com a API do Java2D  Classe Polygon: contém métodos para criar polígonos  Classe BasicStroke: especifica as características de desenho de linhas  Classes GradientPaint e TexturePaint: especificam as características para preencher formas com cores ou padrões  Classes General Path, Line2D, Arc2D, Ellipse2D, Rectangule2D e RoudRectangle2D: representam as formas geométricas 2. Sistema de Coordenadas  É um esquema para identificar cada ponto na tela  O canto superior esquerdo de um componente de interface gráfica em Java tem as coordenadas (0,0)  Coordenada x: coordenada horizontal – é distância horizontal que vai do lado direito ao lado esquerdo da tela  Coordenada y: coordenada vertical – é a distância vertical de baixo para cima da tela  Um par de coordenadas é composto pelas coordenadas x e y  Eixo x: descreve cada coordenada horizontal  Eixo y: descreve cada coordenada vertical  Coordenadas são utilizadas para indicar onde as imagens gráficas devem ser exibidas na tela  Pixels: unidade de medida. É a menos unidade de exibição de resolução de um monitor. 3. Contextos Gráficos  Um contexto gráfico em Java permite desenhar na tela  Objeto Graphics: o Gerencia o contexto gráfico o Desenha pixels na tela o Contém métodos para desenhar e manipular fontes, cores, etc.  Como Java é independente de plataforma, as imagens gráficas serão apresentadas na tela conforme o sistema o qual está executando (Windows, Linux, etc.)  Classe Component: superclasse  Classe JComponent: herda de Component, contém o método paintComponent, é uma superclasse de JPanel  Método paintComponent: o public void paintComponent(Graphics g) o Recebe um objeto Graphics como argumento. o O objeto Graphics é passado para o método paintComponent pelo sistema quando um componente de interface gráfica precisa ser repintado o g é um parâmetro que recebe uma referencia a uma instancia da subclasse específica de sistema  Método repaint: o é chamado pelo programador para solicitar uma chamada ao método paintComponent.
  • 4. COMPUTAÇÃO GRÁFICA 2015 Prof.ª M.ª Eng.ª Elaine Cecília Gatto Página 4 de 25 Page 4 of 25 o public void repaint() 4. Cores  RGB = red, green, blue  Valores inteiros: 0 a 255  Valores de ponto flutuante: 0.0 a 1.0  16,7 milhões de cores disponíveis no Java  Objetos Color são imutáveis (isto é, não modificáveis)  Para alterar as cores, você sempre deve criar um novo objeto Color  Como alternativa, pode usar uma das constantes Color 4.1 Constantes de Cor Color Cor Valor RGB public final static Color RED Vermelho 255,0,0 public final static Color GREEN Verde 0,255,0 public final static Color BLUE Azul 0,0,255 public final static Color ORANGE Laranja 255,200,0 public final static Color PINK Cor-de-rosa 255,175,175 public final static Color CYAN Ciano 0,255,255 public final static Color MAGENTA Magenta 255,0,255 public final static Color YELLOW Amarelo 255,255,0 public final static Color BLACK Preto 0,0,0 public final static Color WHITE Branco 255,255,255 public final static Color GRAY Cinza 128,128,128 public final static Color LIGHT_GRAY Cinza Claro 192,192,192 public final static Color DARK_GRAY Cinza Escuro 64,64,64 4.2 Construtores e métodos Color Método Descrição public Color( int r, int g, int b) Cria uma cor com base nos componentes vermelho, verde, azul, expressos com valores inteiros entre 0 e 255 public Color( float r, float g, float b) Cria uma cor com base nos componentes vermelho, verde, azul expressos com valores de ponto flutuante entre 0.0 e 1.0 public int getRed() Retorna um valor entre 0 e 255 representando o conteúdo vermelho public int getGreen() Retorna um valor entre 0 e 255 representando o conteúdo verde public int getBlue() Retorna um valor entre 0 e 255 representando o conteúdo azul 4.3 Métodos Graphics para manipular Colors Método Descrição public Color getColor() Retorna o objeto Color que representa as cores atuais no contexto gráfico Public void setColor(Color c) Configura a cor atual para desenho com contexto gráfico
  • 5. COMPUTAÇÃO GRÁFICA 2015 Prof.ª M.ª Eng.ª Elaine Cecília Gatto Página 5 de 25 Page 5 of 25 5. Fontes  O número de fontes varia de um sistema operacional para outro.  O Java fornece cinco nomes lógicos de fontes: o Serif; o Monospaced; o SansSerif; o Dialog; o DialogInput.  O JRE em cada plataforma mapeia esses nomes lógicos de fonte para fontes reais instaladas na plataforma 5.1 Construtores, Constantes e métodos de Font Método Descrição public final static int PLAIN Uma constante representando um estilo de fonte simples public final static int BOLD Uma constante representando um estilo de fonte negrito public final static int ITALIC Uma constante representando um estilo de fonte itálico public Font(String name, int style, int size) Cria um objeto Font com o nome, o estilo e o tamanho de fonte especificada. public int getStlye() Retorna um valor inteiro indicando o estilo de fonte atual public int getSize() Retorna um valor inteiro indicando o tamanho da fonte atual public String getName() Retorna o nome da fonte atual como uma string public String getFamily() Retorna o nome da família de fontes como uma string public boolean isPlain() Retorna true se a fonte for simples, caso contrário false public boolean isBold() Retorna true se a fonte for negrito, caso contrário false public boolean isItalic() Retorna true se a fonte for itálica, caso contrário false 5.2 Métodos Graphics para manipular Fontes Método Descrição public Font getFont() Retorna uma referência de objeto Font representando a fonte atual Public void setFont(Font f) Configura a fonte atual como a fonte, o estilo e o tamanho especificados pela referência de objeto Font f 5.3 Métodos FontMetrics Método Descrição public int getAscent() Retorna a ascendente de uma fonte em pontos public int getDescent() Retorna a descendente de uma fonte em pontos public int getLeading() Retorna a entrelinha de uma fonte em pontos Public int getHeight() Retorna a altura de uma fonte em pontos 5.3 Métodos Graphics para obter a FontMetrics de uma Font Método Descrição public FontMetrics getFontMetrics() Retorna o objeto FontMetrics para o desenho atual Font Public FontMetrics getFontMetrics (Font f) Retorna o objeto FontMetrics para o argumento Font especificado
  • 6. COMPUTAÇÃO GRÁFICA 2015 Prof.ª M.ª Eng.ª Elaine Cecília Gatto Página 6 de 25 Page 6 of 25 6. Linhas, retângulos e ovais  Cada método de desenho requer um parâmetro de largura e altura  Largura e altura devem ser valores não negativos 6.1 Métodos Graphics para desenhar linhas, retângulos e ovais Método Descrição public void drawLine(int x1, int y1, int x2, int y2) Desenha uma linha entre o ponto (x1,y1) e o ponto (x2,y2) public void drawRect(int x, int y, int largura, int altura) Desenha um retângulo com a largura e a altura especificadas. O canto superior esquerdo do retângulo tem as coordenadas (x,y). Somente o contorno do retângulo é desenhado utilizando a cor do objeto de Graphics. O corpo do retângulo não é preenchido com essa cor. public void fillRect(int x, int y, int largura, int altura) Desenha um retângulo sólido com a largura e a altura especificadas. O canto superior esquerdo do retângulo tem as coordenadas (x,y) O retângulo é preenchido com a cor do objeto Graphics public void clearRect(int x, int y, int largura, int altura) Desenha um retângulo preenchido com a largura e a altura especificadas na cor de fundo atual. O canto superior esquerdo do retângulo tem as coordenadas (x,y). Esse método é útil se o programador quiser remover uma parte de uma imagem public void drawRoundRect(int x, int y, int largura, int altura, int archWidth, int arcHeight) Desenha um retângulo com cantos arredondados na cor atual com a largura e a altura especificadas. arcWidth e arcHeight determinam o arredondamento dos cantos Somente o contorno da forma é desenhado public void fillRoundRect(int x, int y, int largura, int altura, int arcWidth, int arcHeight) Desenha um retângulo com cantos arredondados na cor atual com a largura e a altura especificadas. arcWidth e arcHeight determinam o arredondamento dos cantos public void draw3DRect(int x, int y, int largura, int altura, boolean b) Desenha um retângulo tridimensional na cor atual com a largura e a altura especificadas. O canto superior esquerdo do retângulo tem as coordenadas (x,y) O retângulo parece em alto relevo quando b é verdadeiro e em baixo relevo quando b é falso Somente o contorno da forma é desenhado public void fill3DRect(int x, int y, int largura, int altura, boolean b) Desenha um retângulo tridimensional na cor atual com a largura e a altura especificadas. O canto superior esquerdo do retângulo tem as coordenadas (x,y) O retângulo parece em alto relevo quando b é verdadeiro e em baixo relevo quando b é falso public void drawOval(int x, int y, int largura, int altura) Desenha uma oval na cor atual com a largura e a altura especificadas
  • 7. COMPUTAÇÃO GRÁFICA 2015 Prof.ª M.ª Eng.ª Elaine Cecília Gatto Página 7 de 25 Page 7 of 25 O canto superior esquerdo do retângulo delimitador está nas coordenadas (x,y) A oval toca todos os quatro lados do retângulo associado no centro de cada lado Somente o contorno da forma é desenhado public void fillOval(int x, int y, int largura, int altura) Desenha uma oval na cor atual com a largura e a altura especificadas O canto superior esquerdo do retângulo delimitador está nas coordenadas (x,y) A oval toca todos os quatro lados do retângulo associado no centro de cada lado Figura 1: Oval unida por um retângulo Figura 2: Largura e altura do arco para retângulos arredondados 7. Arcos  Um arco é desenhado como uma parte de uma oval  Uma oval é delimitada por um retângulo  Os arcos varrem a partir de um ângulo inicial até o número de graus especificados pelos seus ângulos de arco  Arcos movem-se ao longo de uma curva  Os ângulos de arco são medidos em graus  Arcos varrem, a partir de um ângulo inicial, o número de graus especificado por seu ângulo de arco  Ao desenhar um arco, especificamos um retângulo delimitador para uma oval  O arco varrerá parte da oval
  • 8. COMPUTAÇÃO GRÁFICA 2015 Prof.ª M.ª Eng.ª Elaine Cecília Gatto Página 8 de 25 Page 8 of 25 7.1 Métodos Graphics para desenhar arcos Método Descrição public void drawArc(int x, int y, int largura, int altura, int anguloInicial, int anguloDoArco) Desenha um arco em relação ao canto superior esquerdo do retângulo delimitador e coordenadas x e y com a largura e a altura especificadas. O segmento de arco começa a ser desenhado no anguloInicial e a curva, no anguloDoArco public void fillArc(int x, int y, int largura, int altura, int anguloInicial, int anguloDoArco) Desenha um arco preenchido – um setor – em relação as coordenadas x e y do canto superior esquerdo do retângulo delimitador com a largura e a altura especificadas. O segmento de arco começa a ser desenhado no anguloInicial e a curva, no anguloDoArco Figura 3: Ângulos de arco positivo Figura 4: Ângulos de arco negativo 8. Polígonos e polilinhas  Polígonos são formas de múltiplos lados compostas de segmentos de linhas retas  Polilinhas são sequencias de pontos conectados 8.1 Métodos Graphics para desenhar polígonos Método Descrição public void drawPoligon(int xPoints[], int Desenha um polígono
  • 9. COMPUTAÇÃO GRÁFICA 2015 Prof.ª M.ª Eng.ª Elaine Cecília Gatto Página 9 de 25 Page 9 of 25 yPoints[], int points) A coordenada x de cada ponto é especificada no array xPoints, e a coordenada y de cada ponto, no array yPoints O último argumento especifica o número de points Esse método desenha um polígono Se o último ponto for diferente do primeiro, o polígono é fechado por uma linha que conecta o último ponto ao primeiro public void drawPolyline(int xPoints[], int yPoints[], int points) Desenha uma sequencia de linhas conectadas A coordenada x de cada ponto é especificada no array xPoints, e a coordenada y de cada ponto é especificada no arrayPoints O último argumento especifica o número de points Se o último ponto for diferente do primeiro, a polilinha não é fechada public void drawPolygon(Polygon p) Desenha o polígono especificado public void fillPolygon(int xPoints[], int yPoints[], int points) Desenha um polígono preenchido A coordenada x de cada ponto é especificada no array xPoints, e a coordenada y de cada ponto é especificada no arrayPoints O último argumento especifica o número de points Esse método desenha um polígono Se o último ponto for diferente do primeiro, o polígono é fechado por uma linha que conecta o último ponto a primeiro public void fillPolygon(Polygon g) Desenha o polígono preenchido especificado. O polígono é fechado 8.2 Construtores e Métodos da classe Polygon Método Descrição public Polygon() Constrói um novo objeto polígono O polígono não contem nenhum ponto public Polygon(int xValues[], int yValues[], int numberOfPoints) Constrói um novo objeto de polígono O polígono tem numberOfPoints lados, com cada ponto consistindo em uma coordenada x de xValues e uma coordenada y de yValues public void addPoint(int x, int y) Adiciona pares das coordenadas x e y ao Polygon 9. API Java2D  Recursos para processamento de: o line art (traço) o texto o imagens  Pacotes: o Java.awt.image o Java.awt.color
  • 10. COMPUTAÇÃO GRÁFICA 2015 Prof.ª M.ª Eng.ª Elaine Cecília Gatto Página 10 de 25 Page 10 of 25 o Java.awt.font o Java.awt.geom o Java.awt.print o Java.awt.image.renderable  Graphics2D o Subclasse abstrata da classe Graphics o Contém capacidades gráficas o Para acessar as capacidades de Graphics2D, devemos fazer a coerção da referência Graphics (g) passada a paintComponent para uma referência Graphics2D com a instrução Graphics2D g2d = (Graphics2D) g; 9.1 Visão Geral A API Java 2D fornece gráficos bidimensionais, texto e recursos de imagens para programas Java através de extensões para o Ab
  • Efeito Macho

    Apr 1, 2018

    tumores_osseos

    Apr 1, 2018
    We Need Your Support
    Thank you for visiting our website and your interest in our free products and services. We are nonprofit website to share and download documents. To the running of this website, we need your help to support us.

    Thanks to everyone for your continued support.

    No, Thanks
    SAVE OUR EARTH

    We need your sign to support Project to invent "SMART AND CONTROLLABLE REFLECTIVE BALLOONS" to cover the Sun and Save Our Earth.

    More details...

    Sign Now!

    We are very appreciated for your Prompt Action!

    x