sábado, 28 de julho de 2018

JavaFx - desenhando imagens com canvas

A todos os que pertencem ao incrível
mundo de java envio-lhes meus parabéns,

e desejo-lhes saúde e paz,
e aos que ainda não fazem parte
desta que é a maior linguagem de
programação do momento,
digo-lhes que venham correndo,
porque ainda dá tempo.
O java nos deixa cada dia mais surpreso,
e sua poderosa biblioteca javaFx,
simplesmente nos encanta e nos enche de orgulho.
Neste exemplo estamos usando o canvas
para desenhar imagens na tela a partir
da imagem original.


Veja abaixo uma imagem do programa em execução:


Veja abaixo o código do programa:


import java.io.FileInputStream;
import java.io.FileNotFoundException;
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.canvas.Canvas;
import javafx.scene.canvas.GraphicsContext;
import javafx.scene.image.Image;
import javafx.scene.layout.Pane;
import javafx.scene.paint.Color;
import javafx.stage.Stage;
import javafx.scene.text.Font;
import javafx.scene.text.FontPosture;
import javafx.scene.text.FontWeight;

public class PROJETO extends Application {
     Canvas canvas = new Canvas ( 600, 350 );
     GraphicsContext ctx = canvas.getGraphicsContext2D ( );
     Pane root = new Pane ( );
     Scene scene = new Scene ( root );
     // /////////////////////////////////////////////////////////////////////////
     public void Informe ( ) {
         ctx.setFont ( Font.font ( "Arial", FontWeight.NORMAL, 13 ) );
         ctx.setFill ( Color.RED );
         ctx.fillText ( "Por: ", 200, 280 );
         ctx.setFill ( Color.BLUE );
         ctx.fillText ( "Samuel Lima", 240, 280 );
         ctx.setFill ( Color.BLACK );
         ctx.fillText ( "sa_sp10@hotmail.com", 200, 295 );
         ctx.setFill ( Color.RED );
         ctx.fillText ( " MUITO OBRIGADO", 245, 320 );
     }
     // /////////////////////////////////////////////////////////////////////////
     public void start ( Stage stage ) throws FileNotFoundException {
         // Carregando a imagem
         Image image = new Image( new FileInputStream ("H:\\eclipse - luna java\\"
                   + "PROJETOS\\PROJETO\\src\\Foto\\Bola_basquete_1.png" ) );
         stage.setTitle ( "JAVAFX - DESENHANDO IMAGENS COM CANVAS" );
         // Imagem original
         ctx.drawImage ( image, 210, 70, 200, 200 );
         // Cópias desenhadas
         ctx.drawImage ( image, 40, 70, 50, 50 );
         ctx.drawImage ( image, 500, 70, 50, 50 );
         ctx.drawImage ( image, 40, 280, 50, 50 );
         ctx.drawImage ( image, 500, 280, 50, 50 );     
         //Usando fonte em italic
         ctx.setFont ( Font.font ( "Helvetica", FontWeight.BOLD,
                   FontPosture.ITALIC, 15 ) );
         ctx.setFill ( Color.RED );
         ctx.fillText ( "JAVAFX - DESENHANDO IMAGENS COM CANVAS", 130,40 );
         //Criando uma moldura retangular em canvas
         ctx.setStroke ( Color.BLUE );
         ctx.setLineWidth ( 10.0 );
         ctx.strokeRoundRect ( 10, 10, 580, 330, 10, 10 );
         ctx.setFont ( Font.font ( "Helvetica", FontWeight.BOLD,
                   FontPosture.ITALIC, 12 ) );
         ctx.setFill ( Color.BLACK );
         ctx.fillText ( "Imagem original", 265, 65 );       
         ctx.fillText ( "Cópia", 48, 65 );
         ctx.fillText ( "Cópia", 510, 65 );
         ctx.fillText ( "Cópia", 48, 270 );
         ctx.fillText ( "Cópia", 510, 270 );
         Informe ( );
         root.getChildren ( ).add ( canvas );
         stage.setScene ( scene );
         stage.show ( );
     }
     // /////////////////////////////////////////////////////////////////////////
     public static void main ( String [ ] args ) {
         Application.launch ( args );
     }
}
 

Nenhum comentário:

Postar um comentário

Observação: somente um membro deste blog pode postar um comentário.