ImageGlass.ImageBox.DrawPixelGrid C# (CSharp) Method

DrawPixelGrid() protected method

Draws a pixel grid.
protected DrawPixelGrid ( Graphics g ) : void
g System.Drawing.Graphics The graphics to draw the grid to.
return void
        protected virtual void DrawPixelGrid(Graphics g)
        {
            float pixelSize;

            pixelSize = (float)ZoomFactor;

            if (pixelSize > PixelGridThreshold)
            {
                Rectangle viewport;
                float offsetX;
                float offsetY;

                viewport = GetImageViewPort();
                offsetX = Math.Abs(AutoScrollPosition.X) % pixelSize;
                offsetY = Math.Abs(AutoScrollPosition.Y) % pixelSize;

                using (Pen pen = new Pen(PixelGridColor)
                                 {
                                     DashStyle = DashStyle.Dot
                                 })
                {
                    for (float x = viewport.Left + pixelSize - offsetX; x < viewport.Right; x += pixelSize)
                    {
                        g.DrawLine(pen, x, viewport.Top, x, viewport.Bottom);
                    }

                    for (float y = viewport.Top + pixelSize - offsetY; y < viewport.Bottom; y += pixelSize)
                    {
                        g.DrawLine(pen, viewport.Left, y, viewport.Right, y);
                    }

                    g.DrawRectangle(pen, viewport);
                }
            }
        }
ImageBox