效果:mask-image 哔哩哔哩弹幕不遮挡人物

简介: 效果:mask-image 哔哩哔哩弹幕不遮挡人物

二、解析

哔哩哔哩观看视频,能看到弹幕不会遮挡人物,用户体验非常好。

原理:mask-image引入svg图片  -webkit-mask-image: url("")。

CSS 属性 mask 允许使用者通过遮罩或者裁切特定区域的图片的方式来隐藏一个元素的部分或者全部可见区域。本文内容mask区域为被隐藏的区域,失效效果为隐藏了人物区域的弹幕。

“mask-svg”图片怎么来的,应该是AI识别视频内容生成的。

梳理:AI识别视频内容,不断的生成mask-svg图片给到视频区域,从而实现弹幕不遮挡人物。


三、实现 mask-image.vue

<template>
    <div class="container">
      <span>mask-image</span>
        <div class="video">
            <div class="bullet" style="left: 50px; top: 20px;">我的弹幕1</div>
            <div class="bullet" style="left: 200px; top: 40px;">我的弹幕2</div>
            <div class="bullet" style="left: 400px; top: 60px;">我的弹幕3</div>
            <div class="bullet" style="left: 50px; top: 80px;">我的弹幕4</div>
            <div class="bullet" style="left: 200px; top: 100px;">我的弹幕5</div>
            <div class="bullet" style="left: 400px; top: 120px;">我的弹幕6</div>
        </div>
    </div>
  </template>
  <script setup lang="ts">
  </script>
  <style scoped lang="less">
  .video {
      width: 668px;
      height: 376px;
      position: relative;
      -webkit-mask-image: linear-gradient(rgb(0, 0, 0), rgb(0, 0, 0) 0.0332447%, rgba(0, 0, 0, 0) 0.0332447%), linear-gradient(rgba(0, 0, 0, 0) 99.9668%, rgb(0, 0, 0) 99.9668%, rgb(0, 0, 0)), url("data:image/svg+xml;base64,PHN2ZyB2ZXJzaW9uPSIxLjAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIKIHdpZHRoPSI2NjhweCIgc3R5bGU9InRyYW5zZm9ybTpzY2FsZSgxLDEuMDAxKTsiIGhlaWdodD0iMzc1Ljc1cHgiIHZpZXdCb3g9IjAgMCAzMjAuMDAwMDAwIDE4MC4wMDAwMDAiCiBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJ4TWlkWU1pZCBtZWV0Ij4KPGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMC4wMDAwMDAsMTgwLjAwMDAwMCkgc2NhbGUoMC4xMDAwMDAsLTAuMTAwMDAwKSIKZmlsbD0iIzAwMDAwMCIgc3Ryb2tlPSJub25lIj4KPHBhdGggZD0iTTAgMTEyNSBsMCAtNjc1IDI4IDAgYzI2IDAgMzAgNSA1MSA3NyAzNSAxMTcgNTcgMTYxIDEwMSAyMDQgbDQwIDQwIDExNyAtMwpjMTA1IC0zIDEzMCAwIDIyMSAyNiAxMTcgMzMgMTE3IDMyIDgwIDEzMSAtMjEgNTUgLTIzIDc2IC0yMyAyNzUgMCAxOTggMiAyMjEKMjQgMjg4IDI3IDg0IDc1IDE3NiAxMDAgMTk0IDIzIDE2IDUxIDcxIDUxIDk4IDAgMjAgLTMgMjAgLTM5NSAyMCBsLTM5NSAwIDAKLTY3NXoiLz4KPHBhdGggZD0iTTEzNDAgMTc4MCBjMCAtMTEgMTYgLTM1IDM2IC01MiA0MiAtMzcgMTA3IC0xMzAgMTMzIC0xOTEgNDggLTExMSA2NCAtMTk3IDY1Ci0zNDIgMCAtMTM1IC0yMiAtMjkwIC01NCAtMzc1IC02IC0xNCAtMTEgLTQ3IC0xMiAtNzMgLTEgLTM4IDMgLTUxIDIwIC02MiA0NAotMzEgNTcgLTk2IDU1IC0yNzIgLTEgLTEzNiAxIC0xNjEgMTMgLTE1NiA4IDMgMTQgMCAxNCAtNyAwIC03IDggLTEwIDE5IC03CjEyIDMgMjEgLTEgMjQgLTEyIDMgLTkgOCAtMjQgMTIgLTMzIDUgLTEzIDAgLTIwIC0yMCAtMjggLTI2IC0xMCAtMjcgLTEzIC0yMQotNjMgMyAtMjggNiAtNjIgNiAtNzUgbDAgLTIyIDc4NSAwIDc4NSAwIDAgODk1IDAgODk1IC05MzAgMCBjLTkyOCAwIC05MzAgMAotOTMwIC0yMHoiLz4KPC9nPgo8L3N2Zz4K");
      -webkit-mask-size: 800px 450px;
      background-color: #ff0000;
    }
    .bullet {
      position: absolute;
      font-size: 20px;
    }
  </style>

四、mask-image语法

/* Keyword value */
mask-image: none;
/* <mask-source> value */
mask-image: url(masks.svg#mask1);
/* <image> values */
mask-image: linear-gradient(rgba(0, 0, 0, 1.0), transparent);
mask-image: image(url(mask.png), skyblue);
/* Multiple values */
mask-image: image(url(mask.png), skyblue), linear-gradient(rgba(0, 0, 0, 1.0), transparent);
/* Global values */
mask-image: inherit;
mask-image: initial;
mask-image: unset;

五、欢迎交流指正,关注我,一起学习。

相关文章
|
27天前
|
算法 计算机视觉
图像处理之仿油画效果
图像处理之仿油画效果
9 0
|
2月前
|
XML 自然语言处理 数据格式
py获取《灵笼》第一集的弹幕———绘制词云图
py获取《灵笼》第一集的弹幕———绘制词云图
11 0
|
2月前
|
机器学习/深度学习 存储 人工智能
只需任意一张人物图片,就可以生成该人物的科目三舞蹈视频 - AIGC 中的 Image-to-Video 技术
只需任意一张人物图片,就可以生成该人物的科目三舞蹈视频 - AIGC 中的 Image-to-Video 技术
|
11月前
SVG 夜晚的灯塔案例(use、mask、clipPath ...)
SVG 夜晚的灯塔案例(use、mask、clipPath ...)
47 0
|
人工智能 算法 物联网
探索 StableDiffusion:生成高质量图片学习及应用(中)
探索 StableDiffusion:生成高质量图片学习及应用(中)
457 1
|
算法 物联网
探索 StableDiffusion:生成高质量图片学习及应用(上)
探索 StableDiffusion:生成高质量图片学习及应用(上)
637 0
|
机器学习/深度学习 人工智能 自然语言处理
7 Papers & Radios | MiniGPT-4看图聊天、还能草图建网站;视频版Stable Diffusion来了
7 Papers & Radios | MiniGPT-4看图聊天、还能草图建网站;视频版Stable Diffusion来了
|
机器学习/深度学习 算法 C++
图像去雨(rainy streaks removal)#(代码+毕设)
图像去雨(rainy streaks removal)#(代码+毕设)
217 0
|
机器学习/深度学习 人工智能 自然语言处理
CV学习笔记-浅述CV方向
CV学习笔记-浅述CV方向
251 0
CV学习笔记-浅述CV方向
|
前端开发 定位技术 容器
使用 mask 实现视频弹幕人物遮罩过滤
使用 mask 实现视频弹幕人物遮罩过滤
222 0
使用 mask 实现视频弹幕人物遮罩过滤

热门文章

最新文章