当我像这样简单地从另一个创建新图像时:
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\Shonan Junaï Gumi Tome 11 - 091B.png 目标文件 (dest) = C:...\Manga\Shonan Junaï Gumi Tome 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 下运行