У меня есть несколько изображений, каждое изображение размещено в writeablebitmap. Каждое изображение представляет собой один слой, каждое изображение содержит прозрачность. Мне нужно объединить эти изображения в один алгоритм комбинирования: показать первое изображение (без изменений), после этого нарисуйте второе изображение, сперва, с дополнительной прозрачностью X%, после него третье изображение с дополнительной прозрачностью Y% и т. Д. Для работы i использовать фреймворк 4.5, язык программирования C# и VS2012.
Спасибо за помощь.Объединить несколько изображений в один
ответ
Вы можете динамически создавать Image
элементы управления в коде и добавлять их в коллекцию Grid или какую-либо другую панель Children
.
В качестве альтернативы вы можете использовать сетку, как ItemsPanel
в качестве ItemsControl и привязать ItemsSource
свойство к коллекции объектов, имеющих Image
и Opacity
propetrty:
<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>
В любом случае сетка будет заботиться для размещения всех изображений друг на друге.
, если мне нужно в реальном времени объединить несколько изображений, это было бы нормально волна для 10 изображений с разрешением 720p? –
Дайте ему попробовать ... – Clemens
спасибо, что он работает быстро. –
Каков желаемый результат? Вы хотите показывать это только на экране или также сохранять в файл изображения? Вы еще что-нибудь пробовали? – Clemens
результат нужен только для отображения, я нашел только один хардкорный способ, вычислить результат цвета из программы, но я думаю, что wpf может сделать это лучше и быстрее –
Не могли бы вы просто наложить три элемента управления изображениями с соответствующими значениями «Непрозрачность»? – Clemens