L_Jp2ExtractFramesBuffer

# include“l_bitmap.h”

L_LTJP2_APIL_INTEXT_FUNCTIONL_Jp2ExtractFramesBuffer(hJp2, pInFileName, lpBuffer, puBufferSize, puFrames, uNumOfFrames)

提取指定的帧puFrames从输入文件中保存到一个新的JPEG 2000文件中,该文件由函数分配的内存缓冲区只包含提取的帧、报头和代码流,而不通过解压缩/压缩过程。

参数

L_HJP2hJp2

创建的jpeg2000引擎句柄L_Jp2Create函数。

L_TCHAR* pInFileName

字符串,包含要从中提取帧的jpeg2000文件的名称。

L_UCHAR* * lpBuffer

指向要用字节数组更新的指针的指针,其中包含只提取了帧的jpeg2000文件。你必须通过调用Windows GlobalFree()函数来释放这个缓冲区。

L_SIZE_T* puBufferSize

要用内存缓冲区的大小(以字节为单位)更新的变量的地址。

L_UINT32* puFrames

无符号整数数组指定要从输入JPEG 2000文件中提取的帧的索引。所有指标应以0为基础。如果任何帧索引超出了帧数,函数将返回ERROR_INV_PARAMETER。

L_UINT32uNumOfFrames

要提取的帧数。的大小puFrames数组中。

返回

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

评论

L_Jp2ExtractFramesBuffer从输入文件中提取指定的帧,并将它们保存到一个新的JPEG 2000文件中,该文件由函数分配的内存缓冲区只包含提取的帧头和代码流,而不通过解压缩/压缩过程,因此它节省处理器时间和内存。此函数非常适用于服务器应用程序,其中多个客户端请求一个jpeg2000文件的特定帧,因此,与其解压然后压缩帧,此函数只复制所需的帧数据来生成它们,并将数据保存到内存缓冲区中的一个新的jpeg2000文件中。

所需的dll和库

平台

x64 Win32。

另请参阅

功能

主题

例子

这个例子从jpeg文件中提取一个帧。

(L_UINT8** lpOutBuffer, L_SIZE_T * puSize)L_HJP2 hEngine;L_JP2_FILEINFO Jp2FileInfo;L_UINT32 puFrames [1];* lpOutBuffer =零;* puSize = 0;/*创建JPEG 2000引擎句柄*/hEngine = L_Jp2Create ();Jp2FileInfo。uStructSize =运算符(L_JP2_FILEINFO);L_Jp2GetFileInfo (hEngine MAKE_IMAGE_PATH(文本(“image1.jpx”)), &Jp2FileInfo);如果(Jp2FileInfo。uNumOfFrames< 2)返回0;/*提取第二帧puFrames [0] = 1;L_Jp2ExtractFramesBuffer (hEngine MAKE_IMAGE_PATH(文本(“image1.jpx”)), lpOutBuffer, puSize, puFrames, 1);/*空闲文件信息结构*/L_Jp2FreeFileInfo (hEngine &Jp2FileInfo);* / / *破坏引擎处理L_Jp2Destroy (hEngine);返回成功;

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