设置画布上加载的图像的分辨率 wpf c#

我正在画布上工作并在其上加载图像。如何将图像分辨率设置为 640X480 像素?解码像素高度和解码像素宽度不起作用。


   ImageBrush brush = new ImageBrush();

        BitmapImage src = new BitmapImage(new Uri(("C:\\Users\\i2v\\Desktop\\GoogleMapTA.jpg"), UriKind.Relative));

        src.DecodePixelHeight = 480;

        src.DecodePixelWidth = 640;

        brush.ImageSource = src;

     //   brush.Stretch = Stretch.None;

        canvas.Background = brush;

        canvas.Height = src.Height;

        canvas.Width = src.Width;


月关宝盒
浏览 112回答 1
1回答

精慕HU

BitmapImage 实现该System.ComponentModel.ISupportInitialize接口。BeginInit这意味着它的属性只能在其和方法的调用之间设置EndInit:var src = new BitmapImage();src.BeginInit();src.UriSource = new Uri(@"C:\Users\i2v\Desktop\GoogleMapTA.jpg");src.DecodePixelHeight = 480;src.DecodePixelWidth = 640;src.EndInit();canvas.Background = new ImageBrush(src);请注意,您通常不会同时设置DecodePixelWidth和,因为这可能会破坏图像的原始宽高比。DecodePixelHeight设置其中之一或另一个。
打开App,查看更多内容
随时随地看视频慕课网APP