对于我的这个应用程序的开发时间,我一直在使用画布3D模型的渲染。这已帆布,到现在为止,已经代表这个XAML:WPF画布 - 具有渐变和图像的背景?
<Canvas x:Name="modelCanvas" Grid.Row="0">
<Canvas.Background>
<RadialGradientBrush>
<GradientStop Color="#FFDED9D9" Offset="1"/>
<GradientStop Color="White" Offset="0.007"/>
</RadialGradientBrush>
</Canvas.Background>
</Canvas>
我想图像添加到这个背景,以及。我尝试添加<ImageBrush ImageSource="/Images/bg2.png"/>
作为Canvas.Background
一个孩子,但是这显然没有,因为只有一个刷子可以用来设置背景。有没有什么合并刷子的方式?这个责任可能落在视口上吗?我希望保持这个图像完全独立于渲染环境。
虽然理想的解决方案,这个问题可以在XAML来解决,我开发的C#项目,如果涉及到这一点。
目前还不清楚你想要达到的目标。图像只是部分透明的渐变叠加层,或者您可能想要在图像不透明度中使用渐变效果? – Clemens
@Clemens图像部分透明,意味着叠加在渐变上。一个明显的选择是在图像编辑器中制作这样的图像,但我想避免这种解决方案。 – jah
_“有没有合并画笔的方法?”_ - 我不知道内置的“合成画笔”类型。但是,您可以使用'DrawingBrush'将_drawing_对象合并到可用作背景的单个画笔中。你可以使用'DrawingGroup'来组合'ImageDrawing'和'GeometryDrawing',后者使用你的'RadialGradientBrush'。将'DrawingBrush.Drawing'设置为'DrawingGroup',瞧,你可以使用一个单刷作为背景。您也可以使用Clemens发布的答案。无论哪种方式,您都需要确保将图像包含在构建中。 –