`

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文件格式:

代码
  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);   
<script>render_code();</script>

 

2,判断Image大小

代码
  1. FileImageInputStream fiis = new FileImageInputStream(new File(image.getPath()));   
  2. image.setSize((float) fii.length() / 1000 + "KB");   
<script>render_code();</script>

 

3,判断Image宽度和高度

代码
  1. ImageIcon ii = new ImageIcon(image.getPath());   
  2. image.setHeight(String.valueOf(ii.getIconHeight()));   
  3. image.setWidth(String.valueOf(ii.getIconWidth()));   
<script>render_code();</script>
分享到:
评论

相关推荐

    java gif动画转png

    Java作为一种广泛使用的编程语言,提供了丰富的库和工具来处理各种图像格式,包括GIF和PNG。本篇文章将详细探讨如何使用Java将GIF动画转换为PNG图片,以便进行后续的编辑和使用。 首先,我们需要了解GIF和PNG两种...

    CImage类打开和保存jpeg、bmp、gif和png格式图片

    在Windows编程环境中,CImage类是一个非常实用的工具,它为开发者提供了方便的方式来处理和操作图像,特别是JPEG、BMP、GIF和PNG这四种常见的图像格式。CImage类是Microsoft ATL(Active Template Library)的一部分...

    BCB组件pngimage,让bcb支持png

    `PNGImage1.Width`和`PNGImage1.Height`则用于获取或设置图像的尺寸。 对于初学者来说,可能还需要参考如pngimage.chm这样的帮助文档,以便更深入地理解如何使用这个组件。例如,pngimage.chm可能包含了详细的API...

    pb图片处理nvo_image.sru

    image/gif image/tiff image/png width指定图片宽度 height指定图片高度 type方式: 0-按照指定的宽度和高度生成图片 1-以宽度(参数width)为基准,根据原始图片宽高比率生成新的图片高度 2-以高度...

    GDIPlus_vc6.0加载png,jpg,gif图

    对于不同格式的图像,如JPG和GIF,只需更改文件路径即可,因为`Image`类能自动识别这些格式: ```cpp Gdiplus::Image* pJpgImage = new Gdiplus::Image("path_to_your_image.jpg"); Gdiplus::Image* pGifImage = ...

    VB在image控件中显示png

    首先,VB中的Image控件是用来在窗体上显示图像的,它可以支持多种图像格式,包括BMP、JPEG、GIF等,但默认并不直接支持PNG。为了在Image控件中显示PNG,我们需要借助GDI,这是Windows API提供的一套图形绘制接口。 ...

    图片水印 缩略图+裁剪(MyImageHelper)

    if (i.MimeType == "image/jpeg" || i.MimeType == "image/bmp" || i.MimeType == "image/png" || i.MimeType == "image/gif") { ici = i; } } EncoderParameters ep = new EncoderParameters(1); ep.Param[0...

    从资源文件显示PNG图片的类

    PNG文件格式是公开的,遵循RFC 2083标准,可以通过解析PNG头信息、颜色类型、压缩方法、IDAT块等来解码图片。这需要深入理解PNG文件结构和位图数据转换。 3. **利用.NET Framework**:VB6.0可以与.NET Framework...

    java image

    - `javax.imageio.ImageIO`类提供了读写图像文件的功能,支持JPEG、PNG、GIF等多种格式。 - `ImageIO.read(input)`和`ImageIO.write(image, format, output)`分别用于读取和写入图像。 5. **动画支持** - `java....

    ImagePreview

    通过添加`accept`属性,可以限制用户只能选择特定类型的文件,比如图片(`.jpg`, `.png`, `.gif`等)。 4. **事件监听** 当用户选择文件后,可以监听`change`事件来触发预览过程。当`&lt;input type="file"&gt;`的文件...

    PHP自动缩小图片代码

    $image-&gt;resizeImage($desired_width, $new_height, Imagick::FILTER_LANCZOS, 1); $image-&gt;writeImage('path/to/your/resized/image.jpg'); $image-&gt;destroy(); ?&gt; ``` Imagick的代码更加简洁,提供了`resizeImage...

    java文件上传和拦截器.pdf

    &lt;param name="allowedTypes"&gt;image/bmp,image/png,image/jpg,image/gif,application/vnd.ms-excel&lt;/param&gt; &lt;param name="maximumSize"&gt;200000&lt;/param&gt; &lt;/interceptor-ref&gt; &lt;!-- 必须显示配置引用struts默认的...

    mfc加载png格式的图片.rar

    pDC-&gt;StretchBlt(0, 0, rect.Width(), rect.Height(), &image, 0, 0, image.GetWidth(), image.GetHeight(), SRCCOPY); // 在窗口上显示图像 ReleaseDC(pDC); // 释放设备上下文 } ``` 在上面的代码中,`Load()`...

    JavaScript开发-自动优化Nuxtjs项目中使用的图像JPEGPNGSVGWebP和GIF

    this.$nuxt.image(images('example.jpg'), { width: 500, height: 300 }) ``` 最后,对于WebP格式,由于其良好的压缩效果和跨浏览器支持,通常建议作为首选的图像格式。但要注意,不是所有的浏览器都支持WebP,因此...

    js验证上传图片 大小 格式

    通过正则表达式`/(gif|jpg|jpeg|png|gif|jpg|png)$/`来匹配文件名的扩展名,确保上传的文件是`.gif`, `.jpeg`, `.jpg`, 或`.png`格式。这是通过`test()`函数完成的,它返回一个布尔值,如果文件扩展名符合规定的格式...

    Node.js-probe-image-size不需要下载整张图片就能够获取它的尺寸

    8. **PSD(Photoshop Document)**:Adobe Photoshop的原生文件格式,包含丰富的图层和编辑信息。 要使用probe-image-size,首先你需要通过npm(Node.js的包管理器)安装这个库。在命令行中输入以下命令: ```bash...

    文件上传图片文件上传

    这里定义了一个数组`allowExtension`,包含了`.jpg`, `.gif`, `.png`三种图像格式。通过获取文件扩展名并将其转换为小写,与`allowExtension`数组进行比较,确保只有这些格式的文件可以通过上传。 #### 文件大小...

    适用于 Vue.js 2-3 的移动端图片文件输入组件,具有图像预览、拖放、EXIF 方向等功能.zip

    picture-input纱yarn add vue-picture-input用法&lt;template&gt; &lt;div class="hello"&gt; &lt;picture-input ref="pictureInput" width="600" height="600" margin="16" accept="image/jpeg,image/png" size="10" ...

    Delphi图片与Base64互转及图片添加水印

    以上代码示例适用于BMP、PNG、JPG和GIF等常见的图像格式,但需要注意的是,不同的图像格式可能需要导入相应的图像处理库。通过这些基本操作,你可以根据具体需求调整水印的位置、透明度、文字样式等参数,以达到理想...

    艾恩ASP无组件上传(配合Flash进度条显示) v2.0

     file_types_description : "文件类型", //文件格式描述  file_size_limit : "500 MB", // 文件大小限制  file_upload_limit : 5, //上传文件总数  button_append : "divAddFiles",  button_width: 32,  ...

Global site tag (gtag.js) - Google Analytics