Java里判断Image文件信息格式(GIF/PNG/JPG)/Size/Height/Width?

关键字: Image 格式 大小 宽度 高度

1,判断Image格式
用UE打开GIF/PNG/JPG格式的图片文件
我们会发现在文件头部某几个位置的字节的值连起来是'GIF'/'PNG'/'JFIF'
它们的位置分别如下:
GIF: 012
JFIF(JPG): 6789
PNG: 123
这样我们可以通过判断这几个字节值来得到Image文件格式:
Java代码 复制代码
  1. String type = "";   
  2. byte b0 = image.getFileData()[0];   
  3. byte b1 = image.getFileData()[1];   
  4. byte b2 = image.getFileData()[2];   
  5. byte b3 = image.getFileData()[3];   
  6. byte b6 = image.getFileData()[6];   
  7. byte b7 = image.getFileData()[7];   
  8. byte b8 = image.getFileData()[8];   
  9. byte b9 = image.getFileData()[9];   
  10. // GIF   
  11. if (b0 == (byte'G' && b1 == (byte'I' && b2 == (byte'F')   
  12.   type = "GIF";   
  13. // PNG   
  14. else if (b1 == (byte'P' && b2 == (byte'N' && b3 == (byte'G')   
  15.   type = "PNG";   
  16. // JPG   
  17.   else if (b6 == (byte'J' && b7 == (byte'F' && b8 == (byte'I' && b9 == (byte'F')   
  18.   type = "JPG";   
  19. else  
  20.   type = "Unknown";   
  21.   image.setType(type);  
String type = "";
byte b0 = image.getFileData()[0];
byte b1 = image.getFileData()[1];
byte b2 = image.getFileData()[2];
byte b3 = image.getFileData()[3];
byte b6 = image.getFileData()[6];
byte b7 = image.getFileData()[7];
byte b8 = image.getFileData()[8];
byte b9 = image.getFileData()[9];
// GIF
if (b0 == (byte) 'G' && b1 == (byte) 'I' && b2 == (byte) 'F')
  type = "GIF";
// PNG
else if (b1 == (byte) 'P' && b2 == (byte) 'N' && b3 == (byte) 'G')
  type = "PNG";
// JPG
  else if (b6 == (byte) 'J' && b7 == (byte) 'F' && b8 == (byte) 'I' && b9 == (byte) 'F')
  type = "JPG";
else
  type = "Unknown";
  image.setType(type);


2,判断Image大小
Java代码 复制代码
  1. FileImageInputStream fiis = new FileImageInputStream(new File(image.getPath()));   
  2. image.setSize((float) fii.length() / 1000 + "KB");  
FileImageInputStream fiis = new FileImageInputStream(new File(image.getPath()));
image.setSize((float) fii.length() / 1000 + "KB");


3,判断Image宽度和高度
Java代码 复制代码
  1. ImageIcon ii = new ImageIcon(image.getPath());   
  2. image.setHeight(String.valueOf(ii.getIconHeight()));   
  3. image.setWidth(String.valueOf(ii.getIconWidth()));  
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值