我有几张图片,每张图片放在writablebitmap中。每个图像代表一个图层,每个图像包含透明度。我需要将这些图像组合成一个,组合算法:显示第一个图像(没有变化),之后绘制第二个图像,首先,具有额外的透明度X%,在第三个图像之后具有额外的透明度Y%,等等。
对于工作,我使用框架4.5,编程语言C#和VS2012
谢谢你的帮助。
答案 0 :(得分:1)
您可以在代码中动态创建Image
控件,并将它们添加到网格或其他Panel的Children
集合中。
或者,您可以将Grid用作ItemsControl的ItemsPanel
,并将ItemsSource
属性绑定到具有Image
和Opacity
个属性的对象集合:
<ItemsControl ItemsSource="{Binding ImageItems}">
<ItemsControl.ItemsPanel>
<ItemsPanelTemplate>
<Grid/>
</ItemsPanelTemplate>
</ItemsControl.ItemsPanel>
<ItemsControl.ItemTemplate>
<DataTemplate>
<Image Source="{Binding Image}" Opacity="{Binding Opacity}"/>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
在任何一种情况下,网格都会注意将所有图像放在彼此之上。