我試圖適合我的屏幕範圍內的多個圖像。我正在使用堆棧面板,看到這是我最終目標的最佳佈局。 應該打開來自用戶本地機器的圖像並將其添加到堆棧面板,直到沒有更多的屏幕空間可用。C#問題採購圖像大小 - WPF
我正在運行的問題是,當我將我的位圖加載到內存中時,它向我提供了一個不準確的寬度(它提供了DPI寬度,但我希望它在屏幕上保留的最終寬度)。理想情況下,如果你的屏幕寬度是1000我會想要加載圖像,直到1000或近1000寬度已經在屏幕上使用,這是困難的,如果我不能源的圖像的寬度(類似於什麼窗口會給我的寬度,如果我看着在資源管理器的文件)
我使用下列位圖加載到內存中:
BitmapImage bitmap = new BitmapImage();
bitmap.BeginInit();
bitmap.UriSource = new Uri(fullFilePath, UriKind.Absolute);
bitmap.EndInit();
MessageBox.Show(bitmap.Height.ToString() + "is the height. this is the width->" + bitmap.Width.ToString());
我得到的結果是: 1728是高度
1152是寬度
實際上是864 x 1296(jpg圖像) 。
這些圖像是在一個堆棧面板中,是否可以提取特定堆棧面板子的大小? 例子stackpannel.children[0].width
有什麼影響?
優秀的感謝,你知道一種方式,我可以找出它有多大,最終在屏幕上?我願意使用網格作爲其父項或任何其他方法,這樣可以讓我在總體上獲得圖片寬度/高度或堆疊面板堆棧的準確性。 – ModS
要獲取「Grid」或「Image」控件的實際渲染大小,請參閱其「ActualWidth」和「ActualHeight」。請注意,除非您設置應用程序的DPI知曉度,否則這些值在每個顯示器DPI環境下可能不相關。 – emoacht