如何在编写JPEG图像时使用JPEGImageWriteParam类

时间:2011-11-26 12:34:18

标签: java jpeg

我想用Java编写JPEG图像。我使用JPEGImageWriteParam类来设置JPEGQTableJPEGHuffmanTable。这是代码:

    JPEGQTable[] qTables = {luminanceQTable,chromianceQTable};
    JPEGHuffmanTable[] dcTables = {JPEGHuffmanTable.StdDCLuminance,JPEGHuffmanTable.StdDCChrominance};
    JPEGHuffmanTable[] acTables = {JPEGHuffmanTable.StdACLuminance,JPEGHuffmanTable.StdACChrominance};

    JPEGImageWriteParam param = new JPEGImageWriteParam(Locale.US);
    param.setEncodeTables(qTables,dcTables,acTables);  

然后使用ImageWriter来编写图像。这是代码:

    ImageOutputStream ios = ImageIO.createImageOutputStream(image);
    writer.setOutput(ios);
    IIOImage ioImage = new IIOImage(raster, null, metadata);
    writer.write(metadata, ioImage, param);

原始图像中的元数据和栅格都没有变化。但输出的JPEG图像很奇怪。我想知道想要解决这个问题。我应该更改栅格每个像素的值吗?

0 个答案:

没有答案