如何从矩形中找到图像图案?

时间:2019-07-11 22:19:02

标签: javafx

好的,所以在这里有人问过类似的问题,即使用此代码从矩形中查找颜色(在if语句中,我们将得到一个布尔值):

.range-pin

现在,在我的项目中,我用图像填充了矩形。有没有一种方法可以找到我放在矩形中的图像,就像上面的代码一样,找到颜色是什么。

    Rectangle.getfill.equals(Color.BLACK). 

你们有什么建议吗?

1 个答案:

答案 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); }
}

您每次单击该按钮都会打赌它会打印出来:

  

我们有队长!