L_StartResize

# include“l_bitmap.h”

L_LTKRN_APIL_INTL_StartResize(nOldWidth, nOldHeight, nNewWidth, nNewHeight, ppresizadata)

属性的信息L_Resize函数。

参数

L_INTnOldWidth

指定图像的原始宽度。

L_INTnOldHeight

指定图像的原始高度。

L_INTnNewWidth

指定图像的新宽度。

L_INTnNewHeight

指定图像的新高度。

L_VOID* * ppResizeData

调整大小数据包的指针地址。属性的数据填充区域L_Resize函数。L_StartResize分配内存,并且L_StopResize释放它。注意,您将传递指针变量的地址。

返回

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

必需的dll和库

平台

Win32, x64, Linux。

另请参阅

功能

主题

例子

要获得完整的示例代码,请参阅RESIZE
的例子。
这个示例调整一个位图中的每一行的大小,并将其写入另一个位图。

L_INT StartResizeExample(pBITMAPHANDLE pLeadBitmap)L_INT nRet;L_VOID * pResizeData;L_INT CopyWidth, CopyHeight;L_UCHAR * pBuf;/*保存输入行的缓冲区*/HGLOBAL hBuf;/*输入缓冲区的句柄BITMAPHANDLE TmpBitmap;/*包含输入数据的位图*/L_INT DestRow;/*行计数器输出*/L_INT i, n;/*循环计数器*//*加载输入位图,每像素24位nRet = L_LoadBitmap (MAKE_IMAGE_PATH(TEXT(“ImageProcessingDemo \ \ Image3.cmp”&TmpBitmap)),运算符(bitmaphandle), 24, order_bgr, null, null);如果(nRet != SUCCESS)返回nRet;/*指定一行24位输入数据大小的缓冲区*/hBuf = GlobalAlloc(GMEM_MOVEABLE, TmpBitmap。宽度* 3);pBuf = (L_UCHAR*)GlobalLock(hBuf);/*创建位图* /如果(pLeadBitmap - > Flags.Allocated)L_FreeBitmap (pLeadBitmap);nRet = L_CreateBitmap(pLeadBitmap,运算符(BITMAPHANDLE),TYPE_CONV,TmpBitmap。宽度/ 2,TmpBitmap。高度/ 2,24日,TmpBitmap。订单,空,TmpBitmap。ViewPerspective, NULL, 0);如果(nRet != SUCCESS)返回nRet;/*初始化resize进程*/TmpBitmap. nRet = L_StartResize (TmpBitmap. L_StartResize)宽度,TmpBitmap。高度,TmpBitmap。宽度/ 2,TmpBitmap。高度/ 2,&pResizeData);如果(nRet != SUCCESS)返回nRet;/*初始化目标行号*/DestRow = 0;/*使用L_Resize来处理每一个位图*/L_AccessBitmap (pLeadBitmap);L_AccessBitmap (&TmpBitmap);(i = 0;i < TmpBitmap.Height;我+ +)nRet = (L_INT)L_GetBitmapRow(&TmpBitmap, pBuf, i, TmpBitmap.BytesPerLine);如果(nRet < 1)返回nRet;nRet = L_Resize (pBuf, i, TmpBitmap。BitsPerPixel, &CopyWidth, &CopyHeight, presizadata);如果(nRet != SUCCESS)如果(nRet != 0)// 0表示调整大小不需要行返回nRet;/*输出nRet = L_Resize所提供的行数*/(n = 0;n < CopyHeight;n + +)nRet =(L_INT)L_PutBitmapRow(pLeadBitmap, pBuf, DestRow, CopyWidth * 3);如果(nRet < 1)返回nRet;DestRow + +;L_ReleaseBitmap (&TmpBitmap);L_ReleaseBitmap (pLeadBitmap);L_FreeBitmap (&TmpBitmap);/*结束resize进程*/nRet = L_StopResize (presizadata);如果(nRet != SUCCESS)返回nRet;/ /我们不再需要的内存GlobalFree (hBuf);返回成功;

栅格成像C API帮助
188金宝搏的网址客服|支持|联系我们|知识产权公告
©1991 - 2021领德科技有限公司版权所有。