gpt4 book ai didi

c# - 如何沿两个边缘将图像合并到背景中?

转载 作者:行者123 更新时间:2023-11-30 23:00:18 25 4
gpt4 key购买 nike

我正在尝试在我的应用程序中创建一种时尚效果,允许图像位于右上角,使用 Image.OpacityMask 将左侧和底部边缘合并到背景颜色中。像这样的东西:

enter image description here

这可以使用以下代码完成,除了 Image.OpacityMask 只允许一个子 LinearGradientBrush:

    <Image Source="Images/poster.jpg" Width="300">
<Image.OpacityMask>
<LinearGradientBrush StartPoint="1, 0.5" EndPoint="0, 0.5">
<GradientStop Color="Black" Offset="0.2" />
<GradientStop Color="Transparent" Offset="1.0" />
</LinearGradientBrush>
<LinearGradientBrush StartPoint="0.5, 0" EndPoint="0.5, 1">
<GradientStop Color="Black" Offset="0.2" />
<GradientStop Color="Transparent" Offset="1.0" />
</LinearGradientBrush>
</Image.OpacityMask>
</Image>

如何使用有效代码创建像这样的 Image.OpacityMask?我知道有一个 RadialGradientBrush,但这会混合整个图像,而不仅仅是左边缘和下边缘。

最佳答案

您可以使用两个元素,例如边框中的图像:

<Border HorizontalAlignment="Right" VerticalAlignment="Top" Width="300">
<Border.OpacityMask>
<LinearGradientBrush StartPoint="1, 0.5" EndPoint="0, 0.5">
<GradientStop Color="Black" Offset="0.2" />
<GradientStop Color="Transparent" Offset="1.0" />
</LinearGradientBrush>
</Border.OpacityMask>
<Image Source="Images/poster.jpg">
<Image.OpacityMask>
<LinearGradientBrush StartPoint="0.5, 0" EndPoint="0.5, 1">
<GradientStop Color="Black" Offset="0.2" />
<GradientStop Color="Transparent" Offset="1.0" />
</LinearGradientBrush>
</Image.OpacityMask>
</Image>
</Border>

关于c# - 如何沿两个边缘将图像合并到背景中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51651647/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com