L_RotateBitmap

# include“l_bitmap.h”

L_LTKRN_APIL_INTL_RotateBitmap (pBitmap nAngle、uFlags crFill)

指定位图旋转度的数量。

参数

pBITMAPHANDLEpBitmap

位图句柄指针引用的位图被改变。

L_INTnAngle

数度旋转(+ / -)。这可能是一个从0到36000的数字。积极的值将图像旋转顺时针旋转,而一个负值将旋转逆时针旋转图像。

L_UINTuFlags

国旗使生成图像与原始图像相同大小或调整根据指定的旋转方向。有效值:

价值 意义
ROTATE_RESIZE [0 x0001]大小根据需要生成图像。
ROTATE_RESAMPLE 当旋转[0 x0002]进行双线性插值。
ROTATE_BICUBIC 当旋转[0 x0004]执行双立方插值。
0 不调整图像。作物。

L_COLORREFcrFill

背景填充颜色。也就是说您可以指定一个值,如Windows RGB宏观的返回值,或者您可以使用PALETTEINDEX宏指定一个调色板的颜色。

返回

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

评论

这个函数有以下特点:

更新状态栏或检测用户中断在执行这个函数,引用L_SetStatusCallback

ROTATE_RESAMPLE和ROTATE_BICUBIC可以结合ROTATE_RESIZE,但他们不能互相结合。因此,您可以通过ROTATE_RESAMPLE | ROTATE_RESIZE,但不是ROTATE_RESAMPLE | ROTATE_BICUBIC。

如果ROTATE_RESIZE设置,那么图像的大小。否则,裁剪图像。

插值可以分别在旋转特定的图像。这产生优越的输出,消除了粗糙度角度旋转图像时不发生90多次。(当nAngle不是9000的倍数)。

唯一的图像插值是:

其他图片,L_RotateBitmap忽略了没有插值重采样旗帜和执行旋转。

必需的dll和库

平台

Win32 x64, Linux。

另请参阅

功能

主题

例子

为完整的示例代码,参考FEATURE1
的例子。
这个示例加载位图和旋转它。

L_INT RotateBitmapExample (L_VOID){L_INT nRet;BITMAPHANDLE LeadBitmap;/ *加载位图句柄保存图像。* // *加载位图,保持文件的比特每像素* /nRet = L_LoadBitmap (MAKE_IMAGE_PATH(文本(“IMAGE1.CMP”&LeadBitmap)),运算符(BITMAPHANDLE), 0 ORDER_BGR空,空);如果(nRet ! =成功)返回nRet;/ *位图45度逆时针旋转,增加必要的大小* /ROTATE_RESIZE nRet = L_RotateBitmap (&LeadBitmap, -4500年,RGB (255, 0, 0));如果(nRet ! =成功)返回nRet;nRet = L_SaveBitmap (MAKE_IMAGE_PATH(文本(“Result.BMP”))、&LeadBitmap FILE_BMP, 24岁,0,NULL);如果(nRet ! =成功)返回nRet;如果(LeadBitmap.Flags.Allocated)L_FreeBitmap (&LeadBitmap);返回成功;}

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