2

我在java中有一个程序,其中tif文件在源缓冲图像中读取,然后这个缓冲图像被复制为目标缓冲图像。当我将此缓冲图像写入磁盘时,图像会丢失其坐标信息。怎样做才能不丢失坐标信息?

我的代码是:

/* Check if imageType if tif */
if (imageType.equalsIgnoreCase(TIFF)) {
    bufferedImageType = BufferedImage.TYPE_INT_RGB;
}
BufferedImage destination = new BufferedImage(source.getWidth(), source.getHeight(),
                bufferedImageType);
/* Loop to cover all pixels */
for (int width = 0; width < source.getWidth(); width++) {
    /* Loop to cover all lines */
    for (int height = 0; height < source.getHeight(); height++) {
        destination.setRGB(width, height, source.getRGB(width, height));
    }
}
file = new File(TEMP_DIR + TEMP_FILE_NAME + "tif");
ImageIO.write(destination, "tif", file);
4

1 回答 1

0

我知道这篇文章很旧,但仍然......

如果您谈论的是在此过程中丢失的所有标头数据,那么您可以使用 Apache Commons Imaging 将标头从源图像文件复制到目标图像文件。

这是一个例子:

https://commons.apache.org/proper/commons-imaging/xref-test/org/apache/commons/imaging/formats/jpeg/exif/ExifRewriteTest.html

于 2014-08-19T12:06:59.100 回答