基本的な画像処理を行うことができる単純な画像ビューアを設計しています。現時点では、PictureBox
を常にTabPage
の中心に置き、ピクチャボックスの幅とサイズを画像の表示と同じに保つという問題があります。今まで私は成功しなかった。PictureBoxをコンテナの中央に配置する
私はフォームコンストラクタをコールして中央に配置するコードを持っています。 (あなたが戻ってPictureBoxコントロールの色である黒の一部を見ることができます)
private void SetPictureBoxOriginalSizeAndLocation(bool makeImageNull = false, DockStyle dockStyle = DockStyle.None)
{
if (makeImageNull) picBoxView.Image = null;
picBoxView.Dock = dockStyle;
var xPoint = tabImageView.Location.X + ((splitContainer.Panel2.Width/2)/2);
var yPoint = tabImageView.Location.Y;
var width = tabImageView.Width/2;
var height = (tabImageView.Height/2) - toolStripImageView.Height;
if (picBoxView.Image == null) return;
//Resize image according to width
picBoxView.Image = ImageMethods.ResizeImage(picBoxView.Image.Tag.ToString(), width, height, false);
picBoxView.Location = new Point(xPoint, yPoint);
picBoxView.Width = width;
picBoxView.Height = height;
}
しかし、それは、その画像にピクチャボックスのサイズを変更しません:それは、ピクチャボックスを中央にするのは初めての作品
問題は、すぐに私は、フォームのサイズを変更すると悪化している、のPictureBox位置は上に行くだろう:
私はフォームのサイズ変更イベントでも上記のコードを呼び出しますが、なぜアプリケーションが起動するときに動作するのかわかりません。誰かが私が自分のイメージと同じ大きさのきれいな中心の絵文字を作るために気をつけなければならないものを私に教えてもらえればいいでしょう。
Dockを塗りつぶすように設定し、イメージを背景イメージとして設定してください。 BackgroundImageLayoutはCenterに設定できます。そしてBackGroundColorを透明にする –
'picturebox.Image'サイズは' picturebox'サイズと等しくなりますか?私はイメージのピクセルで作業する必要があるため、ピクチャボックスがピクチャよりも大きいかどうかわかりません。私が作業しているイメージはピクチャボックス自体になりますか?私が知っている愚かな音! –
しかし、私は再び写真を拡大したいと思ったら問題があると思います! –