Rectangle構造体であらわされた領域全体を左右方向、上下方向に大きく/小さくするには
Inflateメソッドを用います。
コード例
private void Form1_Paint(object sender, PaintEventArgs e)
{
// 元の領域1
var rectSrc1 = new Rectangle(20, 20, 50, 30);
e.Graphics.DrawRectangle(Pens.Black, rectSrc1);
// 領域を大きくする
// Rectangleを左右それぞれ3画素、上下それぞれ6画素大きくする
rectSrc1.Inflate(3, 6);
e.Graphics.DrawRectangle(Pens.Red, rectSrc1);
// 元の領域2
var rectSrc2 = new Rectangle(120, 20, 50, 30);
e.Graphics.DrawRectangle(Pens.Black, rectSrc2);
// 領域を小さくする
// Rectangleを左右それぞれ6画素、上下それぞれ3画素小さくする
rectSrc2.Inflate(-6, -3);
e.Graphics.DrawRectangle(Pens.Red, rectSrc2);
}
実行結果
←画像処理のためのC#へ戻る