0

尝试读取缓冲的 bmp 图像,然后通过压缩转换为 jpeg。缓冲的图像行有问题。谢谢,任何帮助表示赞赏。

public void jpegconvert(String Fname, String Crate)
{

BufferedImage image =  ImageIO.read(Fname);

Iterator<ImageWriter> i = ImageIO.getImageWritersByFormatName("jpeg"); 

// Just get the first JPEG writer available 
ImageWriter jpegWriter = i.next(); 

// Set the compression quality to 0.8 
ImageWriteParam param = jpegWriter.getDefaultWriteParam(); 
param.setCompressionMode(ImageWriteParam.MODE_EXPLICIT); 
param.setCompressionQuality(0.8f); 

// Write the image to a file 
FileImageOutputStream out = new FileImageOutputStream(new File("newimage.jpg")); 
jpegWriter.setOutput(out); 
jpegWriter.write(null, new IIOImage(image, null, null), param); 
jpegWriter.dispose(); 
out.close();
}
}

悬停错误是这样说的:

no suitable method found for read(String)
    method ImageIO.read(ImageInputStream) is not applicable
      (actual argument String cannot be converted to ImageInputStream by method invocation conversion)
    method ImageIO.read(URL) is not applicable
      (actual argument String cannot be converted to URL by method invocation conversion)
    method ImageIO.read(InputStream) is not applicable
      (actual argument String cannot be converted to InputStream by method invocation conversion)
    method ImageIO.read(File) is not applicable
      (actual argument String cannot be converted to File by method invocation conversion)
4

1 回答 1

2

问题出在这个特定的代码上:
ImageIO.read(Fname);
因为Fname它是一个String检查API 的读取方法,它String在任何重载方法中都没有作为参数

参考资料可能对您有所帮助

于 2013-02-09T16:40:38.390 回答