zoukankan      html  css  js  c++  java
  • 监控告警配置的显示

    IPC会将监控区域划分成多个小块,按块提供是否监控配置。这时监控客户端需要提供配置界面,显示视频时也需要在视频上画上多行多列的线,同时对告警区域填充颜色。

    一种办法是对转成RGB24的图像数据直接进行象素处理。
    由YV12转成RGB24后图像在内存中排列顺序为BGR BGR BGR 。。。BGR

    而且是图像从左到右,从下到上排列。B是Blue象素的值,G是Green象素的值,R是Red象素的值。

    为了处理方便定义了一个BGR的宏

    #define BGR(b,g,r)     ((COLORREF)(((BYTE)(b)|((WORD)((BYTE)(g))<<8))|(((DWORD)(BYTE)(r))<<16)))

    COLORREF bkColor;

    BYTE  R = GetRValue(bkColor);
    BYTE  G = GetGValue(bkColor);
    BYTE  B = GetBValue(bkColor);
    首先获取背景色的3个分量,
    对图像进行象素处理:

    新的颜色=(原有颜色 * Alpha值 / 255 + (1 – Alpha / 255) * 背景色

    Alpha值越大,效果图跟原图越接近。直接将遮挡区域进行上述半透明处理,将新的颜色值设置给各个象素。如果是画水平和竖直分割线,直接用划线的颜色覆盖线上点的象素值。

    当然这样是有性能损失,以后将会改用OpenGL实现

  • 相关阅读:
    【alpha】Scrum站立会议第2次....10.17
    【alpha】Scrum站立会议第1次····10.16
    【week4】技术随笔psp
    【week4】课堂Scrum站立会议
    【week3】psp (技术随笔)
    【week3】四则运算 单元测试
    【week3】词频统计 单元测试
    Oracle Split字符串

    指针函数与指针数组
  • 原文地址:https://www.cnblogs.com/ityujian/p/3192502.html
Copyright © 2011-2022 走看看