【发布时间】:2018-01-24 09:19:06
【问题描述】:
语言:Java FX
目标是使缩放功能正常工作(数字和平铺缩放)。 通过平铺缩放,我的意思是加载与正在缩放的区域相对应的下一组图像。
请帮助::: Java FX 方面的经验非常有限,因此很难继续进行
1. 我有一个缩放实现,它只是通过设置 图像视图的视口。
我们称之为数码变焦
imageView.setViewport(new Rectangle2D(x, y, width, height));
2. 缩放的另一种实现是根据缩放请求,下一组 将加载实际上代表缩放区域的图像。
我们称之为磁贴缩放
for (int xNavigation = xWindowStart; xNavigation <= xWindowEnd; xNavigation++) {
for (int yNavigation = yWindowStart; yNavigation <= yWindowEnd; yNavigation++) {
count++;
try {
image1 = new Image(new FileInputStream(
Constants.PATH_TILL_FOLDER + tileZoom + "/" + xNavigation + "_" + yNavigation + Constants.FILE_EXTESNION
));
ImageView imageView1 = new ImageView();
// System.out.println("Zoom levels::::" + tileZoom);
imageView1.setX(xval);
imageView1.setY(yval);
imageView1.setFitHeight(image1.getHeight() * digitalZoomLevel);
imageView1.setFitWidth(image1.getWidth() * digitalZoomLevel);
imageView1.setPreserveRatio(true);
imageView1.setImage(image1);
root.getChildren().add(imageView1);
//System.out.println("X"+imageView1.getX());
//System.out.println("Y"+imageView1.getY());
yval = yval + image1.getHeight() ;
// System.out.println("Going to paint image :" + xNavigation + "-" + yNavigation);
} catch (FileNotFoundException ex) {
Logger.getLogger(DataZoom.class.getName()).log(Level.SEVERE, null, ex);
}
}
yval = 0;
xval = xval + image1.getWidth();
}
System.out.println("Number of images painted tile" + count);
System.out.println("Tile Zoom");
我的问题是第一个解决方案仅支持 1 个图像。如何 我会处理多张图片的数字变焦吗???。
为什么要缩放多张图片?例如:一组图像的蒙娜丽莎图片。
【问题讨论】:
标签: java image javafx zooming tile