如果要拉伸图像以填满整个图像,Region
则应使用:
// Side note: Are you sure having "main/resources" in the path is correct?
var image = new Image("main/resources/images/jxoPOUxa.gif", true);
var bgImage = new BackgroundImage(
image,
BackgroundRepeat.NO_REPEAT,
BackgroundRepeat.NO_REPEAT,
BackgroundPosition.DEFAULT,
new BackgroundSize(1.0, 1.0, true, true, false, false)
);
mainPain.setBackground(new Background(bgImage));
均值和的两个true
参数分别是成比例的而不是绝对的。在这种情况下,and 的范围应为,否则称为0%至100%。这两个参数分别是和。他们必须为和论据来。换句话说,这告诉JavaFX使图像填充的宽度和高度的100%。请注意,这将不会保持图像的纵横比(请参阅下文)。BackgroundSize``width``height``width``height``[0.0, 1.0]``false``contain``cover``false``width``height``Region
请参阅的文档以BackgroundSize
获取更多信息:
定义BackgroundImage相对于样式区域应填充的区域大小。有几个属性的值优先于其他属性。特别是有4个关键属性,width
,height
,contain
,和cover
。宽度和高度都彼此独立,但是两者都与包含和覆盖相互作用。
从CSS规范cover
定义为:
contain
定义为:
宽度和高度均指定(使用绝对值或百分比)要使用的大小。仅当cover和contain为false时,这两个属性才适用。如果Cover和Contain均为true,则将使用cover。
宽度和高度也可以设置为AUTO
,指示应该调整区域的大小以使用图像的固有大小,或者如果无法确定,则为100%。