图像处理应用程序如何识别用户打开的文件?
众所周知,图像处理应用程序可以打开所有已知格式的图像。我的问题是,图像处理应用程序如何知道它正在打开什么样的文件。它会从文件扩展名中知道,或者它将以二进制文件打开文件并读取文件的标题,然后我将创建该文件类型的对象。
或任何已知的找出图像文件格式的方法。
对于上述问题,您如何设计系统。您将使用哪些设计模式。
提前致谢。
哈沙
图像处理应用程序如何识别用户打开的文件?
众所周知,图像处理应用程序可以打开所有已知格式的图像。我的问题是,图像处理应用程序如何知道它正在打开什么样的文件。它会从文件扩展名中知道,或者它将以二进制文件打开文件并读取文件的标题,然后我将创建该文件类型的对象。
或任何已知的找出图像文件格式的方法。
对于上述问题,您如何设计系统。您将使用哪些设计模式。
提前致谢。
哈沙
我会说整个应用程序的设计模式与图像格式识别的过程完全无关。
每种图像文件格式都有很早的二进制信息,表明它是文件的类型,即文件的“标题”。
例如,GIF 文件以字母 GIF 开头,并带有一个代码来指示 GIF 规范的哪个版本,87a 或 89a。PNG 文件 - 正如 Robert Harvey 所指出的 - 有一个特殊字符,后跟 PNG 作为文件的前四个字节。
大多数主要图像格式的维基百科条目都解释了标题,以及更多关于文件本身的信息 - 除了上面涵盖 PNG 和 JPEG 的链接之外,还有http://en.wikipedia.org/wiki/ GIF#File_format用于 GIF。