当前位置: 首页 > 知识库问答 >
问题:

JavaFX创建图像和ImageView

薛高澹
2023-03-14

停留在基础上。我在设置图像路径时遇到了一些语法问题。当我尝试创建一个图像并给它图像路径时,它总是抛出一些关于路径的一些异常。我已经评论了一些我已经尝试过的路径组合。你能告诉我我做错了什么吗?谢谢你。

封装JOPOFX;

public JoPoCTRL(JoPoFX gui){
    this.gui = gui;  
}

public void updateImages(){
    Image img = null;
    try{
        //img = new Image("C:\\Users\\ ... //FullPath ... \\JoPoFX\\src\\jopofx\\myimage.png");
        img = new Image("\\JoPoFX\\src\\jopofx\\myimage.png");
        //img = new Image("\\src\\jopofx\\myimage.png");
        //img = new Image("\\myimage.png");

    }catch(Exception e){
        System.out.println("error while creating image");
        e.printStackTrace();
    }

    try{
        gui.setImgV(img);
    }catch(Exception e){
        System.out.println("error while setting up the image");
    }        
}

这是打印出来的内容:错误while creating image java.lang.IllegalArgumentException:无效URL:在javafx.scene.image.image.validateURL(image.java:538)的javafx.scene.image.image.image.validateURL(image.java:990)中找不到无效URL或资源

共有1个答案

傅花蜂
2023-03-14

Windows平台上,对于放置在src/jopofx中的映像:

img = new Image("\\jopofx\\myimage.png");

img = new Image("/jopofx/myimage.png");

然后可以使用以下方法创建ImageView:

ImageView imageView = new ImageView(img);

此外,您还可以直接初始化ImageView,而不初始化Image,方法是:

ImageView imageView = new ImageView("/jopofx/myimage.png");

此外,请确保您正在使用导入javafx.scene.image.image;

 类似资料:
  • 我正在编写一个图像处理应用程序,使用javafx作为gui,我想在屏幕上显示处理过的图片。我的程序将图像处理为三维双数组,如double[3][1080][1920],因此我必须减少图像的颜色空间,并将双数组转换为byte或(如果可能)shorts,因为javafx的ImageView不支持浮点值或每个RGB组件的64位。我发现,Imageview只能从文件或inputstream加载数据,因此我

  • 我正在用java从扫描仪设备捕获图像。输入格式为PGM或TIFF。我必须在用户界面上显示实时结果。实际上,我使用ImageJ将源输入流读取为tiff,因为ImageJ也可以处理不完整的流。然后,将ImagePlus对象转换为BuffereImage,最后转换为JavaFX图像。 这很慢。我需要一种更快的方法从PGM或TIFF流创建JavaFX图像。看起来JavaFX实际上不支持这种格式,我也没有找

  • 通过前面内容的介绍,我们对 Surface 对象有了大体上的认识。Pygame 针对文本、图像、颜色提供了不同模块来生成它们各自的 Surface 对象。Surface 模块是Pygame 中专门用来新建图像的,通过该模块可以创建一个 Surface 对象,语法格式如下: 参数函数如下: size:表示 Surface 对象的矩形区域大小; flags:功能标志位,有两个可选参数值 HWSURFA

  • 问题内容: 通过进行更改时,如何确保在Dockerfile中指定的原始CMD仍设置为在其上运行? 这是事件的顺序,以使其更加清楚: 使用Dockerfile创建映像 之后从image运行容器以进行一些更改 在容器内进行更改并运行以创建带有新标签的新图像 运行新映像时,不再运行原始Dockerfile中的原始CMD条目 所以我问 如何在已提交的映像上再次从Dockerfile重置CMD? 问题答案:

  • 我有两个容器“web”和“db”。我有一个csv格式的现有数据文件。 问题是,我可以使用docker compose使用模式初始化MySQL数据库,或者只使用参数运行,但如何导入现有数据?我有Python脚本来解析和过滤数据,然后将其插入数据库,但我无法在“db”容器中运行它,因为单个图像是MySQL。 更新1 有一个Python脚本,用于从csv文件读取数据并将其插入数据库,效果很好。现在我想在

  • 现在,我们已经有了英雄和坏人的精灵表,该是时候创建它们所居住的虚拟世界了。在Canvas Hero游戏中,我们的虚拟世界将只有一个关卡,玩家可以在其中左右来回移动,关卡中有多堵墙壁、一个天花板、一个地板、多个平台及多个坑。本节,我们将研究创建关卡图像和边界图像的步骤,在边界图像中包含关卡边界的信息,并可以通过不同颜色来识别这些特殊区域。 操作步骤 要创建Canvas Hero游戏的关卡图像,我们可