Масштабирование изображения с использованием Bitmaptransform и рисование его с помощью CanvasControl в Win2D дает размытое изображение - PullRequest
0 голосов
/ 28 апреля 2020

Вот что я пробовал:

var decoder = await BitmapDecoder.CreateAsync(fileStream);
BitmapTransform bitmapTransform = new BitmapTransform();
bitmapTransform.ScaledHeight = 300;
bitmapTransform.ScaledWidth = 800;

var pixelProvider = await decoder.GetPixelDataAsync(
                        BitmapPixelFormat.Bgra8,
                        BitmapAlphaMode.Ignore,
                        bitmapTransform,
                        ExifOrientationMode.IgnoreExifOrientation,
                        ColorManagementMode.DoNotColorManage);

byte[] by = pixelProvider.DetachPixelData();
CanvasBitmap cb = CanvasBitmap.CreateFromBytes(sender,by,800,300,Windows.Graphics.DirectX.DirectXPixelFormat.B8G8R8X8UIntNormalized);

Что я сделал в событии Draw CanvasControl:

private  void Canvas_Draw(CanvasControl sender, CanvasDrawEventArgs args)
{
    args.DrawingSession.DrawImage(cb);
}

Из-за масштабирования изображение становится размытым. Как я могу решить эту проблему? Мне нужно динамически изменять ширину и высоту изображения, как я могу это сделать?

...