我正在畫布上工作并在其上加載圖像。如何將圖像分辨率設置為 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 關注
- 149 瀏覽
添加回答
舉報
0/150
提交
取消