gpt4 book ai didi

java - 如何加载文件夹中的所有图像? (处理,Java)

转载 作者:行者123 更新时间:2023-12-02 11:16:43 25 4
gpt4 key购买 nike

请帮助我。我想在不知道数据名的情况下将多个图像加载到此处理草图中。这样我总是可以将 .png 图像放入数据文件夹中,程序会自动加载它们。我在一些论坛中进行了搜索,但除了我已经找到的一些代码之外没有找到任何内容使用过,但运行不正常。

程序一启动它就会在 image(); 处给我一个 NullPointerException

这是控制台输出:

4096
D:\Program Files\processing-3.3.7\PROJECTS\Blendertutorial\data
[0] "1.png"
[1] "2.png"
[2] "3.png"
[3] "4.png"
[4] "5.png"
[5] "6.png"
[6] "7.png"

另外为什么folder.list();输出这么大的数字?我那里只有 7 张图片...

import java.io.File;
String fileExtension = ".png";

java.io.File folder = new java.io.File(sketchPath("/PROJECTS/Blendertutorial/data"));
java.io.FilenameFilter extfilter = new java.io.FilenameFilter() {
boolean accept(File dir, String name) {
return name.toLowerCase().endsWith(fileExtension);
}
};

PImage images;
String[] imageNames;
int i=0;
long folderInhalt = folder.length();

void setup(){
size(500,500);
println(folder.length());
println(folder);
printArray(imageNames);

imageNames = folder.list(extfilter);
}

void draw(){
if(mousePressed){
images = loadImage(folder+"/"+imageNames[0]);
println(images);
println(imageNames[i]);
delay(200);
i++;
}
image(images,0,0); //NULL POINTER EXCEPTION!
}

最佳答案

当调用 draw() 但 mousePressed 为 false 时,代码中会发生什么情况?

考虑你的代码:

PImage images;
...
...
...

void draw(){
if(mousePressed){
images = loadImage(folder+"/"+imageNames[0]);
println(images);
println(imageNames[i]);
delay(200);
i++;
}
image(images,0,0); //NULL POINTER EXCEPTION!
}

您已声明图像,但尚未实例化它。

mousePressed==false的情况下,images将保持为空。

此行为可以解释您的 NullPointerException - 您正在使用 null 值参数调用 image 方法。

关于java - 如何加载文件夹中的所有图像? (处理,Java),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50217923/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com