React-Native-SVG:在 Android 模拟器中像素化的蒙版元素

inj*_*eer 5 javascript svg react-native react-native-svg

在我的应用程序中,我有以下代码:

    <Svg width={W} height={H} viewBox={viewBox} style={style} preserveAspectRatio="none">
      <Defs>
        <Mask id="mask" x={0} y={0} width={W} height={H} maskUnits="userSpaceOnUse" maskContentUnits='userSpaceOnUse'>
          <Nested name="Path" animated d={path} stroke="white" strokeLinejoin="round" strokeWidth={10} strokeDasharray="5 60" strokeDashoffset={pathOffset}/>
        </Mask>
      </Defs>

      <G mask="url(#mask)">
        <Nested name="Path" d={path} stroke="orange" strokeLinejoin="round"/>
        {fields.map( f => <Nested key={f.id} {...f}/>)}
      </G>

    </Svg>
Run Code Online (Sandbox Code Playgroud)

其中是、和其他 RN-SVG 元素Nested的委托。PathCircle

现在,如果G@mask删除了,Android 模拟器或真实设备上的元素将如下所示:

在此输入图像描述

它的G@mask显示精度降低/像素化/模糊:

在此输入图像描述

我准备了一份小吃 -> https://snack.expo.dev/@injecteer/react-native-svg-mask,在网络模式下,带有动画的蒙版看起来很好(底线):

在此输入图像描述

如何完全精确地显示屏蔽元素?我缺少什么?