javafx图形上下文不会渲染图像
我的文件rhino.gif与此程序位于同一目录中。javafx图形上下文不会渲染图像,javafx,Javafx,我的文件rhino.gif与此程序位于同一目录中。 它编译得很好,但图像不会渲染到屏幕上。 请注意,图像知道其尺寸(300X300) 我错过了什么 import javafx.application.Application; import javafx.stage.Stage; import javafx.scene.control.Button; import javafx.scene.layout.HBox; import javafx.scene.Scene; import javafx.
它编译得很好,但图像不会渲染到屏幕上。 请注意,图像知道其尺寸(300X300) 我错过了什么
import javafx.application.Application;
import javafx.stage.Stage;
import javafx.scene.control.Button;
import javafx.scene.layout.HBox;
import javafx.scene.Scene;
import javafx.application.Platform;
import javafx.scene.layout.BorderPane;
import javafx.scene.canvas.Canvas;
import javafx.scene.canvas.GraphicsContext;
import javafx.scene.image.Image;
import javafx.scene.image.ImageView;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
public class ImageShower extends Application
{
@Override
public void init()
{
//runs before GUI starts
}
@Override
public void start(Stage primary)
{
BorderPane root = new BorderPane();
Canvas c = new Canvas(500,500);
GraphicsContext pen = c.getGraphicsContext2D();
Image im = null;
ImageView iv = new ImageView();
//im = new Image(new FileInputStream(new File("rhino.gif")));
im = new Image("file:/Users/morrison/teaching/java/rhino.gif");
System.out.println(im);
pen.drawImage(im, 100, 100, 300, 300);
System.out.println(im.getWidth());
System.out.println(im.getHeight());
primary.setScene(new Scene(root));
primary.show();
}
@Override
public void stop()
{
//run after GUI ends.
//prevent data loss.
//clean up any messes.
System.out.println("Gahhhhh ! My last gasp prior to death!");
}
public static void main(String[] args)
{
launch(args);
}
}
我无法重现这个问题,即使是使用动画GIF文件(尽管它只绘制第一帧)。你试过其他GIF文件吗?也许是关于
rhino.gif
的某些东西导致了这个问题。下载并查看它是否显示。我对你的结果很感兴趣。我的图像显示在画布上。您使用的是什么版本的JavaFX?我正在使用JavaFX13.0.2。也许有一个bug在新版本中被修复了(有意或无意)。如果这有什么关系的话,我也在Windows 10上。我无法重现这个问题,即使是使用动画GIF文件(尽管它只绘制第一帧)。你试过其他GIF文件吗?也许是关于rhino.gif
的某些东西导致了这个问题。下载并查看它是否显示。我对你的结果很感兴趣。我的图像显示在画布上。您使用的是什么版本的JavaFX?我正在使用JavaFX13.0.2。也许有一个bug在新版本中被修复了(有意或无意)。如果这有什么关系的话,我也使用Windows10。