我试图以编程方式在Java中设置jpeg图像的dpi元数据。图像的来源是扫描仪,因此我从TWAIN获得了水平/垂直分辨率以及图像原始数据。我想保存此信息以获得更好的打印效果。
这是我到目前为止的代码。它将原始图像(byteArray)保存为JPEG文件,但忽略了我通过IIOMetadata指定的X /
Ydensity信息。有什么建议我做错了吗?
任何其他解决方案(第三方库等)也将受到欢迎。
import java.awt.image.BufferedImage;
import java.awt.image.WritableRaster;
import java.io.File;
import javax.imageio.IIOImage;
import javax.imageio.ImageIO;
import javax.imageio.ImageTypeSpecifier;
import javax.imageio.metadata.IIOMetadata;
import javax.imageio.plugins.jpeg.JPEGImageWriteParam;
import javax.imageio.stream.ImageOutputStream
import org.w3c.dom.Element;
import com.sun.imageio.plugins.jpeg.JPEGImageWriter;
public boolean saveJpeg(int[] byteArray, int width, int height, int dpi, String file)
{
BufferedImage bufferedImage = new BufferedImage(width, height, Buffere