private void DrawSizeCoordinates(Graphics g) { if ((sizeCoordinates == null) || (sizeCoordinates.Count < 1)) { return; } imageSize = sizeCoordinates.ComputeSegmentLens((float)mmPerPixelWithFlow, (float)mmPerPixelAccrossChamber); PicesPoint lastPoint = sizeCoordinates[0]; Point lastPointAdj = AdjustForZoomFactor(lastPoint); g.FillEllipse(coordinateLineBrush, lastPointAdj.X, lastPointAdj.Y, 3.0f, 3.0f); int x = 1; while (x < sizeCoordinates.Count) { PicesPoint nextPoint = sizeCoordinates[x]; Point nextPointAdj = AdjustForZoomFactor(sizeCoordinates[x]); g.FillEllipse(coordinateLineBrush, nextPointAdj.X, nextPointAdj.Y, 3.0f, 3.0f); g.DrawLine(coordinateLinePen, lastPointAdj, nextPointAdj); lastPoint = nextPoint; lastPointAdj = nextPointAdj; ++x; } ImageSize.Text = imageSize.ToString("###,##0.0") + " mm"; } /* DrawSizeCoordinates */
private System.Drawing.Point AdjustForZoomFactor(PicesPoint p) { int adjRow = (int)((float)p.Row * zoomFactor + 0.5f); int adjCol = (int)((float)p.Col * zoomFactor + 0.5f); return(new Point(adjCol, adjRow)); }