【C#】領域(Rectangle)全体を大きくする、小さくする

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#へ戻る

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください