# include“l_bitmap.h”
L_LTIMGOPT_APIL_INTL_OptOptimizeDir (pszOrgDirPath、pszOptDirPath pOptImgOptions、pszFilesExt bIncludeSubDirs, pfnOptImgDirCB, pUserData)
优化图片的目录使用指定的优化选择,并保存优化图像与相同层次结构的一个新目录。
字符串包含完整路径的目录图片优化支持。
字符串包含完整路径目录来保存图像(s)进行了优化。
指针指向一个OPTIMIZEIMAGEOPTIONS包含选项用于结构优化。通过零使用默认的优化选项。
指针指向一个字符串,其中包含文件的扩展优化。这是一个空字符串,可以终止MAX_PATH的最大长度。例如:
优化所有“gif”和“jpeg文件,pszFilesExt应该设置为“gif;jpeg”。
优化中发现所有的支持文件pszOrgDirPath
目录,不管他们的扩展,pszFilesExt应该设置为“。”。
国旗表明优化时是否包括子目录。可能的值是:
价值 | 意义 |
---|---|
真正的 | 当优化包括子目录。 |
假 | 优化时排除子目录。 |
可选的回调函数进行额外的处理。
如果你不提供一个回调函数,使用NULL作为该参数的值。
如果你提供一个回调函数,使用函数指针作为该参数的值。
回调函数必须遵守所描述的函数原型OPTIMIZEIMAGEDIRCALLBACK函数。
空指针,您可以使用它通过一个或多个回调函数需要额外的参数。
要使用该功能,赋值给一个变量或创建一个结构,其中包含你需要的尽可能多的领域。然后,在这个参数,通过变量的地址或结构,铸造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);/ * * /用户数据
}
帮助收藏
光栅net|C API|c++类库|HTML5 JavaScript
文档net|C API|c++类库|HTML5 JavaScript
医疗net|C API|c++类库|HTML5 JavaScript
医疗Web查看器net
188宝金博怎么下载
支持的平台上
net, Java, Android和iOS / macOS组件
C / c++类库的API
HTML5 JavaScript库
你的邮件已经发送到支持!有人应该联系!如果你的问题是紧急请回到聊天。
聊天时间:
周一——周五,上午6点等
谢谢你的反馈!
请填写表单重新开始一个新的聊天。
所有代理目前离线。
聊天时间:
周一-周五
早上8:30 - 6点
联系我们请填写这张表格,我们将通过电子邮件联系你。