Image Zooming in a PictureBox Control : Visual Basic Programming
This Video demonstrates how to emulate zoom-in and zoom-out, of an image in the Picture Box control in Run Time
Source Code :
Imports System.Drawing.Drawing2D
Public Class Form1
Public imgOriginal As Image
Private Sub BrowsePictureToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles BrowsePictureToolStripMenuItem.Click
Me.Cursor = Cursors.WaitCursor
Dim OpenPicture As New OpenFileDialog
If OpenPicture.ShowDialog = Windows.Forms.DialogResult.OK Then
imgOriginal = Image.FromFile(OpenPicture.FileName)
Me.Cursor = Cursors.Default
PictureBox1.Image = imgOriginal
' set Picture Box Attributes
PictureBox1.BackgroundImageLayout = ImageLayout.Stretch
' set Slider Attributes
TrackBar1.Minimum = 1
TrackBar1.Maximum = 10
TrackBar1.SmallChange = 1
TrackBar1.LargeChange = 1
TrackBar1.UseWaitCursor = False
' reduce flickering
Me.DoubleBuffered = True
End If
End Sub
Public Function PictureBoxZoom(ByVal img As Image, ByVal size As Size) As Image
Dim bm As Bitmap = New Bitmap(img, Convert.ToInt32(img.Width * size.Width), Convert.ToInt32(img.Height * size.Height))
Dim grap As Graphics = Graphics.FromImage(bm)
grap.InterpolationMode = InterpolationMode.HighQualityBicubic
Return bm
End Function
Private Sub TrackBar1_Scroll(sender As Object, e As EventArgs) Handles TrackBar1.Scroll
If TrackBar1.Value > 0 Then
PictureBox1.Image = Nothing
PictureBox1.Image = PictureBoxZoom(imgOriginal, New Size(TrackBar1.Value, TrackBar1.Value))
End If
End Sub
End Class
Source Code :
Imports System.Drawing.Drawing2D
Public Class Form1
Public imgOriginal As Image
Private Sub BrowsePictureToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles BrowsePictureToolStripMenuItem.Click
Me.Cursor = Cursors.WaitCursor
Dim OpenPicture As New OpenFileDialog
If OpenPicture.ShowDialog = Windows.Forms.DialogResult.OK Then
imgOriginal = Image.FromFile(OpenPicture.FileName)
Me.Cursor = Cursors.Default
PictureBox1.Image = imgOriginal
' set Picture Box Attributes
PictureBox1.BackgroundImageLayout = ImageLayout.Stretch
' set Slider Attributes
TrackBar1.Minimum = 1
TrackBar1.Maximum = 10
TrackBar1.SmallChange = 1
TrackBar1.LargeChange = 1
TrackBar1.UseWaitCursor = False
' reduce flickering
Me.DoubleBuffered = True
End If
End Sub
Public Function PictureBoxZoom(ByVal img As Image, ByVal size As Size) As Image
Dim bm As Bitmap = New Bitmap(img, Convert.ToInt32(img.Width * size.Width), Convert.ToInt32(img.Height * size.Height))
Dim grap As Graphics = Graphics.FromImage(bm)
grap.InterpolationMode = InterpolationMode.HighQualityBicubic
Return bm
End Function
Private Sub TrackBar1_Scroll(sender As Object, e As EventArgs) Handles TrackBar1.Scroll
If TrackBar1.Value > 0 Then
PictureBox1.Image = Nothing
PictureBox1.Image = PictureBoxZoom(imgOriginal, New Size(TrackBar1.Value, TrackBar1.Value))
End If
End Sub
End Class
Comments
Post a Comment