文件名称:插件函数-altium designer - pcb设计入门
文件大小:1.24MB
文件格式:PDF
更新时间:2024-06-23 14:23:37
FreeImage 图形
第二章 位图函数参考 2.9 插件函数 2.9 插件函数 通过一般地使用FreeImage您不可能注意到这样的事实:即FreeImage是插 件驱动的。每个位图载入器/保存器实际上是一个连接在集成插件管理器内的模 块。直到决定编写自己的插件之前,您不会注意到这个事实的。 几乎每个FreeImage中的插件是直接并入DLL中的。为什么这样做有历史进 展和设计的混合原因。FreeImage的第一版(实际上,大约在其生命中第一年的全 年)还没有插件的概念,这意味着所有位图函数只有在主DLL库中才提供。第二 年,Floris决定创建插件,因为他想要支持诸如GIF格式的一些在其上有许可限 制的位图格式。因为怕要将所有位图载入器/保存器放到多个小的DLL(它们会 使硬盘速度慢变得结结巴巴)中,他的主要’客户’强烈鼓动他将尽可能多的位图 格式保持在一个DLL中,他采纳了这个意见,导致了今天您在这里看到的设计。 实际上的插件系统从一些非常简单的东西,演化成了他现在在其他软件中 经常重复用到的非常灵活的一种机制。目前插件已经可能存在于主DLL中、在 外部DLL中、甚至直接在驱动FreeImage的应用程序中。 FreeImage GetFIFCount DLL API int DLL CALLCONV FreeImage GetFIFCount(); 获取当前正在注册的FREE IMAGE FORMAT标识符的数目。在FREE IMAGE FORMAT结构中通过演化,变成了与插件的同义词。 FreeImage SetPluginEnabled DLL API int DLL CALLCONV FreeImage SetPluginEnabled(FREE IMAGE FORMAT fif, BOOL enable); 激活或禁止一个插件。被禁止的插件不能用来导入或输出位图,也不能标 识位图。当该函数被调用时,返回先前的插件状态(TRUE/1或FALSE/0),或如 果插件不存在时返回–1。 FreeImage IsPluginEnabled DLL API int DLL CALLCONV FreeImage IsPluginEnabled(FREE IMAGE FORMAT fif); 如果插件被激活返回TRUE,当插件被禁止则返回FALSE,其他情况下返 回-1。 FreeImage GetFIFFromFormat DLL API FREE IMAGE FORMAT DLL CALLCONV FreeImage GetFIFFromFormat (const char *format); 从用来注册FIF的格式串中返回一个FREE IMAGE FORMAT标识 符。 41