JavaFX - 有没有一种方法可以使用 imageview 多次打印一个图像?
JavaFX - Is there a method to print one image multiple times using imageview?
给出下面的代码,我试图多次打印出单个图像(存储在变量 'image' 中)。关于我如何去做这件事有什么建议吗?任何信息都会有用。
Image image = new Image("tileset.png");
ImageView tileset = new ImageView();
tileset.setImage(image);
Rectangle2D viewport1 = new Rectangle2D(0,16,16,16); //(selected pixels)
tileset.setViewport(viewport1);
int length = 40, width= 40; // declare size of array (print 40x40)
// loop through grid, fill every tile with image 'image'.
// currently only fills position (40,40) with the image.
for(int y = 0; y < length; y++)
{
for(int x = 0; x < width; x++)
{
GridPane.setConstraints(tileset,x,y);
}
}
root.getChildren().add(tileset);
方法GridPane.setConstraints(tileset,x,y)
不会将子节点添加到网格窗格,它只是设置子节点的索引。为了将它添加到 gridpane 中,你应该在循环中每次调用 root.getChildren().add(tileset)
并使用新的 ImageView
.
Image image = new Image("tileset.png");
Rectangle2D viewport1 = new Rectangle2D(0,16,16,16); //(selected pixels)
int length = 40, width= 40; // declare size of array (print 40x40)
// loop through grid, fill every tile with image 'image'.
// currently only fills position (40,40) with the image.
for(int y = 0; y < length; y++)
{
for(int x = 0; x < width; x++)
{
ImageView tileset = new ImageView(image);
tileset.setViewport(viewport1);
GridPane.setConstraints(tileset,x,y);
root.getChildren().add(tileset);
}
}
给出下面的代码,我试图多次打印出单个图像(存储在变量 'image' 中)。关于我如何去做这件事有什么建议吗?任何信息都会有用。
Image image = new Image("tileset.png");
ImageView tileset = new ImageView();
tileset.setImage(image);
Rectangle2D viewport1 = new Rectangle2D(0,16,16,16); //(selected pixels)
tileset.setViewport(viewport1);
int length = 40, width= 40; // declare size of array (print 40x40)
// loop through grid, fill every tile with image 'image'.
// currently only fills position (40,40) with the image.
for(int y = 0; y < length; y++)
{
for(int x = 0; x < width; x++)
{
GridPane.setConstraints(tileset,x,y);
}
}
root.getChildren().add(tileset);
方法GridPane.setConstraints(tileset,x,y)
不会将子节点添加到网格窗格,它只是设置子节点的索引。为了将它添加到 gridpane 中,你应该在循环中每次调用 root.getChildren().add(tileset)
并使用新的 ImageView
.
Image image = new Image("tileset.png");
Rectangle2D viewport1 = new Rectangle2D(0,16,16,16); //(selected pixels)
int length = 40, width= 40; // declare size of array (print 40x40)
// loop through grid, fill every tile with image 'image'.
// currently only fills position (40,40) with the image.
for(int y = 0; y < length; y++)
{
for(int x = 0; x < width; x++)
{
ImageView tileset = new ImageView(image);
tileset.setViewport(viewport1);
GridPane.setConstraints(tileset,x,y);
root.getChildren().add(tileset);
}
}