📄 osd_front.c
字号:
#include <stdio.h>#include <stdlib.h>#include <unistd.h>#include <time.h>#include <hi_common_api.h>HI_S32 OSDFrontService(void){ HI_S32 ret; OSD_REGION_HANDLE region0, region1; OSD_REGION_S RegionParam = { .struValidRect = {64, 64, 64, 64}, .u32Alpha = 80, .u32TransparentColor = 0x000000, .u32TopLevel = 0, }; /*create region*/ if((ret = HI_OSD_CreateRegion(OSD_FRONT, 0, &RegionParam, ®ion0)) < 0) { return ret; } /*fill region0 with red color*/ HI_OSD_FillRegion(region0, 0xff0000); RegionParam.struValidRect.x += 64; RegionParam.struValidRect.y += 64; RegionParam.u32TopLevel = 1; RegionParam.u32Alpha = 40; /*create region1*/ if((ret = HI_OSD_CreateRegion(OSD_FRONT, 0, &RegionParam, ®ion1)) < 0) { HI_OSD_DeleteRegion(region0); return ret; } /*fill region with green*/ HI_OSD_FillRegion(region1, 0xff00); /*stop 2 second*/ sleep(2); /*set region to toplevel*/ if((ret = HI_OSD_SetRegionTopLevel(region0, 2)) < 0) { HI_OSD_DeleteRegion(region0); HI_OSD_DeleteRegion(region1); return ret; } sleep(2); if((ret = HI_OSD_SetRegionTopLevel(region1, 3)) < 0) { HI_OSD_DeleteRegion(region0); HI_OSD_DeleteRegion(region1); return ret; } sleep(2); /*set region to the new position*/ if((ret = HI_OSD_SetRegionPosition(region0, 144, 144)) < 0) { HI_OSD_DeleteRegion(region0); HI_OSD_DeleteRegion(region1); return ret; } if((ret = HI_OSD_SetRegionPosition(region1, 200, 200)) < 0) { HI_OSD_DeleteRegion(region0); HI_OSD_DeleteRegion(region1); return ret; } sleep(2); /*delete the region before quit*/ HI_OSD_DeleteRegion(region0); HI_OSD_DeleteRegion(region1); return HI_SUCCESS;}int main(){ OSDFrontService(); return 0;}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -