Mega Code Archive

 
Categories / C# Tutorial / 2D Graphics
 

Intersects With Clip Rectangle of Graphics

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());     } }