继续增加 EasyX的功能,这次增加了如下功能:
/**
旋转图像。
@param[out] DstImg 目标图像(使用前须清零)。
@param[in] SrcImg 源图像。
@param[in] Angle 旋转角度(0-359,单位度,顺时针为正)。
@retval EFI_SUCCESS 旋转成功。
@retval EFI_INVALID_PARAMETER 参数非法。
@retval EFI_OUT_OF_RESOURCES 分配失败。
**/
EFI_STATUS
EFIAPI
rotateimage (
OUT IMAGE *DstImg,
IN CONST IMAGE *SrcImg,
IN INT32 Angle
);
/**
翻转图像(水平或竖直)。
@param[out] DstImg 目标图像(使用前须清零)。
@param[in] SrcImg 源图像。
@param[in] Direction 翻转方向(0=水平翻转,1=竖直翻转)。
@retval EFI_SUCCESS 翻转成功。
@retval EFI_INVALID_PARAMETER 参数非法。
@retval EFI_OUT_OF_RESOURCES 分配失败。
**/
EFI_STATUS
EFIAPI
flipimage (
OUT IMAGE *DstImg,
IN CONST IMAGE *SrcImg,
IN INT32 Direction
);
/**
在指定角度绘制图像(绕图像中心旋转)。
@param[in] X 图像中心的 X 坐标。
@param[in] Y 图像中心的 Y 坐标。
@param[in] Img 要绘制的图像。
@param[in] Angle 旋转角度(0-359,单位度)。
**/
VOID
EFIAPI
putimageatangle (
IN INT32 X,
IN INT32 Y,
IN CONST IMAGE *Img,
IN INT32 Angle
);
/**
设置渐变填充参数(BS_GRADIENT 风格)。
@param[in] Color1 渐变起始颜色。
@param[in] Color2 渐变结束颜色。
@param[in] Type 渐变类型(0=水平,1=竖直,2=从中心向外圆形)。
**/
VOID
EFIAPI
setgradientfill (
IN COLORREF Color1,
IN COLORREF Color2,
IN INT32 Type
);
/**
获取当前 getpixel 的值。
@param[in] X 像素 X 坐标。
@param[in] Y 像素 Y 坐标。
@return 像素颜色值(COLORREF 格式)。
**/
运行结果:

完整的代码和编译后的 EFI 在下面下载: