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

Comments

Popular Posts