によってストレッチされている場合、 のHeightandWidthを取得できますか?ImageUniformToFill
プロパティを試しWidthてみましたが、常に.HeightNaN
によってストレッチされている場合、 のHeightandWidthを取得できますか?ImageUniformToFill
プロパティを試しWidthてみましたが、常に.HeightNaN
イメージ コントロールのサイズを知りたい場合は、次の方法があります。
double theHeight = this.ActualHeight - img.Margin.Top - img.Margin.Bottom;
double theWidth = this.ActualWidth - img.Margin.Left - img.Margin.Right;
(imgは、上記のコードと以下のコードのイメージ コントロール名です)
画像の実際のサイズ (引き伸ばされる前) を知りたい場合は、次のようにしてみてください。
BitmapSource SourceData = (BitmapSource)img.Source;
double imgWidth = SourceData.PixelWidth;
double imgHeight = SourceData.PixelHeight;
(私はここでこれを見つけました)
また、これにより、サイズ変更後の画像の寸法が取得されます(ただし、均一化の前):
double actWidth = img.ActualWidth;
double actHeight = img.ActualHeight;
したがって、これらの変数の 1 つ (actWidthまたはactHeight) はイメージ コントロールの寸法と等しくなければならず、もう 1 つはそれより大きくなります。
イベントで呼び出した場合、2 番目と 3 番目のコードは機能しないことに注意してくださいWindow_Loaded。これは、その時点で画像が読み込まれないためです。すべてがロードされた後に使用する必要があります。