好的,所以在这里有人问过类似的问题,即使用此代码从矩形中查找颜色(在if语句中,我们将得到一个布尔值):
.range-pin
现在,在我的项目中,我用图像填充了矩形。有没有一种方法可以找到我放在矩形中的图像,就像上面的代码一样,找到颜色是什么。
Rectangle.getfill.equals(Color.BLACK).
你们有什么建议吗?
答案 0 :(得分:4)
您需要一个像添加到图像一样的图像模式,原因是它无法将filePath字符串与矩形的填充进行比较,而矩形的填充永远不会相等,但是如果您将filePath转换为ImagePattern,则您已经准备好了一些图像检测。看看我的例子。
public class Main extends Application {
//This is the Important part
private ImagePattern imagePattern = new ImagePattern(new Image(getClass().getResourceAsStream("FilePath.png")));
@Override
public void start(Stage stage) {
Rectangle rectangle = new Rectangle();
rectangle.setX(150.0f);
rectangle.setY(75.0f);
rectangle.setWidth(300.0f);
rectangle.setHeight(150.0f);
//Setting rectangle with the Image Pattern
rectangle.setFill(imagePattern);
Button button = new Button("Check");
button.setOnAction(event -> {
if(rectangle.getFill().equals(imagePattern))
System.out.println("We've got it Captain!!");
else
System.out.println("new fone who dis");
});
VBox vBox = new VBox(rectangle);
vBox.getChildren().add(button);
stage.setScene(new Scene(vBox));
stage.show();
}
public static void main(String[] args) { launch(args); }
}
您每次单击该按钮都会打赌它会打印出来:
我们有队长!