//sz1 = (800, 600) private Image resizeimage(Image my, Size sz1) { double ratio = 0d; double myThumbWidth = 0d; double myThumbHeight = 0d; Bitmap bp; int c; int d;
if ((my.Width / Convert.ToDouble(sz1.Width)) > (my.Height / Convert.ToDouble(sz1.Height))) ratio = Convert.ToDouble(my.Width) / Convert.ToDouble(sz1.Width); else ratio = Convert.ToDouble(my.Height) / Convert.ToDouble(sz1.Height);
myThumbHeight = Math.Ceiling(my.Height / ratio); myThumbWidth = Math.Ceiling(my.Width / ratio); Size thumbSize = new Size((int)myThumbWidth, (int)myThumbHeight); bp = new Bitmap(sz1.Width, sz1.Height); c = (sz1.Width - thumbSize.Width) / 2; d = (sz1.Height - thumbSize.Height); System.Drawing.Graphics g = Graphics.FromImage(bp); g.SmoothingMode = SmoothingMode.HighQuality; g.InterpolationMode = InterpolationMode.HighQualityBicubic; g.PixelOffsetMode = PixelOffsetMode.HighQuality; rect = new Rectangle(c, d, thumbSize.Width, thumbSize.Height); g.DrawImage(my, rect, 0, 0, my.Width, my.Height, GraphicsUnit.Pixel); if (f == false) { sz = bp.Size; pictureBox1.Size = sz; } rect = new Rectangle(0, 0, 0, 0); return (bp); // this will trigged when clicked on the picture box public void ZoomIn() { pictureBox1.SizeMode = PictureBoxSizeMode.StretchImage; if (sz.Width >= c) MessageBox.Show("Max ZoomIn"); else { sz.Width += 50; sz.Height += 50;
pictureBox1.Size = sz; pictureBox1.Invalidate(); }
|