我正在画布上工作并在其上加载图像。如何将图像分辨率设置为 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;
1 回答
精慕HU
TA贡献1845条经验 获得超8个赞
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设置其中之一或另一个。
- 1 回答
- 0 关注
- 111 浏览
添加回答
举报
0/150
提交
取消