_zoom = 1.0f;\r
_lastScroll = new Point(0, 0);\r
}\r
+ \r
+ public void ActualSize()\r
+ {\r
+ Zoom = 1.0f;\r
+ }\r
+ \r
+ public void ZoomToFit()\r
+ {\r
+ Size imageSize = Image.Size;\r
+ Size controlSize = Size;\r
+ Zoom = Math.Min((float)controlSize.Width / (float)imageSize.Width, (float)controlSize.Height / (float)imageSize.Height);\r
+ }\r
+ \r
+ public void ZoomIn()\r
+ {\r
+ Zoom *= _squareRootOfTwo;\r
+ }\r
+ \r
+ public void ZoomOut()\r
+ {\r
+ Zoom /= _squareRootOfTwo;\r
+ }\r
\r
protected override void OnMouseDown(MouseEventArgs e)\r
{\r
Invalidate();\r
}\r
\r
+ private readonly float _squareRootOfTwo = (float)Math.Sqrt(2.0);\r
private Image _image;\r
private float _zoom;\r
private Point _lastScroll;\r