Delphi判断图片格式
Delphi 的文件能力还挺强的,尤其是读文件头判断类型这招,用起来真是又快又准。像搞图像相关的功能,比如上传时判断格式、自动分类啥的,用它来识别JPEG
、PNG
、GIF
这些常见图片,基本靠读头 8 个字节就能搞定。
用TFileStream
来打开文件,Read
方法读几个字节,再和固定的图片头信息对一对,就知道是啥格式了。关键代码也不长:
FileStream := TFileStream.Create(FileName, fmOpenRead or fmShareDenyWrite);
FileStream.Read(Buffer, SizeOf(Buffer));
if (Buffer[0] = $FF) and (Buffer[1] = $D8) and ... then
Result := 'JPEG';
判断图片类型这事,逻辑蛮简单,扩展性也不错。想支持更多格式,比如BMP
、TIFF
啥的,只要加几行判断就行。代码结构也清爽,新手看了也不迷糊。
如果你正好在做 Delphi 项目,功能里又有图片,不妨把这个方法封装成一个小工具类,用起来会更顺手。另外,异常别忘了包一下,避免文件打不开程序直接崩。
你要是想看完整的实现,去看看testCheckImgType
里头的示例代码,实战感更强,写得还挺规范的。
172.4KB
文件大小:
评论区