在ImageView上的鼠标单击事件上获取RGB像素值

时间:2018-06-26 21:18:30

标签: java canvas javafx imageview pixel

我正在通过保留图像的纵横比在ImageView中显示图像。 每当用户单击时,我都想选择像素的颜色。

这是我现在正在做的事情:

@FXML private ImageView chosenImage;
Color color = chosenImage.getImage().getPixelReader().getColor((int) mouseEvent.getX(), (int) mouseEvent.getY());

这是ImageView的FXML代码:

<ImageView fx:id="chosenImage" fitHeight="380.0" fitWidth="252.0" onMouseClicked="#onImageClicked" pickOnBounds="true" preserveRatio="true" smooth="false" AnchorPane.bottomAnchor="8.0" AnchorPane.leftAnchor="8.0" AnchorPane.rightAnchor="294.0" AnchorPane.topAnchor="8.0" />

这确实有一些价值,但并不准确。鼠标事件的X和Y值是相对于ImageView而不是其自身的图像。 我想以某种方式获取点击区域的像素值。

如果有人知道解决方案,请提供帮助。谢谢。

0 个答案:

没有答案