L_FileConvert

总结

将图像文件从一种格式转换为另一种格式,以新格式创建新文件。

语法

# include“l_bitmap.h”

L_LTFIL_APIL_INTL_FileConvert(pszFileSrc, pszFileDst, nType, nWidth, nHeight, nBitsPerPixel, nQFactor, pLoadOptions, pSaveOptions, pFileInfo)

参数

L_TCHAR* pszFileSrc

包含输入文件名的字符串。

L_TCHAR* pszFileDst

包含输出文件名的字符串。

L_INTnType

输出文件格式。有效值请参见输出文件格式

L_INTnWidth

输出文件的新宽度。如果这个值不为0,那么输出文件将被调整为nWidth值。如果不希望调整输出文件的大小,则使用0值。

L_INTnHeight

输出文件的新高度。如果这个值不为0,那么输出文件将被调整为nHeight值。如果不希望调整输出文件的大小,则使用0值。

L_INTnBitsPerPixel

输出文件像素深度。注意,并不是所有的像素位都适用于所有的文件格式。有效值请参见输出文件格式

L_INTnQFactor

此参数用于将图像保存为支持质量因子(QFactor)的文件格式。QFactor是一个决定压缩过程中损失程度的数字。

可能的值请参见压缩质量因子

pLOADFILEOPTIONpLoadOptions

指向可选扩展加载选项的指针。传递NULL以使用默认的加载选项。

pSAVEFILEOPTIONpSaveOptions

指向可选扩展保存选项的指针。传递NULL以使用默认的保存选项。

pFILEINFOpFileInfo

指向FILEINFO结构的指针。该结构可以包含加载图像时使用的文件信息,也可以使用有关正在加载的文件的信息进行更新。

永远不要传递一个未初始化的FILEINFO结构。如果对文件一无所知,则为该参数传递NULL;或者声明一个FILEINFO类型的变量并设置FILEINFO。标记为0,然后在此参数中传递FILEINFO结构的地址。在最后一种情况下,如果传递了FILEINFO结构的地址,则FILEINFO结构将使用L_FileInfo的结果进行更新。

如果只知道文件类型,请设置pFileInfo. format为文件类型,设置pFileInfo。指向FILEINFO_FORMATVALID的标志。如果之前已经调用了L_FileInfo,但是影响加载图像大小的值已经改变(例如,通过调用L_SetPCDResolution或L_SetWMFResolution),也可以这样做。在这种情况下,pFileInfo指向的FILEINFO结构将被L_FileInfo的结果更新。

如果在调用此函数之前调用了L_FileInfo,并且没有对L_FileInfo填充的结构的内容进行任何更改,则可以将填充的FILEINFO结构的地址传递给该参数。在本例中,FILEINFO。Flags成员应该设置为FILEINFO_INFOVALID。L_FileInfo函数将设置FILEINFO。指向FILEINFO_INFOVALID的标志。在这种情况下,加载会更快,因为这个函数不需要查询文件类型的文件过滤器。

请注意:局部变量没有初始化(因为它们被放置在堆栈上)。因此,如果你有一个FILEINFO结构作为一个局部变量,它的Flags参数的值是未定义的,可能设置了FILEINFO_INFOVALID或FILEINFO_FORMATVALID。这就是初始化FILEINFO很重要的原因。在将FILEINFO结构的地址传递给函数之前。

返回

价值 意义
成功 活动很成功。
< 1 发生错误。指返回代码

评论

如果转换为较低的每像素位数格式,此函数将自动优化颜色。例如,当将一个24位文件(1600万种颜色)转换为8位文件(256种颜色)时,该函数选择最好的256种颜色来表示24位图像。

L_FileConvert是一个高级函数,它执行从所有可能格式到所有可能格式的转换。

若要在执行此函数期间更新状态栏或检测用户中断,请参阅L_SetStatusCallback

请注意:你不应该传递一个未初始化的FILEINFO结构转换为此函数。

必需的dll和库

平台

Win32, x64, Linux。

另请参阅

功能

主题

例子

完整的示例代码请参考DEMO示例的FRAME.C模块。
这个示例将LEAD CMP文件转换为Windows BMP文件

L_INT FileConvertExample (L_VOID)L_INT nRet;nRet = L_FileConvert(MAKE_IMAGE_PATH(“ImageProcessingDemo \ \ Image3.cmp”)),/*输入文件*/MAKE_IMAGE_PATH(文本(“TEST.BMP”)),/*输出文件*/FILE_BMP,/* Windows BMP文件输出*/0,/*保持相同的宽度*/0,/*保持相同的高度*/8日,/*每像素8位*/0,/*没有使用BMP的质量因子*/空,空,空);如果(nRet != SUCCESS)返回nRet;返回成功;

栅格成像C API帮助
188金宝搏的网址客服|支持|联系我们|知识产权公告
©1991 - 2023领德科技有限公司版权所有。