1,判断Image格式
用UE打开GIF/PNG/JPG格式的图片文件
我们会发现在文件头部某几个位置的字节的值连起来是'GIF'/'PNG'/'JFIF'
它们的位置分别如下:
GIF: 012
JFIF(JPG): 6789
PNG: 123
这样我们可以通过判断这几个字节值来得到Image文件格式:
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大小
FileImageInputStream fiis = new FileImageInputStream(new File(image.getPath()));
image.setSize((float) fii.length() / 1000 + "KB");
3,判断Image宽度和高度
ImageIcon ii = new ImageIcon(image.getPath());
image.setHeight(String.valueOf(ii.getIconHeight()));
image.setWidth(String.valueOf(ii.getIconWidth()));
分享到:
相关推荐
Java作为一种广泛使用的编程语言,提供了丰富的库和工具来处理各种图像格式,包括GIF和PNG。本篇文章将详细探讨如何使用Java将GIF动画转换为PNG图片,以便进行后续的编辑和使用。 首先,我们需要了解GIF和PNG两种...
在Windows编程环境中,CImage类是一个非常实用的工具,它为开发者提供了方便的方式来处理和操作图像,特别是JPEG、BMP、GIF和PNG这四种常见的图像格式。CImage类是Microsoft ATL(Active Template Library)的一部分...
`PNGImage1.Width`和`PNGImage1.Height`则用于获取或设置图像的尺寸。 对于初学者来说,可能还需要参考如pngimage.chm这样的帮助文档,以便更深入地理解如何使用这个组件。例如,pngimage.chm可能包含了详细的API...
image/gif image/tiff image/png width指定图片宽度 height指定图片高度 type方式: 0-按照指定的宽度和高度生成图片 1-以宽度(参数width)为基准,根据原始图片宽高比率生成新的图片高度 2-以高度...
对于不同格式的图像,如JPG和GIF,只需更改文件路径即可,因为`Image`类能自动识别这些格式: ```cpp Gdiplus::Image* pJpgImage = new Gdiplus::Image("path_to_your_image.jpg"); Gdiplus::Image* pGifImage = ...
首先,VB中的Image控件是用来在窗体上显示图像的,它可以支持多种图像格式,包括BMP、JPEG、GIF等,但默认并不直接支持PNG。为了在Image控件中显示PNG,我们需要借助GDI,这是Windows API提供的一套图形绘制接口。 ...
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文件格式是公开的,遵循RFC 2083标准,可以通过解析PNG头信息、颜色类型、压缩方法、IDAT块等来解码图片。这需要深入理解PNG文件结构和位图数据转换。 3. **利用.NET Framework**:VB6.0可以与.NET Framework...
- `javax.imageio.ImageIO`类提供了读写图像文件的功能,支持JPEG、PNG、GIF等多种格式。 - `ImageIO.read(input)`和`ImageIO.write(image, format, output)`分别用于读取和写入图像。 5. **动画支持** - `java....
通过添加`accept`属性,可以限制用户只能选择特定类型的文件,比如图片(`.jpg`, `.png`, `.gif`等)。 4. **事件监听** 当用户选择文件后,可以监听`change`事件来触发预览过程。当`<input type="file">`的文件...
$image->resizeImage($desired_width, $new_height, Imagick::FILTER_LANCZOS, 1); $image->writeImage('path/to/your/resized/image.jpg'); $image->destroy(); ?> ``` Imagick的代码更加简洁,提供了`resizeImage...
<param name="allowedTypes">image/bmp,image/png,image/jpg,image/gif,application/vnd.ms-excel</param> <param name="maximumSize">200000</param> </interceptor-ref> <!-- 必须显示配置引用struts默认的...
pDC->StretchBlt(0, 0, rect.Width(), rect.Height(), &image, 0, 0, image.GetWidth(), image.GetHeight(), SRCCOPY); // 在窗口上显示图像 ReleaseDC(pDC); // 释放设备上下文 } ``` 在上面的代码中,`Load()`...
this.$nuxt.image(images('example.jpg'), { width: 500, height: 300 }) ``` 最后,对于WebP格式,由于其良好的压缩效果和跨浏览器支持,通常建议作为首选的图像格式。但要注意,不是所有的浏览器都支持WebP,因此...
通过正则表达式`/(gif|jpg|jpeg|png|gif|jpg|png)$/`来匹配文件名的扩展名,确保上传的文件是`.gif`, `.jpeg`, `.jpg`, 或`.png`格式。这是通过`test()`函数完成的,它返回一个布尔值,如果文件扩展名符合规定的格式...
这里定义了一个数组`allowExtension`,包含了`.jpg`, `.gif`, `.png`三种图像格式。通过获取文件扩展名并将其转换为小写,与`allowExtension`数组进行比较,确保只有这些格式的文件可以通过上传。 #### 文件大小...
8. **PSD(Photoshop Document)**:Adobe Photoshop的原生文件格式,包含丰富的图层和编辑信息。 要使用probe-image-size,首先你需要通过npm(Node.js的包管理器)安装这个库。在命令行中输入以下命令: ```bash...
以上代码示例适用于BMP、PNG、JPG和GIF等常见的图像格式,但需要注意的是,不同的图像格式可能需要导入相应的图像处理库。通过这些基本操作,你可以根据具体需求调整水印的位置、透明度、文字样式等参数,以达到理想...
file_types_description : "文件类型", //文件格式描述 file_size_limit : "500 MB", // 文件大小限制 file_upload_limit : 5, //上传文件总数 button_append : "divAddFiles", button_width: 32, ...
// 设置GIF文件格式 FIBITMAP* fiBmp = FreeImage_Load(fif, filename, GIF_DEFAULT); // 加载GIF文件 int width = FreeImage_GetWidth(fiBmp); // 获取宽度 int height = FreeImage_GetHeight(fiBmp); // 获取...