将多个图像合并为一个

时间:2013-07-19 13:01:02

标签: c# wpf merge writablebitmap


我有几张图片,每张图片放在writablebitmap中。每个图像代表一个图层,每个图像包含透明度。我需要将这些图像组合成一个,组合算法:显示第一个图像(没有变化),之后绘制第二个图像,首先,具有额外的透明度X%,在第三个图像之后具有额外的透明度Y%,等等。 对于工作,我使用框架4.5,编程语言C#和VS2012 谢谢你的帮助。

1 个答案:

答案 0 :(得分:1)

您可以在代码中动态创建Image控件,并将它们添加到网格或其他Panel的Children集合中。

或者,您可以将Grid用作ItemsControl的ItemsPanel,并将ItemsSource属性绑定到具有ImageOpacity个属性的对象集合:

<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>

在任何一种情况下,网格都会注意将所有图像放在彼此之上。