如何在Java中的各种变量中使用图像的文件名?

如何在Java中的各种变量中使用图像的文件名?,java,image,loops,arduino,processing,Java,Image,Loops,Arduino,Processing,我的代码将图像加载并绘制到屏幕上。每个图像都有一个四位数的名称,例如,0102.png。前两位(01)定义图像编号,另外两位(02)定义图像的显示持续时间 如何获取图像的文件名并在循环和其他变量中使用它们 import processing.serial.*; 串行端口; int n,数据输入; int最大值=5; int-imageIndex=0; 打印机输出; int i,j,k; INTA=20; 字符串s,p; 无效设置() { 大小(100100); 输出=createWriter(“

我的代码将图像加载并绘制到屏幕上。每个图像都有一个四位数的名称,例如,
0102.png
。前两位(
01
)定义图像编号,另外两位(
02
)定义图像的显示持续时间

如何获取图像的文件名并在循环和其他变量中使用它们

import processing.serial.*;
串行端口;
int n,数据输入;
int最大值=5;
int-imageIndex=0;
打印机输出;
int i,j,k;
INTA=20;
字符串s,p;
无效设置()
{
大小(100100);
输出=createWriter(“a.txt”);
myPort=新序列号(此“COM6”,38400);
PImage[]图像=新PImage[最大值];
对于(j=0;j
答案是“是的,只要您将此信息保存在某个地方(或在每次需要时提取它)”。不过,这可能会简单得多:您可以使用自己设计的类数组,而不是PImage数组,该数组将包含您需要的所有信息,有点像这样:

class MyImage {
  protected PImage _image;
  protected PVector _size, _location;
  protected int _imageNumber;
  protected int _loopingTime;

  public MyImage(String imagePath, int imageNumber, int loopingTime, PVector location) {
    _image = loadImage(imagePath);
    _size = new PVector(_image.width, _image.height);
    _location = location;
    _imageNumber = imageNumber;
    _loopingTime = loopingTime;
  }

  public void SetImageLocation(int xx, int yy) {SetImageLocation(new PVector(xx, yy));}
  public void SetImageLocation(PVector v) {_location = v;}
  public int GetImageNumber() {return _imageNumber;}
  public int GetLoopingTime() {return _loopingTime;}
  public PVector GetSize() {return _size;}
  public PVector GetLocation() {return _location;}

  public void DrawImage(){
    image(_image, _location.x, _location.y, _size.x, _size.y);
  }
}
在以后的代码中,您可以初始化此类的数组,而不是PImage的数组!当然,我设计得很快,所以你最好用你需要的一切来充实它

如果你有什么问题,我就留下来。玩得开心

答案是“是的,只要你把这些信息保存在某个地方(或者每次需要时都提取出来)”。不过,这可能会简单得多:您可以使用自己设计的类数组,而不是PImage数组,该数组将包含您需要的所有信息,有点像这样:

class MyImage {
  protected PImage _image;
  protected PVector _size, _location;
  protected int _imageNumber;
  protected int _loopingTime;

  public MyImage(String imagePath, int imageNumber, int loopingTime, PVector location) {
    _image = loadImage(imagePath);
    _size = new PVector(_image.width, _image.height);
    _location = location;
    _imageNumber = imageNumber;
    _loopingTime = loopingTime;
  }

  public void SetImageLocation(int xx, int yy) {SetImageLocation(new PVector(xx, yy));}
  public void SetImageLocation(PVector v) {_location = v;}
  public int GetImageNumber() {return _imageNumber;}
  public int GetLoopingTime() {return _loopingTime;}
  public PVector GetSize() {return _size;}
  public PVector GetLocation() {return _location;}

  public void DrawImage(){
    image(_image, _location.x, _location.y, _size.x, _size.y);
  }
}
在以后的代码中,您可以初始化此类的数组,而不是PImage的数组!当然,我设计得很快,所以你最好用你需要的一切来充实它


如果你有什么问题,我就留下来。玩得开心

循环时间,你们能解释一下这是什么意思吗?循环时间的意思是我想在一个循环中运行图像n次。对不起,还是不确定你们的意思。我有一个图像“1.jpg”,我想在一个循环中运行它2次-这意味着什么?你想画两次吗?@vs97可能是Asker的“循环”意思是“显示的持续时间”。可能是显示下一幅图像之前的计时器值?。。。不过我只是在猜测。循环时间的,你能解释一下这意味着什么吗?循环时间的意思是我想在一个循环中运行图像n次。对不起,还是不确定你的意思。我有一个图像“1.jpg”,我想在一个循环中运行它2次-这意味着什么?你想画两次吗?@vs97可能是Asker的“循环”意思是“显示的持续时间”。可能是显示下一幅图像之前的计时器值?。。。不过,我只是在猜测。