РЕДАКТИРОВАТЬ:
В последней сборке удалили CompositionImage ...
Я хотел бы узнать разницу между Win2D CanvasBitmap
и Microsoft.UI.Composition CompositionImage
.
В обоих случаях мне удалось отображать изображения, но я действительно не знаю / не понимаю разницы между этими двумя подходами.
CanvasBitmap
подход:
XAML:
<xaml:CanvasControl Draw="OnDraw" />
Код:
private void Onraw(CanvasControl sender, CanvasAnimatedDrawEventArgs e)
{
var image = await CanvasBitmap.LoadAsync(...);
e.DrawingSession.DrawImage(...);
}
CompositionImage
подход:
XAML:
<Grid x:Name="Host" />
Код:
ContainerVisual rootVisual =
(ContainerVisual)ElementCompositionPreview.GetContainerVisual(this.Host);
Compositor compositor = rootVisual.Compositor;
CompositionGraphicsDevice device = compositor.DefaultGraphicsDevice,
CompositionImage image = device.CreateImageFromUri(...);
ImageVisual content = Compositor.CreateImageVisual();
content.Image = image;
rootVisual.Children.InsertAtTop(content);
Какая разница? Какой подход лучше?
Чтобы поместить вещь в контекст, у меня есть приложение, которое отображает множество маленьких изображений. Мне нужно, чтобы приложение занимало мало памяти и быстро рисовало изображения.
Спасибо, Адриан.