12. CVUI 2.7.0 组件:Rect(官方文档翻译)

官方文档链接:https://dovyski.github.io/cvui/components/rect/


Rect

cvui::rect() 渲染一个矩形,可以填充也可以不填充。函数声明如下:

void rect (
    cv::Mat& theWhere,
    int theX,
    int theY,
    int theWidth,
    int theHeight,
    unsigned int theBorderColor,
    unsigned int theFillingColor = 0xff000000
)

theWhere 是用于渲染图像的图像/帧,theX 是 X 坐标,theY 是 Y 坐标,theWidth 是矩形的宽度,theHeight 是矩形的高度,theBorderColor 是矩形边框的颜色,格式为 0xRRGGBB ,例如 0xff0000 表示红色,theFillingColor 是矩形的填充颜色,格式为 0xAARRGGBB,例如 0x00ff0000 表示红色,0xff000000 表示透明填充。

下面展示了矩形透明填充的例子,输出结果如下图:

核心语句

cvui::rect(frame, 50, 50, 100, 150, 0xffffff, 0xff000000);

结果展示

在这里插入图片描述

矩形可以用纯色填充,如下图所示:

核心语句

cvui::rect(frame, 50, 50, 100, 150, 0xffffff, 0x0000ff00);

结果展示

在这里插入图片描述

扫描二维码关注公众号,回复: 10957328 查看本文章

注意

注意一

当 cvui::rect() 的填充色设置为形如 0xff0000,则程序看作其格式为 0xRRGGBB,即没有透明度。

核心语句

cvui::rect(frame, 50, 50, 100, 150, 0xffffff, 0xff0000);

结果展示

在这里插入图片描述

注意二

当 cvui::rect() 的填充色设置为形如 0xff00ff00,则同样为透明填充,不难理解,因为填充色已经设置为了透明,则不论 RGB 三种颜色设置为什么值,最终都还是透明的。

核心语句

cvui::rect(frame, 50, 50, 100, 150, 0xffffff, 0xff00ff00);

结果展示

在这里插入图片描述

注意三

目前无法为矩形的填充透明度定义不同于 0xff000000 的 alpha 值。

核心语句

cvui::text(frame, 50, 30, "0x1100ff00", 0.5, 0xffffff);
cvui::rect(frame, 50, 50, 100, 30, 0xffffff, 0x2300ff00);

cvui::text(frame, 160, 30, "0x5500ff00", 0.5, 0xffffff);
cvui::rect(frame, 160, 50, 100, 30, 0xffffff, 0x2300ff00);

cvui::text(frame, 270, 30, "0xab00ff00", 0.5, 0xffffff);
cvui::rect(frame, 270, 50, 100, 30, 0xffffff, 0x2300ff00);

cvui::text(frame, 380, 30, "0xef00ff00", 0.5, 0xffffff);
cvui::rect(frame, 380, 50, 100, 30, 0xffffff, 0x2300ff00);

结果展示

在这里插入图片描述

发布了73 篇原创文章 · 获赞 14 · 访问量 3万+

猜你喜欢

转载自blog.csdn.net/wangyuankl123/article/details/105406369
今日推荐