I do have following problem when zooming into an image in a picturebox. After several times zooming in and out, the bmp image gets very unsharp. Does anyone konws how to solve this problem?
Here is the code:
public Form1()
{
InitializeComponent();
pictureBox1.MouseEnter += new EventHandler(pictureBox1_MouseEnter);
pictureBox1.MouseWheel += new MouseEventHandler(pictureBox1_MouseWheel);
//Set the SizeMode to center the image.
this.pictureBox1.SizeMode = PictureBoxSizeMode.CenterImage;
}
private double zoom = 1.0;
void pictureBox1_MouseWheel(object sender, MouseEventArgs e)
{
if (pictureBox1.Image != null)
{
if (e.Delta < 0)
{
zoom = zoom * 1.05;
}
else
{
if (zoom != 1.0)
{
zoom = zoom / 1.05;
}
}
txttextBox1.Text = zoom.ToString();
Bitmap bmp = new Bitmap(pictureBox1.Image, Convert.ToInt32(pictureBox1.Width * zoom), Convert.ToInt32(pictureBox1.Height * zoom));
Graphics g = Graphics.FromImage(bmp);
g.InterpolationMode = InterpolationMode.Default;
pictureBox1.Image = bmp;
}
}
private void pictureBox1_MouseEnter(object sender, EventArgs e)
{
pictureBox1.Focus();
}
It does not matter when I change the interpolation mode! Thanks!