# include“l_bitmap.h”
L_LTFIL_APIL_INTL_SaveFile (pszFile、pBitmap nFormat、nBitsPerPixel nQFactor, uFlags, pfnCallback, pUserData, pSaveOptions)
创建了一个文件在任何支持的压缩和未压缩格式,使用您的回调函数的输入数据供应。
字符串包含图像文件的名称保存。
位图句柄指针描述数据保存。位图句柄可以包含实际的数据,但是不需要,因为你的回调函数可以提供数据。
然而,位图句柄必须包含以下字段的值:宽度、高度,BitsPerPixel, BytesPerLine, nColors, ViewPerspective,秩序,DitheringMethod。(BytesPerLine值必须是4的倍数)。
输出文件格式。有效值,请参考文件包含在您的应用程序。
生成的文件的像素的深度。注意,并非所有比特每像素可用于所有文件格式。有效值,请参考文件包含在您的应用程序。如果nBitsPerPixel为0,该文件将存储使用衣柜BitsPerPixel价值支持的格式。例如,如果一个文件格式支持1,4,和24 BitsPerPixel,pBitmap
- > BitsPerPixel是5,该文件将存储为24位。同样,如果pBitmap - > BitsPerPixel是2,文件将存储为4位。
这个参数时使用一个图像保存到文件格式,支持品质因数(QFactor)。QFactor是一个数决定压缩过程中损失的程度。
为可能的值,请参考压缩质量的因素。
二进制信号,确定L_SaveFile的行为。您可以指定以下值之一:
价值 | 意义 |
---|---|
SAVEFILE_FIXEDPALETTE | [0 x0001]的函数使用固定的调色板图像保存为8位/像素或更少。 |
SAVEFILE_OPTIMIZEDPALETTE | [0 x0002]函数使用个人形象的优化的调色板图像保存为8位/像素或更少。优化面板必须包括位图的句柄。 |
SAVEFILE_MULTIPAGE | [0 x0004]函数保存图像在多页文件。它附加文件中的最后一个形象。您可以保存多页图像图形文件,GIF,大多数TIFF文件格式(包括JTIF,但不包括EXIF)。 |
SAVEFILE_GRAYOUTPUT | [0 x0008]函数保存图像灰度。 |
可选的回调函数进行额外的处理。
如果你不提供一个回调函数,使用NULL作为该参数的值。
如果你提供一个回调函数,使用函数指针作为该参数的值。
回调函数必须遵守语法中描述FILESAVECALLBACK函数。
空指针,您可以使用它通过一个或多个回调函数需要额外的参数。
要使用该功能,赋值给一个变量或创建一个结构,其中包含你需要的尽可能多的领域。然后在这个参数,通过变量的地址或结构,铸件L_VOID*。回调函数,接收地址的pUserData参数,可以把它适当的数据类型的指针来访问变量或结构。如果不需要额外的参数,该参数可以传递NULL。
指针可选的扩展保存选项。通过零使用默认的保存选项。
价值 | 意义 |
---|---|
成功 | 函数是成功的。 |
< 1 | 一个错误发生。指返回代码。 |
如果您提供一个回调函数,它必须提供图像数据。它还可以做其他有用的事,比如更新状态栏。
如果你不提供一个回调函数,这个函数从指定的位图保存数据。
如果你使用一个回调并保存位图作为MacPaint (MAC)文件,图片被保存576年必须有一个宽度和一个高度720(所需的维度的格式)。
支持12和16位灰度图像仅仅是可用的文档和医疗成像工具包。
笔记:
更多的选项可用SAVEFILEOPTION结构。
如果SAVE_MULTIPAGE传入uFlags
这优先于SAVEFILEOPTION ESO_REPLACEPAGE或ESO_INSERTPAGE旗帜。
信息加载和保存大型TIFF文件更快,请参考大型TIFF / BigTIFF文件加载和保存。
这个函数支持签名数据图像,但只有DICOM和TIFF格式支持签名数据。这个函数将返回一个错误,如果你试图拯救一个签署了非DICOM格式或TIFF图像。
的信息保存位图窗口夷为平地,请参考储蓄Window-Leveled位图。
如果位图有一个地区,该地区存储位图将被保存,如果图像保存的TIFF文件格式。
你可以将一个文件格式转换成另一个当你保存一个文件。您还可以使用高级功能,L_FileConvert,将任何可能的格式转换成任何其他可能的格式。
LEADTOOLS版本17,在保存一个彩色图像时(比如每像素24位映像)双调的(每像素比特),工具箱将不会使用任何转换图像数据时犹豫不决。这样做是因为犹豫不决不推荐当转换彩色图像包含文本文档处理如OCR和条形码。结果文本将模糊,很难识别引擎的过程。保存与Floyd-Stein双调的彩色图像抖动(LEADTOOLS 16.5和更早的行为)使用ESO_USEDITHERINGMETHOD BITMAPHANDLE。DitheringMethod,如下图所示:
/ /“pBitmap”是一个彩色BITMAPHANDLE
/ /设置FloydStein抖动:
bitmapHandle。DitheringMethod = FLOYD_STEIN_DITHERING;
SAVEFILEOPTION saveOptions = {0};
L_GetDefaultSaveFileOption(其运算符(SAVEFILEOPTION));
其。旗帜| = ESO_USEDITHERINGMETHOD;
/ /保存位图与auto-dithering 1-bpp:
L_SaveBitmap(文件名,&bitmapHandle FILE_CCITT_GROUP4 1 0 saveoptions);
/ /或任何其他L_SaveBitmapXyz或L_SaveFileXyz等功能:
/ / L_SaveFile(文件名,&bitmapHandle FILE_CCITT_GROUP4 1 0 0,空,空,其)
NITF文件包含光栅和non-raster数据所以NITF文件使用标准光栅库不能得救。使用单独的NITF库创建和保存NITF文件。
必需的dll和库
Win32 x64, Linux。
为完整的示例代码,参考SAVECB
的例子。
这个示例使用L_SaveFile提供图像数据的一个回调函数。
指FILESAVECALLBACK函数回调函数如何供应
图像数据。
L_INT EXT_CALLBACK SaveImageCB (pBITMAPHANDLE pBitmap,
L_UCHAR * pbuf,
L_UINT nRowBegin,
L_UINT nRowsToGet,
L_VOID * pUserData);
L_INT SaveFileExample(实例句柄hInst, / *当前应用程序的实例,设置的InitInstance函数* /
pBITMAPHANDLE LeadBitmap)
{
L_INT nRet;/ *返回价值* /
L_TCHAR szMessage [80];/ *缓冲为对话框字符串* /
UNREFERENCED_PARAMETER (hInst);
/ *设置抖动的方法为保存* /
LeadBitmap - > DitheringMethod = FLOYD_STEIN_DITHERING;
/ *保存文件作为一个8位Windows BMP文件固定面板* /
/ *设置回调函数为L_SaveFile函数。* /
nRet = L_SaveFile (MAKE_IMAGE_PATH(文本(“TEST2.BMP”)),
LeadBitmap,
FILE_BMP 8 0,
SAVEFILE_FIXEDPALETTE,
SaveImageCB,
空,
零);
/ *通知用户提供一个消息框* /
如果(nRet = =成功)
{
对话框(NULL,文本(“文件保存”),文本(“通知”),MB_OK);
}
其他的
{
wsprintf (szMessage文本(“错误% d保存文件”),nRet);
对话框(NULL, szMessage文本(“错误”),MB_OK);
返回nRet;
}
返回成功;
}
帮助收藏
光栅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点
联系我们请填写这张表格,我们将通过电子邮件联系你。