J'ai besoin d'un moyen d'avoir une image en échelle de gris dans un ImageView et sur la souris déplacée si la position du curseur est dans les limites ImageView pour montrer un projecteur coloré sur la position de la souris. J'ai créé un échantillon pour vous aider à comprendre ce dont j'ai besoin. Cet exemple annule les couleurs d'une image colorée dans l'événement onMouseMoved.Image en niveaux de gris avec projecteur coloré en JavaFX
package javafxapplication3;
import javafx.scene.effect.BlendMode;
import javafx.scene.Group;
import javafx.scene.image.Image;
import javafx.scene.image.ImageView;
import javafx.scene.input.MouseEvent;
import javafx.scene.paint.Color;
import javafx.scene.paint.RadialGradient;
import javafx.scene.paint.Stop;
import javafx.scene.Scene;
import javafx.scene.shape.Circle;
import javafx.stage.Stage;
var spotlightX = 0.0;
var spotlightY = 0.0;
var visible = false;
var anImage = Image {
url: "{__DIR__}picture1.jpg"
}
Stage {
title: "Spotlighting"
scene: Scene {
fill: Color.WHITE
content: [
Group {
blendMode: BlendMode.EXCLUSION
content: [
ImageView {
image: anImage
onMouseMoved: function (me: MouseEvent) {
if (me.x > anImage.width - 10 or me.x < 10 or me.y > anImage.height - 10 or me.y < 10) {
visible = false;
} else {
visible = true;
}
spotlightX = me.x;
spotlightY = me.y;
}
},
Group {
id: "spotlight"
content: [
Circle {
visible: bind visible
translateX: bind spotlightX
translateY: bind spotlightY
radius: 60
fill: RadialGradient {
centerX: 0.5
centerY: 0.5
stops: [
Stop { offset: 0.1, color: Color.WHITE },
Stop { offset: 0.5, color: Color.BLACK },
]
}
}
]
}
]
},
]
},
}
Pour être plus précis:
- Je veux afficher une image couleur en niveaux de gris
- Sur mouseover Je veux un coup de projecteur à colorer, en contraste avec le reste de l'image qui va être rendu en mode niveaux de gris (comme mentionné dans l'exigence n ° 1 ci-dessus). Le projecteur se déplace dans le même sens que le curseur de la souris
On dirait que c'est presque là - pouvez-vous être plus précis avec votre question? Avez-vous besoin d'aide pour les couleurs de l'image? Incidemment, j'ai dû ajouter des attributs hauteur/largeur à votre scène afin de l'afficher –
J'ai mis à jour ma question – DaTroop