# include“ltfil.h”
L_LTFIL_APIL_INTL_EncodeABIC(pInputData, nAlign, nWidth, nHeight, ppOutputData, pnLength, bBiLevel)
使用ABIC编码器压缩输入原始数据。
指向包含未压缩原始数据的缓冲区的指针。
用于对齐指向的未压缩原始数据的字节数pInputData
.
未压缩原始数据图像的宽度,以像素为单位。
未压缩原始数据图像的高度,以像素为单位。
指向输出数据缓冲区的指针,该缓冲区将使用生成的压缩ABIC数据进行更新。
指向要用所指向的压缩数据的长度进行更新的变量的指针ppOutputData
.
标记,该标记指示是否对指向的未压缩输入数据进行编码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;
}
帮助收藏
光栅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点
如需与我们联系,请填写此表格,我们将通过电子邮件与您联系。