跳到主要内容

阴影

DropShadow 图像滤镜等效于其 SVG 对应物。它创建一个在输入内容下绘制阴影的滤镜。shadowOnly 属性呈现阴影,排除输入内容。它还可以通过 inner 属性渲染内阴影。

如果您想将内阴影渲染为圆角矩形,盒阴影会快得多。

名称类型描述
dx数字阴影的 X 轴偏移。
dy数字阴影的 Y 轴偏移。
blur数字阴影的模糊半径
color颜色阴影的颜色
inner?布尔值阴影在输入内容内绘制
shadowOnly?布尔值如果为 true,则结果不包括输入内容
children?图像滤镜可选的要先应用的图像滤镜

投影阴影

下面的示例创建两个投影阴影。它等效于以下 CSS 表示法。

css
.paint {
filter: drop-shadow(12px 12px 25px #93b8c4) drop-shadow(-12px -12px 25px #c7f8ff);
}
css
.paint {
filter: drop-shadow(12px 12px 25px #93b8c4) drop-shadow(-12px -12px 25px #c7f8ff);
}
tsx
import {
Shadow,
Fill,
RoundedRect,
Canvas
} from "@shopify/react-native-skia";
 
const Neumorphism = () => {
return (
<Canvas style={{ width: 256, height: 256 }}>
<Fill color="lightblue" />
<RoundedRect x={32} y={32} width={192} height={192} r={32} color="lightblue">
<Shadow dx={12} dy={12} blur={25} color="#93b8c4" />
<Shadow dx={-12} dy={-12} blur={25} color="#c7f8ff" />
</RoundedRect>
</Canvas>
);
};
tsx
import {
Shadow,
Fill,
RoundedRect,
Canvas
} from "@shopify/react-native-skia";
 
const Neumorphism = () => {
return (
<Canvas style={{ width: 256, height: 256 }}>
<Fill color="lightblue" />
<RoundedRect x={32} y={32} width={192} height={192} r={32} color="lightblue">
<Shadow dx={12} dy={12} blur={25} color="#93b8c4" />
<Shadow dx={-12} dy={-12} blur={25} color="#c7f8ff" />
</RoundedRect>
</Canvas>
);
};

结果

内阴影

tsx
import {
Shadow,
Fill,
RoundedRect,
Canvas
} from "@shopify/react-native-skia";
 
const Neumorphism = () => {
return (
<Canvas style={{ width: 256, height: 256 }}>
<Fill color="lightblue" />
<RoundedRect x={32} y={32} width={192} height={192} r={32} color="lightblue">
<Shadow dx={12} dy={12} blur={25} color="#93b8c4" inner />
<Shadow dx={-12} dy={-12} blur={25} color="#c7f8ff" inner />
</RoundedRect>
</Canvas>
);
};
tsx
import {
Shadow,
Fill,
RoundedRect,
Canvas
} from "@shopify/react-native-skia";
 
const Neumorphism = () => {
return (
<Canvas style={{ width: 256, height: 256 }}>
<Fill color="lightblue" />
<RoundedRect x={32} y={32} width={192} height={192} r={32} color="lightblue">
<Shadow dx={12} dy={12} blur={25} color="#93b8c4" inner />
<Shadow dx={-12} dy={-12} blur={25} color="#c7f8ff" inner />
</RoundedRect>
</Canvas>
);
};

结果