L_EncodeABIC

# include“ltfil.h”

L_LTFIL_APIL_INTL_EncodeABIC(pInputData, nAlign, nWidth, nHeight, ppOutputData, pnLength, bBiLevel)

使用ABIC编码器压缩输入原始数据。

参数

L_UCHAR* pInputData

指向包含未压缩原始数据的缓冲区的指针。

L_INTnAlign

用于对齐指向的未压缩原始数据的字节数pInputData

L_INTnWidth

未压缩原始数据图像的宽度,以像素为单位。

L_INTnHeight

未压缩原始数据图像的高度,以像素为单位。

L_UCHAR* * ppOutputData

指向输出数据缓冲区的指针,该缓冲区将使用生成的压缩ABIC数据进行更新。

L_SSIZE_T* pnLength

指向要用所指向的压缩数据的长度进行更新的变量的指针ppOutputData

L_BOOLbBiLevel

标记,该标记指示是否对指向的未压缩输入数据进行编码pInputData如双级或灰度。可能取值为:

价值 意义
真正的 将输入缓冲区编码为1位双级。
将输入缓冲区编码为4位灰度。

返回

价值 意义
成功 活动很成功。
< 1 发生错误。指返回代码

评论

该函数将输入的原始数据压缩为1位双级或4位灰度ABIC数据。

输出缓冲区指向ppOutputData由函数自动分配。用户负责通过调用GlobalFreePtr()函数来释放这个ppOutputData缓冲区。

必需的dll和库

平台

x64 Win32。

另请参阅

功能

主题

例子

L_INT EncodeABICExample(HWND HWND, pBITMAPHANDLE pBitmap)HGLOBAL HGLOBAL =零;L_UCHAR * pData =零;L_SIZE_T uLength = 0;L_UCHAR * pOutData =零;L_SSIZE_T nOutLength = 0;L_INT nRet;L_HANDLE pFile;DWORD wWrittenBytes;nRet = 0;如果(pBitmap - >标记。分配)nOutLength = 0;pOutData = NULL;nRet = L_SaveBitmapMemory(&hGlobal, pBitmap, FILE_RAW, pBitmap->BitsPerPixel, 0, &uLength, NULL);如果(SUCCESS == nRet)pData = (L_UCHAR *)GlobalLock(hGlobal);nRet = L_EncodeABIC(pData, 4, pBitmap->宽度,pBitmap->高度,&pOutData, &nOutLength, FALSE);如果(SUCCESS == nRet)pFile = CreateFile(MAKE_IMAGE_PATH(TEXT)“output.ica”)), generic_all, 0, null, create_always, file_attribute_normal, 0);如果(pFile)如果WriteFile(pFile, pOutData, DWORD)(运算符(L_UCHAR) * nOutLength), &wWrittenBytes, NULL))nRet = -1;/*写数据失败*/CloseHandle(pFile);其他的nRet = -1;/*打开文件*/失败GlobalFreePtr(pOutData);其他的返回nRet;/*无法编码数据*/GlobalUnlock(hGlobal);GlobalFree(hGlobal);其他的消息框(hWnd, TEXT(“请先解码!”),文本(“信息!”), mb_ok | mb_iconinformation);返回nRet;其他的返回失败;返回nRet;
栅格成像C API帮助
188金宝搏的网址客服|支持|联系我们|知识产权公告
©1991 - 2021领德科技有限公司版权所有。