类型定义结构体_SAVEFILEOPTION
{
L_UINTuStructSize;
L_INTReserved1;
L_INTReserved2;
L_UINT国旗;
L_INT通过;
L_INTPageNumber;
L_INTGlobalWidth;
L_INTGlobalHeight;
L_UINTGlobalLoop;
L_COLORREFGlobalBackground;
L_RGBQUADGlobalPalette [256];
L_UINTStampWidth;
L_UINTStampHeight;
L_UINTStampBits
L_IFDTYPEIFD;
L_TCHARszPassword [255];
PHOTMTRICINTERPPhotometricInterpretation;
L_UINTTileWidth;
L_UINTTileHeight;
L_UINTFlags2;
} SAVEFILEOPTION, * pSAVEFILEOPTION;
的SAVEFILEOPTION结构指定用于写入映像文件的额外选项。看到L_GetDefaultSaveFileOption有关默认保存选项的信息。
的大小SAVEFILEOPTION结构。这应该是sizeof(SAVEFILEOPTION)。请确保填充该成员。
保留以备将来使用。通过0。
保留以备将来使用。通过0。
下列标志之一。(使用位或指定多个值。)另请参阅Flags2成员用于其他标志。
价值 | 意义 |
---|---|
ESO_REVERSEBITS | [0x00000001]当写入CCITT组3和组4文件和RAW未压缩数据时,反转位顺序,使最低有效位(LSB)在前面。 |
ESO_NOSUBFILETYPE | [0x00000002]在写入任何TIFF文件时阻止写入子文件类型TIFF标记。 |
ESO_GLOBALBACKGROUND | [0x00000004]使用GlobalBackground字段指定的全局背景色保存GIF文件。 |
ESO_GLOBALPALETTE | [0x00000008]使用GlobalPalette字段指定的全局调色板保存GIF文件。 |
ESO_INTERLACED | [0x00000010]将GIF文件保存为隔行文件。 |
ESO_GLOBALLOOP | [0x00000020]在加载动画文件时启用循环。要使用GlobalLoop字段,该标志必须打开。 |
ESO_NOPALETTE | [0x00000040]将TIFF或PNG文件保存为灰度,不带调色板。 |
ESO_SAVEWITHSTAMP | [0x00000080]使CMP、JPEG或Exif文件除正常图像外,还保存一个戳(缩略图)。 |
ESO_FIXEDPALETTESTAMP | [0x00000100]使用固定的调色板保存CMP或JPEG戳图像。 |
ESO_YCCSTAMP | [0x00000200]使用YCbCr颜色空间保存Exif邮票图像。 |
ESO_REPLACEPAGE | [0x00000400]替换PageNumber指定的页面。 |
ESO_INSERTPAGE | [0x00000800]将新页面插入到PageNumber指定的页面之前。 |
ESO_JPEGSTAMP | [0x00001000]保存JPEG压缩邮票。 |
ESO_DISABLEMMX | [0x00002000]不要使用MMX优化代码。 |
ESO_SAVEOLDJTIF | [0x00004000]写入旧样式的JTIF文件。 |
ESO_NOPAGENUMBER | [0x00008000]不要更新和保存与多页TIFF文件的页相关联的PageNumber标记。 |
ESO_DISABLEP3 | [0x00010000]不要使用p3特定的优化代码。 |
ESO_USEIFD | [0x00020000]使用IFD偏移量。 |
ESO_MOTOROLAORDER | [0x00040000]尽可能以摩托罗拉字节顺序保存文件。 |
ESO_WITHOUTTIMESTAMP | [0x00080000]保存没有时间戳的文件。 |
ESO_PDF_TEXT_ENCODING_NONE | [0x00000000]图像数据不使用文本编码。 |
ESO_PDF_TEXT_ENCODING_ASCII_BASE85 | [0x00100000] PDF,图像数据使用ASCII BASE 85文本编码。 |
ESO_PDF_TEXT_ENCODING_ASCII_HEX | [0x00200000] PDF, ASCII HEX文本编码用于图像数据。 |
ESO_PDF_ENCODING_MASK | [0x00300000]标志的掩码用于PDF文本编码。 |
ESO_PDF_SAVE_USE_BITMAP_DPI | [0x01000000]保存PDF文件时使用位图DPI计算页面尺寸。 |
ESO_PAD4 | [0x00400000]将每一行填充为4字节的倍数。(仅提供原始数据)。 |
ESO_PLT_BEZIER_CURVES | [0x00800000] PLT filter应该保存bezier曲线。 |
ESO_PDF_SAVE_USE_BITMAP_DPI | [0x01000000]保存PDF文件时使用位图DPI计算页面尺寸。 |
ESO_PHOTOMETRICINTERPRETATIONVALID | [0x02000000]保存TIFF文件时使用PhotometricInterpretation。 |
ESO_TILEINFOVALID | [0x04000000]保存TIFF文件时使用TileWidth和TileHeight成员。 |
ESO_USEDITHERINGMETHOD | [0x08000000]使用BITMAPHANDLE中的DitheringMethod。 |
ESO_PRESERVEPALETTE | [0x10000000]保存TIFF CCITT文件时保留面板(可能会降低压缩比)。 |
ESO_PDF_SAVE_LOW_MEMORY_USAGE | [0x20000000]在创建JPEG或传真压缩的PDF文件时尝试使用更少的内存。 |
ESO_GENERATEGLOBALPALETTE | [0x40000000]保存GIF文件时生成全局调色板。 |
ESO_USEPREDICTOR | [0x80000000]保存LZW数据时使用预测器。这是针对8 bpp或以上的TIF LZW或原始LZW数据。如果LZW数据小于8 bpp,该标志将被忽略。 |
保存JPEG或LEAD CMP文件时的传递次数(扫描图像)。(保存交错的PNG文件时不使用此值。)
价值 | 意义 |
---|---|
任何正数 | 将文件保存为具有指定次数的递进文件。 |
0 | 将文件保存为普通的JPEG或LEAD CMP文件(而不是累进文件)。 |
任何负数 | 将文件保存为具有LEADTOOLS默认次数的累进文件。 |
价值 | 意义 |
---|---|
0 | 用固定的霍夫曼表保存文件(保存更快,压缩更低)。 |
< > 0 | 保存文件与优化霍夫曼表(2-pass压缩,较低的速度,较高的压缩)。 |
多页文件的页码,该文件可以包含多张图像。保存文件时,任何大于1的值都会导致页面被追加到文件末尾。有关多页文件的更多信息,请参阅多页文件格式.
多页GIF文件中图像的宽度。
多页GIF文件中图像的高度。
播放动画时的循环计数。使用0表示连续循环。如果没有循环,请关闭Flags字段中的ESO_GLOBALLOOP标志。
多页GIF文件中图像的背景色。该字段仅在Flags字段中设置了ESO_GLOBALBACKGROUND标志时使用。指定一个COLORREF值,例如Windows RGB宏的返回值,或使用PALETTEINDEX宏指定调色板颜色。
调色板用于多页GIF文件中的图像。该字段仅在Flags字段中设置了ESO_GLOBALPALETTE标志时使用。
要保存的邮票图像的宽度(以像素为单位)。只有在Flags字段中设置了ESO_SAVEWITHSTAMP标志,才会保存一个邮票。
要保存的邮票图像的高度(以像素为单位)。只有在Flags字段中设置了ESO_SAVEWITHSTAMP标志,才会保存一个邮票。
要保存的邮票图像的每像素位数。只有在Flags字段中设置了ESO_SAVEWITHSTAMP标志,才会保存一个邮票。
页开始位置的TIFF文件中的偏移量。这作为将页面保存到大型TIFF文件的参考页。根据TIFF规范,第一个IFD的最小值为8。
保存加密文件的密码。
(仅限TIFF)应保存在文件中的光度解释,而不是常规值。仅当设置了ESO_PHOTOMETRICINTERPRETATIONVALID时使用。
保存TIFF文件时使用的平铺的宽度。该值以像素为单位。仅当设置了ESO_TILEINFOVALID时使用。如果需要,可以稍微修改这个值。有关模式的详细信息,请参阅下面的说明。
保存TIFF文件时使用的平铺的高度。该值以像素为单位。仅当设置了ESO_TILEINFOVALID时使用。如果需要,可以稍微修改这个值。有关模式的详细信息,请参阅下面的说明。
下列任何标志(使用位或指定多个值。)另请参阅旗帜成员用于其他标志。
价值 | 意义 |
---|---|
ESO2_NITF | [0x00000001]保存与NITF要求兼容的文件。此标志在内部使用。 |
ESO2_SAVEPLANAR | [0x00000002]将TIF CMYK图像保存为平面(而不是块状)。 |
ESO2_NOLZWAUTOCLEAR | [0x00000004] LZW压缩时不要自动插入CLEAR码。 |
ESO2_ALPHAINIT | [0x00000010]将32位或64位彩色图像的alpha通道初始化为所有的alpha通道(8位alpha通道为0xFF, 16位alpha通道为0xFFFF)。如果没有这个标志,创建的alpha通道将初始化为0。 |
ESO2_XPS_SAVE_USE_BITMAP_DPI | [0x00000080]保存XPS文件时使用位图DPI计算页面尺寸。 |
ESO2_PDFA_PROFILE | [0x00000100]保存为PDF时,将PDF文件保存为PDF/A格式。 |
ESO2_PDF_V13 | [0x00004000]保存为PDF时,将PDF文件保存为PDF v1.3。 |
ESO2_PDF_V14 | [0x00000200]保存为PDF时,将PDF文件保存为PDF v1.4。 |
ESO2_PDF_V15 | [0x00000400]保存为PDF时,将PDF文件保存为PDF v1.5。 |
ESO2_PDF_V16 | [0x00002000]保存为PDF时,将PDF文件保存为PDF v1.6。 |
ESO2_PDF_V17 | [0x00008000]保存为PDF时,将PDF文件保存为PDF v1.7。 |
ESO2_ENDWITH3EOL | [0x00000800]结束用3个EOL(00 01 00 01 00 01)代替EOL EOFB(00 01 00 10 01)传真G3 (1D/2D)文件。 |
ESO2_OPTIMIZEDHUFFMAN | [0x00001000]保存带有优化霍夫曼表的JPEG文件。 |
ESO2_NOGRAYCONVERT | [0x00010000]保存为JPX时,保存12/16位灰度数据,可处理LowBit, HighBit等 |
ESO2_BIGTIFF | [0x00020000]使用BigTiff格式保存TIFF文件,允许TIFF文件超过4GB。 |
ESO2_PDF_LINEARIZED | [0x00080000]保存线性化的PDF文件(web优化)。 |
pSAVEFILEOPTION指向SAVEFILEOPTION结构。其中函数参数类型为pSAVEFILEOPTION,声明一个SAVEFILEOPTION变量,更新结构的字段,并在参数中传递变量的地址。只有在程序需要指针时才需要声明pSAVEFILEOPTION变量。
保存邮票图像适用于以下格式:LEAD、JFIF、LEAD2JFIF、LEAD1JFIF、FILE_EXIF、FILE_EXIF_YCC和FILE_EXIF_JPEG。有关简短描述,请参阅文件格式:JPEG和铅压缩(JPG, J2K, JP2, JPM, CMP和CMW).
在FILE_EXIF或FILE_EXIF_YCC文件中保存戳记图像时,戳记将作为多页文件的第二页追加。
在Exif JPG文件中保存邮票图像时,邮票大小限制为160x120x24。类的StampWidth、StampHeight和StampBits成员在保存Exif文件时SAVEFILEOPTION结构将被忽略,160 (StampWidth), 120 (StampHeight)和24 (StampBits)将被使用。这一限制是为了符合日本数码相机制造商实施的ExifR98互操作性规则。如果超过了这些大小限制中的任何一个,save函数将返回一个错误(ERROR_INVALID_STAMP_SIZE)。
当使用未压缩(TIFF) Exif文件时,邮票大小为(宽x高x 24 bpp),没有宽度和高度限制。
在LEAD、JFIF、LEAD2JFIF或LEAD1JFIF文件中保存戳记图像时,戳记的宽度和高度都不能超过255像素。此外,还适用以下总体大小限制:
(宽*高)+ 778。
(宽*高* 3)+ 10。
如果超过了这些大小限制中的任何一个,save函数将返回一个错误(ERROR_INV_RANGE)。
要加载邮票图像,请使用L_ReadFileStamp函数。
笔记:
如果SAVEFILE_MULTIPAGE被传递给L_SaveFile,它优先于ESO_REPLACEPAGE或ESO_INSERTPAGE。
如果设置了ESO_JPEGSTAMP,那么保存在Exif JPEG文件中的戳记将被JPEG压缩。保存在未压缩的Exif TIFF文件中的戳记不能被jpeg压缩。只能是RGB或YCbCr。
默认情况下,没有设置ESO_NOPAGENUMBER。因此,所有TIFF文件都使用更新后的PageNumber标记保存。这是类f兼容性所必需的。
当LEADTOOLS保存TIFF文件并写入PageNumber标记时,它必须在追加、插入或删除页面时进行额外的处理,如下所示:
这些更新通常只需要很短的时间。但是,当将页面插入到包含数千张图像的TIFF文件中时,这些更新可能会很耗时。在这种情况下,可以通过禁用此功能来获得一些速度。
如果设置了ESO_NOPAGENUMBER,那么L_DeletePage将不会更新任何页面的PageNumber标记。
如果没有设置ESO_NOPAGENUMBER,那么LEADTOOLS将写入PageNumber标记,因此不要调用L_SetTag设置此标签(标签297)。
当保存RAW未压缩数据时,可以通过传递ESO_REVERSEBITS标志来反转每个字节中的位。此外,可以通过传递ESO_PAD4标志对每一行数据进行填充,使其长度为四个字节的倍数。方法可将原始数据保存在文件中的任意偏移位置L_SaveFileOffset函数。
平铺TIFF图像
注意:有关更快地加载和保存大型TIFF文件的更多信息,请参阅加载和保存大TIFF/BigTIFF文件。
保存TIFF文件时,可以控制保存在文件中的磁贴或条带的大小。
一些图形包不能加载TIFF文件,除非文件保存为特定的平铺或条带大小。LEADTOOLS可以加载任何条带和平铺大小的文件,因此在保存将使用LEADTOOLS加载的文件时,不需要修改这些设置。
如果未设置ESO_TILEINFOVALID,则TileWidth而且TileHeight委员会成员SAVEFILEOPTION结构被忽略。在这种情况下,位图将像在以前版本的LEADTOOLS中一样保存。
如果TileWidth小于或等于位图宽度,则位图将保存为磁贴。如果TileWidth大于位图宽度,则位图将保存为条带。
如果位图保存为磁贴,TileHeight控制瓷砖的高度。
如果位图保存为条带,TileHeight控制条带的高度。通过设置,可以将图像保存为一条带TileHeight到大于或等于位图高度的值。
某些压缩(如JPEG或CMP)对保存文件时使用的磁贴的大小有限制。例如,JPEG压缩要求瓷砖宽度和高度是8或16的倍数,这取决于所选择的子采样。对于这样的文件,指定一个特定的块大小(通过设置ESO_TILEINFOVALID和TileWidth和TileHeight),请求的块大小可能会更新到最近的可接受的块大小。
请注意:当使用Flags和Flags2成员时,注意不要混淆Flags的位置。所有的EXO_XXX标志都应该在flags成员中设置,而ESO2_XXX标志应该在Flags2成员中设置。
在保存TIFF LZW文件时,可以使用ESO2_NOLZWAUTOCLEAR来保存与一些有bug的LZW解码器兼容的文件,这些解码器不能处理早期的CLEAR代码。一些IBM解码器已知有这个问题。除非设置了这个标志,否则它们不会解码LEAD TIFF LZW文件。默认情况下没有设置该标志,它允许LEADTOOLS插入CLEAR LZW代码,并在压缩比不够时重置LZW压缩引擎。
IFD补偿
类的IFD成员来传递IFD偏移量时,由于技术原因,适用于以下限制SAVEFILEOPTION结构和PageNumber设置为1:
但是,可以向指定IFD后面的IFD添加标记、注释或geokey(例如,如果PageNumber为>= 2)。也可以替换或删除指定IFD后面的页面,并在该IFD后面插入一个页面。
如果设置了ESO2_BIGTIFF标志,则保存的文件或页面将使用带有64位文件偏移量的BigTIFF格式,而不是常规TIFF文件使用的32位文件偏移量。传递给保存函数的格式决定使用哪种压缩和颜色空间。例如,如果在使用FILE_TIF_J2K格式时,保存的文件或页面将使用J2K压缩,但是使用BigTIFF文件格式而不是TIFF文件格式。BigTIFF文件格式不太常见,但可用于保存> 4GB的文件。
TIFF和BigTIFF页面不能混合在同一个文件中。例如,只能将TIFF页附加到TIFF文件,将BigTIFF页附加到BigTIFF文件格式。尝试将TIFF页面追加/插入BigTIFF文件或反之亦然,将生成ERROR_FORMAT_MISMATCH错误。
要确定一个文件是TIFF还是BigTIFF,调用L_FileInfo函数并检查FILEINFO.Flags中是否设置了FILEINFO_BIGTIFF标志。
该结构可用于以下函数:
帮助收藏
光栅net|C API|c++类库|HTML5 JavaScript
文档net|C API|c++类库|HTML5 JavaScript
医疗net|C API|c++类库|HTML5 JavaScript
医疗网络查看器net
188宝金博怎么下载
支持的平台上
.NET、Java、Android和iOS/macOS程序集
C API/ c++类库
HTML5 JavaScript库
您的邮件已发送给技术支持!应该有人联系!如果你的事情很紧急,请回来聊天。
聊天时间:
周一至周五,美国东部时间上午8:30至下午6:00
感谢您的反馈!
请再次填写表格,开始新的聊天。
所有代理目前都离线。
聊天时间:
星期一至星期五
美国东部时间上午8:30 -下午6点
如需与我们联系,请填写此表格,我们将通过电子邮件与您联系。