1

我想使用渐进式双三次方法将大型 1920x1080 缓冲图像缩放为较小的 200x200 尺寸。我从 1024x768 开始并缩小到原始图像的近 80%,然后想以某种格式将此临时图像存储在某处,以便在下一次迭代中我再次在此图像上执行缩放到 80% 并继续该过程直到我获得 200x200我最终在我的 JFrame 上显示的图像。

存储此临时图像的方法或方式是什么?或者任何人都可以建议一种简单的方法来实现这种渐进式双三次缩放。

预期的代码看起来与此类似(虽然它需要各种修改,但我只需要存储临时图像的方式)

int sizew=1920,sizeh=1080;
    int deltaw = (int)(0.20 *1920);
    int deltah= (int)(0.20*1920);
    while(sizew>200&&sizeh>200)
    {
        sizew=sizew-deltaw;
        sizeh=sizeh-deltah;
        if(sizew<200||sizeh<200)
        {
            sizew=200;
            sizeh=200;
            temp=new BufferedImage(sizew,sizeh,BufferedImage.TYPE_INT_RGB);
                    //but using this how would i give reference to my original 1920x1080 image or temp image???
            break;
        }
        else
            temp=new BufferedImage(sizew,sizeh,BufferedImage.TYPE_INT_RGB);
    }    
4

1 回答 1

1

绝非易事;这是蛮力方法的概述:

使用适合源的可用方法将图像平铺成可管理的部分,例如

  • Java getSubImage(),在这里看到。
  • Ossim,专为大地测量数据而设计,但可用于图像。

根据预期用途对瓷砖重新取样,例如

重新组装瓷砖;方法取决于目的地。

于 2012-10-26T14:10:31.293 回答