L_Jp2ExtractFramesBufferMemory

# include“l_bitmap.h”

L_LTJP2_APIL_INTEXT_FUNCTIONL_Jp2ExtractFramesBufferMemory (hJp2, pbuf uBufferSize、lpBuffer puBufferSize, puFrames, uNumOfFrames)

提取指定的帧puFrames从JPEG 2000文件在内存中并将它们保存到一个新的JPEG 2000文件中函数分配的内存缓冲区中只包含直接提取的帧头和频率不是通过减压/压缩过程。

参数

L_HJP2hJp2

这是由JPEG 2000引擎处理L_Jp2Create函数。

L_UINT8* pbuf

指针JPEG 2000文件在内存中提取帧。

L_SIZE_TuBufferSize

在内存的大小(以字节为单位)。

L_UINT8* * lpBuffer

指向指针的指针被更新的字节数组,包含一个JPEG 2000文件中提取帧。你必须免费这个缓冲区通过调用Windows GlobalFree()函数。

L_SIZE_T* puBufferSize

一个变量的地址更新字节的内存缓冲区的大小。

L_UINT32* puFrames

的无符号整数数组指定的指标从输入JPEG 2000帧中提取文件。所有应当基于指数。如果任何帧索引函数将返回ERROR_INV_PARAMETER的帧数。

L_UINT32uNumOfFrames

提取的帧数。这个字段指定的大小puFrames数组中。

返回

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

评论

L_Jp2ExtractFramesBufferMemory提取指定的帧从JPEG 2000文件在内存中并将它们保存到一个新的JPEG 2000文件中函数分配的内存缓冲区中只包含直接提取的帧头和频率不是通过减压/压缩过程因此节省处理器时间和内存。这个函数是非常合适的服务器应用程序在多个客户端请求特定的帧而不是压缩的JPEG 2000文件然后压缩帧这个函数只复制所需的帧数据生成和保存数据到一个新的JPEG 2000文件在内存缓冲区。

必需的dll和库

平台

x64 Win32。

另请参阅

功能

主题

例子

这个例子从JPX提取框架文件。

L_INT Jp2ExtractFramesBufferMemoryExample (L_UINT8 * pFileBuffer L_SIZE_T uFileSize, L_UINT8 * * lpFrameBuffer, L_SIZE_T * puFrameSize){L_HJP2 hEngine;L_JP2_FILEINFO Jp2FileInfo;L_UINT32 puFrames [1];* lpFrameBuffer =零;* puFrameSize = 0;/ *创建JPEG 2000引擎处理* /hEngine = L_Jp2Create ();Jp2FileInfo。uStructSize =运算符(L_JP2_FILEINFO);L_Jp2GetFileInfoMemory (hEngine pFileBuffer、uFileSize &Jp2FileInfo);* / / *提取第二帧puFrames [0] = 0;L_Jp2ExtractFramesBufferMemory (hEngine、pFileBuffer uFileSize、lpFrameBuffer puFrameSize, puFrames, 1);/ * * /免费的文件信息结构L_Jp2FreeFileInfo (hEngine &Jp2FileInfo);* / / *破坏引擎处理L_Jp2Destroy (hEngine);返回成功;}

LEADTOOLS光栅成像C API的帮助