Lau*_*t K 7 java tiles java-2d
我的程序生成10 x 10个图像,每个像素为3000x3000像素(目前已保存到100个文件中image_x_y.jpg)
我想将这100个图像组合成一个大图像,而不是将所有内容都加载到内存中.我的目标是创建一个30'000*30'000像素的大图像文件.
我正在寻找一种方法来做到这一点,而不使用JAI(不能从公共maven存储库安装,我不明白为什么)
有没有办法用纯java2D做到这一点?或者是否存在另一个库,能够处理这个?
我最初的想法是创建一个非常大的缓冲图像,从支持磁盘上的文件的DataBuffer.但我不确定这是可能的.有没有人这样做过?
我想将这100个图像组合成一个大图像,而不是将所有内容都加载到内存中.我的目标是创建一个30'000*30'000像素的大图像文件.
我相信JAI中有一个类可以做到这一点.无论您将JAI集成到项目中遇到什么问题,我都会坚持不懈而不是推出自己的版本.在Java2D中没有这样的东西.
我最初的想法是创建一个非常大的缓冲图像,从支持磁盘上的文件的DataBuffer.但我不确定这是可能的.有没有人这样做过?
是的,我写了一个不完整的实现.它包括
DataBuffer,其由支持ByteBuffer代替一个阵列(如果缓冲区引导其可以被映射到一个文件中.)WritableRaster类似于标准的栅格,但使用我的实施DataBuffer(在JDK中作弊的标准光栅通过举办以支持数组的引用.有一个直接的情况下,没有数组ByteBuffer所以很遗憾,你必须重新实现大部分Raster的方法.)我不建议扩展,SampleModel因为你的类不能使用JDK栅格(Java2D中的各种方法,包括Raster工厂方法切换,SampleModel假设它是标准类型之一.糟糕的设计恕我直言,但你可以做多少关于它除了遵循相同的模式.)
| 归档时间: |
|
| 查看次数: |
1448 次 |
| 最近记录: |