Intersects With Clip Rectangle of Graphics : Clip « 2D « C# / CSharp Tutorial






using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;

public class Form1 : Form {
    protected override void OnPaint(PaintEventArgs e) {
    Graphics g = e.Graphics;
    g.FillRectangle(Brushes.White, this.ClientRectangle);
    SizeF sizeF = g.MeasureString("Test", this.Font);
    StringFormat sf = new StringFormat();
    sf.LineAlignment = StringAlignment.Center;

    int cellHeight = (int)sizeF.Height + 4;
    int cellWidth = 80;
    int nbrColumns = 50;
    int nbrRows = 50;

    for (int row = 0; row < nbrRows; ++row)
    {
      for (int col = 0; col < nbrColumns; ++col)
      {
        Point cellLocation = new Point(col * cellWidth,  row * cellHeight);
        Rectangle cellRect = new Rectangle(cellLocation.X, cellLocation.Y, cellWidth, cellHeight);
        if (cellRect.IntersectsWith(e.ClipRectangle)){
          Console.WriteLine("Row:{0} Col:{1}", row, col);
          g.FillRectangle(Brushes.LightGray, cellRect);
          g.DrawRectangle(Pens.Black, cellRect);
          String s = String.Format("{0},{1}", col, row);
          g.DrawString(s, this.Font, Brushes.Black, cellRect, sf);
        }
      }
    }
    }
    public static void Main() {
        Application.Run(new Form1());
    }
}








27.33.Clip
27.33.1.Set clipping region
27.33.2.Intersects With Clip Rectangle of Graphics