"Zoom"レイアウトの背景イメージ実際の幅と高さは、「ストレッチ」レイアウトではなく、コントロールの幅と高さに一致するとは限りません。任意の数式を実行せずにレンダリングされた現在のイメージを取得するためにwinformsにプロパティまたは何かがあるかどうか疑問に思っていますか?"zoom"レイアウトの背景イメージの実際のサイズ
1
A
答えて
1
これはSizeModes
のいずれかでPictureBox
からRectangle
ピクセルを返します。
しかし、はい、それはズームモードのためにいくつかの計算を行います。
それは、対応するBackgroudImageLayout
値に容易に適合することができます。私が知っている
Rectangle ImageArea(PictureBox pbox)
{
Size si = pbox.Image.Size;
Size sp = pbox.ClientSize;
if (pbox.SizeMode == PictureBoxSizeMode.StretchImage) return pbox.ClientRectangle;
if (pbox.SizeMode == PictureBoxSizeMode.Normal ||
pbox.SizeMode == PictureBoxSizeMode.AutoSize) return new Rectangle(Point.Empty, si);
if (pbox.SizeMode == PictureBoxSizeMode.CenterImage)
return new Rectangle(new Point((sp.Width - si.Width)/2,
(sp.Height - si.Height)/2), si);
// PictureBoxSizeMode.Zoom
float ri = si.Width/si.Height;
float rp = sp.Width/sp.Height;
if (rp > ri)
{
int width = si.Width * sp.Height/si.Height;
int left = (sp.Width - width)/2;
return new Rectangle(left, 0, width, sp.Height);
}
else
{
int height = si.Height * sp.Width/si.Width;
int top = (sp.Height - height)/2;
return new Rectangle(0, top, sp.Width, height);
}
}
+0
「PictureBox」についての質問には一言もありませんが、私は思いついたようです。 –
+0
Trueですが、 'Panel'や' Label'のようなコントロールの 'BackgroundImageLayout'は基本的に' PictureBoxSizeMode 'を除いて' 'Tile''モードはありませんが' 'Autosize''モードを持っています。 – TaW
関連する問題
- 1. Xamarin.Formsのレイアウトの背景イメージ
- 2. 画面サイズの背景イメージ
- 3. JQuery - スケーラブル/サイズ変更の背景イメージ
- 4. 検査と実際のモバイルで異なる背景イメージ
- 5. 背景グラデーションの色と背景イメージDRYly
- 6. 背景イメージと背景の添付
- 7. ImageMagickの背景イメージ?
- 8. ドロップダウンボックスの背景イメージ
- 9. ブーストラップの背景イメージ
- 10. レスポンステーブルの背景イメージ
- 11. JavaFXの背景イメージ
- 12. Edittextの背景イメージ
- 13. ボタンアイコンの背景サイズ
- 14. 基本的なSVGの背景イメージのサイズのプロパティ
- 15. PHPイメージのサイズ変更黒の背景 - 色の変更
- 16. Android:レイアウトの背景イメージを選択する方法
- 17. CSSの背景イメージのナビゲーションバー
- 18. ブラックベリーのグリッドフィールドの背景イメージ
- 19. アニメーション背景サイズ:背景サイズへの拡大:110%
- 20. c#windows form:背景イメージのサイズとフォームサイズの一致方法
- 21. wpfのスケーリングボタンの背景イメージとサイズ変更ウィンドウ
- 22. CSSの背景イメージ - 固定サイズのdivに収縮する
- 23. ブラウザのウィンドウのサイズに背景イメージをラップします
- 24. クロムブラウザの背景としてsvgイメージのサイズを変更する
- 25. すべてのモニタにページサイズに合う背景イメージのサイズは?
- 26. キャンバスの背景イメージのサイズを変更する - Fabricjs
- 27. Ttk背景イメージ
- 28. 背景イメージ(CSS)
- 29. フォームの背景サイズのカスタマイズ
- 30. イメージマップ内の背景イメージ
何もありません。数学は本当に怖いですか? – adv12
@ adv12いいえ、私は数学が大好きですが、実際にはアンカーを待っていましたが、なぜホイールを再発明するのですか? –