言語:Java FX複数の画像を同時にズームするjavafx
目的は、ズーム機能(デジタルとタイルの両方のズーム)を使用することです。 タイルズームは、ズームしている領域に対応する次の画像セットをロードすることを意味します。
のJava FXにおける:::経験は、非常に限られているので、それは非常に困難
1.を進めるために見つける助けてください、私は ビューポートを設定することに他ならないのズーミングのための1つの実装を持っています画像ビュー。
ズーミングのための別の実装では、ズーム要求に応じて、次の実際ズームを表すされた画像の がロードされる設定である
imageView.setViewport(new Rectangle2D(x, y, width, height));
このデジタルズームを呼び出すことができますエリア。
私の問題は、最初の溶液が唯一の1枚の画像をサポートするために開発されている
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");
このタイルズームを呼び出すことができます。どのように 私は複数の画像のためのデジタルズームを扱うだろうか?
なぜ複数の画像をズームするのですか?例えば、一連の画像によるモナリザの画像。
。例えば、一連の画像によるモナリザの画像。そして、今私は単一のイメージのようにそれをズームする必要があります – Gerrard
申し訳ありませんが、それは非常にトリッキーです。ズームインしたりズームアウトしたりすると、各画像の新しい位置を計算するアルゴリズムを作成する必要があります。計算は実際の問題ではありませんが、そのプロセスを最適化するにはしばらく時間がかかります –
まさに男です。簡単な方法があるかどうか疑問に思っていました;-) – Gerrard