Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/image/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Java中缩放图像数组_Java_Image_Scale - Fatal编程技术网

在Java中缩放图像数组

在Java中缩放图像数组,java,image,scale,Java,Image,Scale,我试图重新缩放一组图像,使它们具有相同的宽度和高度。我无法返回阵列。任何帮助都会很好 public static Picture[] resize(Picture[] slides, String[] args) { int w = 298; int h = 298; Picture [] source = new Picture [Integer.parseInt(args[0])]; for ( int ti = 0; ti < w; ti

我试图重新缩放一组图像,使它们具有相同的宽度和高度。我无法返回阵列。任何帮助都会很好

  public static Picture[] resize(Picture[] slides, String[] args) {


    int w = 298;
    int h = 298;

    Picture [] source =  new Picture [Integer.parseInt(args[0])];

    for ( int ti = 0; ti < w; ti++){
        for (int tj = 0; tj < h; tj++){
            Picture [] target = new Picture[ti+1];
            int si = tj * source[ti].width()/w;
            int sj = tj * source[tj].height()/h;
            target[ti].set(ti, tj, source[0].get(si, sj));
        }
    }
    return target;   
}
公共静态图片[]调整大小(图片[]幻灯片,字符串[]参数){
int w=298;
int h=298;
Picture[]源=新图片[Integer.parseInt(args[0]);
对于(int ti=0;ti
您的问题有点不清楚,您的源代码令人困惑。似乎您只需要编辑传入的数组。您可以修改它,以便它复制输入数组并创建一个新数组,
System.arraycopy()
将完成此操作

我试图回答我认为您需要的问题,但是我不知道您的图片类API。您可以像在示例中一样使用
set(…)
,而不是我使用的API调用

public static Picture[] resize(Picture[] slides, String[] args) {
    int w = 298;
    int h = 298;

    for(Picture i : slides) {
        i.setHeight(h);
        i.setWidth(w);
    }
    return slides;   
}

名为
target
图片数组
将仅存在于声明它的块的范围内。
目标
数组可引用的范围由最内层for循环的开始和结束括号标记

为了能够在返回语句所在的行中引用
target
,您需要在两个for循环之外声明它

至于代码的其余部分,正如其他人所指出的,不清楚发生了什么

幻灯片
参数未使用:如果未使用,请将其删除

args
参数名称不正确:重命名它以指示其内容


执行这些步骤将使我们更容易进一步帮助您。

我不知道这段代码应该如何工作。为什么要创建一个图片数组,其中的元素数量与源图片中水平移动的像素数量相同?为什么您从不创建目标
图片
对象,并设置明显为
空的
目标[ti]
的像素?为什么您只访问
source
0
th元素?我认为您首先需要回到如何使用数组的基础上:(无论如何,投票结束,因为上面的代码示例几乎无法修复,而且问题中存在一个主要的XY问题。)