0


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

4

1 回答 1

1

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

或者,您可以将 Grid 用作ItemsPanelItemsControl,并将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>

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

于 2013-07-19T13:38:19.660 回答