当我简单地从另一个创建一个新图像时:
public static void scaleByTwoRight(String src, String dest)
throws IOException {
BufferedImage bsrc = ImageIO.read(new File(src));
int width = bsrc.getWidth()/2;
int height = bsrc.getHeight();
BufferedImage bdest = bsrc.getSubimage(width, 0, width, height);
ImageIO.write(bdest,"PNG",new File(dest));
}
源文件(src)= C:... \ Manga \ Shonan Juna_ Gumi Tome 11 \ShonanJunaïGumiTome 11 - 091B.png 目标文件(dest)= C:... \ Manga \ShonanJunaïGumiTome 11 - 091B_A.png
生成的文件示例:https://docs.google.com/file/d/0B1vKCZzB5hxqYzNsUWF5RHA2Wm8/edit?usp=sharing
问题:新图像有mimetype:application而不是mimetype:image
我如何得出这个结论:我正在使用一个函数来测试文件是否是图像:
public static boolean isImage(String src)
throws IOException {
File f = new File(src);
String mimetype= new MimetypesFileTypeMap().getContentType(f);
String type = mimetype.split("/")[0];
if(type.equals("image")){
return true;
}else{
System.out.println("mimetype: "+type);
return false;
}
}
如果Mime类型不正确,它没有产生巨大的影响,但我更喜欢让它正常工作..
感谢您的帮助!
注意: 我在Windows 7 / 32b下运行 JVM 1.7 / Eclipse Helios
答案 0 :(得分:0)
您的代码在我的计算机上正常运行。 我有Windows XP,32位, 尝试使用jpeg图像,它只返回mimetype作为image / jpeg。 希望您不要同时尝试执行这两个功能。 此目标文件名也应包含正确的扩展名,如.jpeg或。 png等...