osd_front.c

来自「sample on embedded linux」· C语言 代码 · 共 97 行

C
97
字号
#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, &region0)) < 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, &region1)) < 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 + =
减小字号Ctrl + -
显示快捷键?