L_OptOptimizeDir

# include“l_bitmap.h”

L_LTIMGOPT_APIL_INTL_OptOptimizeDir (pszOrgDirPath、pszOptDirPath pOptImgOptions、pszFilesExt bIncludeSubDirs, pfnOptImgDirCB, pUserData)

优化图片的目录使用指定的优化选择,并保存优化图像与相同层次结构的一个新目录。

参数

L_TCHAR* pszOrgDirPath

字符串包含完整路径的目录图片优化支持。

L_TCHAR* pszOptDirPath

字符串包含完整路径目录来保存图像(s)进行了优化。

pOPTIMIZEIMAGEOPTIONSpOptImgOptions

指针指向一个OPTIMIZEIMAGEOPTIONS包含选项用于结构优化。通过零使用默认的优化选项。

L_TCHAR* pszFilesExt

指针指向一个字符串,其中包含文件的扩展优化。这是一个空字符串,可以终止MAX_PATH的最大长度。例如:

优化所有“gif”和“jpeg文件,pszFilesExt应该设置为“gif;jpeg”。

优化中发现所有的支持文件pszOrgDirPath目录,不管他们的扩展,pszFilesExt应该设置为“”。

L_BOOLbIncludeSubDirs

国旗表明优化时是否包括子目录。可能的值是:

价值 意义
真正的 当优化包括子目录。
优化时排除子目录。

OPTIMIZEIMAGEDIRCALLBACKpfnOptImgDirCB

可选的回调函数进行额外的处理。

回调函数必须遵守所描述的函数原型OPTIMIZEIMAGEDIRCALLBACK函数。

L_VOID* pUserData

空指针,您可以使用它通过一个或多个回调函数需要额外的参数。

要使用该功能,赋值给一个变量或创建一个结构,其中包含你需要的尽可能多的领域。然后,在这个参数,通过变量的地址或结构,铸造L_VOID *。回调函数,接收地址的pUserData参数,可以把它适当的数据类型的指针来访问变量或结构。

如果不需要额外的参数,该参数可以传递NULL。

返回

价值 意义
成功 函数是成功的。
< 1 一个错误发生。指返回代码

评论

这个函数查找所有的选择和支持文件pszOrgDirPath目录和使用的优化选项通过优化它们pOptImgOptions参数。然后它节省了优化后的图像pszOptDirPath目录中。

pszOrgDirPath和pszOptDirPath参数应该包含一个完整的路径,完成驱动的名字。pszOrgDirPath参数应该包含输入(原始)目录的完整路径,和pszOptDirPath参数应该包含的完整路径(优化)的输出目录。

这个函数不支持32位灰度图像。它返回错误代码ERROR_GRAY32_UNSUPPORTED如果一个32位的灰度图像是传递给这个函数。

必需的dll和库

平台

x64 Win32。

另请参阅

功能

主题

例子

这个例子将优化所有文件和扩展jpg, bmp和tmp

L_INT EXT_CALLBACK fnOptDirCB (pOPTIMIZEIMAGEDIRINFO pImgDirInfo,L_VOID * pUserData){UNREFERENCED_PARAMETER (pUserData);/ /检查是否pCBData vlid指针如果(pImgDirInfo){L_TCHAR buf [200];/ /消息缓冲区开关(pImgDirInfo - > nStatusCode){情况下成功:成功完成* / / *优化操作{对话框(NULL,文本(“操作成功完成”),文本(“优化”),MB_OK);}打破;情况下OPTIMIZE_DIR_PRE_OPTIMIZINGIMAGE:优化图片* / / *前{对话框(NULL,文本(“前优化图像”),文本(“注意”),MB_OK);如果((pImgDirInfo - > pFileInfo - >格式= = FILE_JPEG) | |(pImgDirInfo - > pFileInfo - >格式= = FILE_JPEG_411) | |(pImgDirInfo - > pFileInfo - >格式= = FILE_JPEG_422) | |(pImgDirInfo - > pFileInfo - >格式= = FILE_EXIF_JPEG_411) | |(pImgDirInfo - > pFileInfo - >格式= = FILE_EXIF_JPEG_422))pImgDirInfo - > pOptImgOptions - > JPEGColorSpace = JPEG_COLORSPACE_422;}打破;情况下OPTIMIZE_DIR_OPTIMIZINGIMAGE: / *优化…* /{静态inti = 1;/ /计数器优化文件/ /显示当前文件和总百分比wsprintf (buf文本(优化% s的“% d % % % s \ nfile % d % d”)、pImgDirInfo - > nFilePercent pImgDirInfo - > szOrgFileName, pImgDirInfo - > szOptFileName,我,pImgDirInfo - > nTotalFolderFilesCount);对话框(零、缓冲区、文本(“优化”),MB_OK);/ /如果nFilePercent = 100计数器增加1如果((pImgDirInfo - > nFilePercent = = 100) & & ((i + 1) < = pImgDirInfo - > nTotalFolderFilesCount))我+ +;}打破;默认的:{/ *用户报告错误* // *给用户只能够跳过当前图像或取消整个操作* /wsprintf (buf文本(“错误:% d -优化形象!\ n % s \ nPress可以跳过这个文件和优化下一个!”)、pImgDirInfo - > nStatusCode pImgDirInfo - > szOrgFileName);如果(对话框(零、缓冲区、文本(“错误”),MB_OKCANCEL | MB_ICONERROR) = = IDOK)返回(ERROR_OPT_SKIPIMAGE);其他的返回(ERROR_OPT_ABORT);}打破;}}返回成功;}L_INT OptOptimizeDirExample (pOPTIMIZEIMAGEOPTIONS pOptImgOptions,L_BOOL bIncludeSubDir,L_VOID * pUserData){返回L_OptOptimizeDir (MAKE_IMAGE_PATH(文本(”“)),/ *原始Dir优化。* /MAKE_IMAGE_PATH(文本(“OptimizedImages”)),/ *新Dir保存图像(s)进行了优化。* /pOptImgOptions, / *优化选择。* /文本(“* . jpg, bmp格式*”),/ *优化所有图片ext jpg, bmp和tmp。* /bIncludeSubDir, / *优化sub-dirs。* /fnOptDirCB, / *调* /pUserData);/ * * /用户数据}

LEADTOOLS光栅成像C API的帮助
188金宝搏的网址客服|支持|联系我们|知识产权的通知
©1991 - 2021领先的技术公司。保留所有权利。