# include“l_bitmap.h”
L_LTJP2_APIL_INTEXT_FUNCTIONL_Jp2SaveComposite(hJp2, pszFile, pComposite, eFormat, nBitsPerPixel, nQFactor, pSaveOptions, pSaveCallBack, pUserData)
使用中提供的层信息,以任何受支持的jpeg2000文件格式创建文件pComposite。
控件创建的jpeg2000引擎句柄L_Jp2Create函数。
包含jpeg2000文件名称的字符串。
指向L_JP2_JPXCOMPOSITE结构,为所有要保存的层提供信息(颜色、不透明度、预不透明度和压缩)。
输出JPEG 2000文件格式。
结果文件像素深度。取值为:8、12、16、24、32、48、64和0。零[0]意味着每个位图将保存其每像素位值,如果该值等于可能的值之一(8,12,16,24,32,48或64)。如果它不是可能的值之一,它将返回:ERROR_J2K_UNSUPPORTED。
质量的因素。这个值决定了压缩过程中的损失程度。取值范围为0 ~ 255。零(0)表示无损压缩。1到255之间的值被解释为压缩比。
指向可选扩展保存选项的指针。传递NULL以使用默认的保存选项。
用于额外处理的可选回调函数。如果不提供回调函数,则传递NULL。如果提供回调函数,则使用函数指针作为该参数的值。回调函数必须遵循中描述的语法FILESAVECALLBACK。
可用于传递回调函数使用的一个或多个附加参数的空指针。要使用此特性,请为变量赋值或创建包含所需字段的结构。然后,在这个参数中,传递变量或结构的地址,将其强制转换为L_VOID *。回调函数在自己的pUserData形参中接收地址,可以将其转换为适当数据类型的指针以访问变量或结构。如果不需要其他参数,则传递NULL。
| 价值 | 意义 |
|---|---|
| 成功 | 活动很成功。 |
| < 1 | 发生错误。指返回代码。 |
L_Jp2SaveComposite使用中提供的层信息,以任何受支持的JPEG 2000文件格式创建一个文件pComposite。颜色位图必须在所有层中分配。如果没有分配任何颜色位图,函数将返回:ERROR_NO_BITMAP。所有的引擎盒都将被重置。JPEG 2000 part 1 (JP2)文件格式只支持一层。如果你在pComposite中设置了多个图层,只有第一层会被保存。另外,JPEG 2000 part 1 (JP2)文件格式不支持多个代码流,因此只会保存彩色位图。所有当前设置的引擎框也将保存在这个文件中。
必需的dll和库
x64 Win32。
这个例子以jpeg2000文件格式保存/加载复合位图
(L_UINT8 * pXMLData, L_SIZE_T uSize){L_HJP2 hEngine;L_INT nRet;L_UINT我;L_JP2_JPXCOMPOSITE复合;L_JP2_XML_BOX XMLBox;pL_JP2_MPEG7_BOX pMPEG7Box;L_UINT uNumOfMPEG7;/*创建JPEG 2000引擎句柄*/hEngine = L_Jp2Create();合成的。uStructSize =运算符(L_JP2_JPXCOMPOSITE);/*加载图像*/nRet = L_Jp2ReadComposite(hEngine,MAKE_IMAGE_PATH(TEXT(“image1.jpx”)),&合成,0,ORDER_BGR,NULL, NULL, NULL, NULL);如果(nRet != SUCCESS)返回nRet;/*读取MPEG7方框*/L_Jp2GetBoxes(hEngine, L_JPXB_MPEG7, (L_VOID**)&pMPEG7Box,&uNumOfMPEG7);/*重置所有引擎盒*/L_Jp2ResetBoxes (hEngine);/*设置JPX引擎盒*/如果(uNumOfMPEG7){L_Jp2SetBoxes (hEngine L_JPXB_MPEG7、pMPEG7Box uNumOfMPEG7);}/*设置码流压缩类型*/为(i = 0;i < Composite.uNumOfBitmaps;我+ +){Composite.pBitmaps[我]。eColorFormat = LEADJP2_J2K;Composite.pBitmaps[我]。eopaque format = LEADJP2_J2K;Composite.pBitmaps[我]。epreopaque format = LEADJP2_J2K;}/*创建XML框*/XMLBox。uStructSize =运算符(L_JP2_XML_BOX);XMLBox。pData = pXMLData;XMLBox。uDataSize = uSize;/*设置JPX引擎XML框*/L_Jp2SetBoxes (hEngine, L_JPXB_XML &XMLBox 1);/*保存图像在JPx格式* /nRet = L_Jp2SaveComposite(hEngine,MAKE_IMAGE_PATH(TEXT(“Test.jpx”)), &合成,LEADJP2_JPX, 24, 5,NULL, NULL, NULL);如果(nRet != SUCCESS)返回nRet;/*免费的MPEG7盒子*/如果(uNumOfMPEG7)L_Jp2FreeBoxes(hEngine, L_JPXB_MPEG7, pMPEG7Box, uNumOfMPEG7);/*摧毁引擎手柄*/L_Jp2Destroy (hEngine);/*免费的复合位图*/为(i = 0;i < Composite.uNumOfBitmaps;我+ +){如果(Composite.pBitmaps[我].ColorBitmap.Flags.Allocated)L_FreeBitmap (&Composite.pBitmaps[我].ColorBitmap);如果(Composite.pBitmaps[我].OpacityBitmap.Flags.Allocated)L_FreeBitmap (&Composite.pBitmaps[我].OpacityBitmap);如果(Composite.pBitmaps[我].PreOpacityBitmap.Flags.Allocated)L_FreeBitmap (&Composite.pBitmaps[我].PreOpacityBitmap);}/*自由复合结构*/L_Jp2FreeComposite (hEngine、复合);返回成功;}
帮助收藏
光栅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点
如需与我们联系,请填写此表格,我们将通过电子邮件与您联系。
