javaFX

6 respostas
javaFX

Oi pessoal, sou nova na tecnologia Java e ja me meti
a programar em JavaFX, estou tentando tratar imagens
tipo efeitos de sépia (clarear escurecer), coisas desse tipo,
mas estou tendo sérias dificuldades com relação a fonte de
pesquisa, se alguém pelo amor de Deus puder me enviar
qualquer exemplo ou uma dica de um bom livro mesmo em
inglês que tenha bastante exemplos.
Desde ja agradeço. :?

Título do tópico editado pela moderação.

6 Respostas

BrunoBastosPJ

Dê uma olhada:
http://javafx.com/samples/PhotoEffects/index.html

javaFX

:slight_smile: Valeu
Muito bom essa página.
Sabe algum livro bom pra indicar sobre JavaFX

Jesuino_Master

Olá,

Essa parte sim é interessante fazer com JavaFX por causa da estrutura e de seus recursos.

Vou explicar melhor. Todo elemento gráfico do JavaFX herda de nó(Node). Nó tem um atributo que recebe uma subclasse de Effect, que representa feitos a serem aplicados aquele nó.

Aqui você pode ver o efeito em ação:
http://weblogs.java.net/blog/campbell/archive/2009/01/effects_in_java.html

para saber mais sobre efeitos você pode ler essa parte da API:

http://java.sun.com/javafx/1/docs/api/javafx.scene.effect/javafx.scene.effect.Effect.html

Para mostrar uma imagem em JavaFX usamos o ImageView, que tem um atributo image, que recebe uma instância de Image e que, por fim, tem uma url, que recebe uma String. Um exemplo abaixo:

import javafx.stage.Stage;
import javafx.scene.Scene;
import javafx.scene.image.ImageView;
import javafx.scene.image.Image;

Stage{
    scene: Scene{
         content:[
             ImageView{
                 image: Image{
                    url: "http://raphaelmarques.files.wordpress.com/2009/07/javafx_logo_color_1.jpg"
                 }
             }
          ]
    }
}

Como todo elemento é filho de nód, logo podemos aplicar efeitos nessa imagem também. Olha o nosso exemplo acima com a adição de um efeito(SepiaTone):

import javafx.stage.Stage;
import javafx.scene.Scene;
import javafx.scene.image.ImageView;
import javafx.scene.image.Image;
import javafx.scene.effect.SepiaTone;

Stage{
    scene: Scene{
         content:[
             ImageView{
                 effect: SepiaTone{
                     level: .5;
                 }
                 image: Image{
                    url: "http://raphaelmarques.files.wordpress.com/2009/07/javafx_logo_color_1.jpg"
                 }

             }
          ]
    }
}

Para modificar dinamicamente o nível de Sepia, podemos usar o controle Slider do JavaFX e o recurso bind, “amarrando” a variação do Slider ao tom de Sepia. Abaixo fiz isso, mas também usei uma VBox, que dispões os elementos verticalmente:

import javafx.stage.Stage;
import javafx.scene.Scene;
import javafx.scene.image.ImageView;
import javafx.scene.image.Image;
import javafx.scene.effect.SepiaTone;
import javafx.scene.layout.VBox;
import javafx.scene.control.Slider;


var cena:Scene;
var slider:Slider;
var imageView:ImageView;


slider = Slider {
            max: 1 min: 0
            width: bind imageView.image.width
        }

imageView = ImageView {
            effect: SepiaTone {
                level: bind slider.value;
            }
            image: Image {
                url: "http://raphaelmarques.files.wordpress.com/2009/07/javafx_logo_color_1.jpg"
            }
        }
cena =
        Scene {
            content: [
                VBox {
                    spacing: 10
                    content: [
                        slider,
                        imageView
                    ]
                }
            ]
        }

Stage {
    scene: cena
}

Nesse ponto já podemos perceber como é fácil aplicar os efeitos no nosso nó sem muito código. Ainda temos as transformações que podemos aplicar.

Boa sorte e nos conte os resultados…

Jesuino_Master

javaFX:
:slight_smile: Valeu
Muito bom essa página.
Sabe algum livro bom pra indicar sobre JavaFX

Sugiro esses:

http://apress.com/book/view/[telefone removido]

http://apress.com/book/view/9781430226239

Hellmanss

Existe o livro Java Fx in Action.

javaFX

:smiley: Obrigada Pessoal!
Está sendo uma grande ajuda.
Assim que conseguir algum resultado
mando notícias.

Criado 24 de maio de 2010
Ultima resposta 25 de mai. de 2010
Respostas 6
Participantes 4