65.9K
CodeProject is changing. Read more.
Home

Resizing Batch Images

starIconstarIconstarIconstarIcon
emptyStarIcon
starIcon

4.60/5 (4 votes)

Feb 21, 2008

CPOL
viewsIcon

33645

downloadIcon

858

Resize all images in the source folder and save them in the destination folder

resizeBatchImage

Introduction

This application gets the source folder of images/photos in JPEG format and resizes them into a specific size and saves them into a destination directory.
The user can check crop setting for cropping images before resizing them.

Using the Code

   Public Function ResizePicture(ByVal sourceImage As Bitmap, _
		ByVal newSize As Size) As Bitmap

        Dim Result_image As New Bitmap(sourceImage, newSize.Width, newSize.Height)
        Dim Gr As Graphics

        Gr = Graphics.FromImage(Result_image)
        Gr.DrawImage(Result_image, 0, 0, newSize.Width, newSize.Height)
        Gr.Save()

        Return Result_image
    End Function

    Public Function CropBitmap(ByVal inputBmp As Bitmap, _
		ByVal cropRectangle As Rectangle) As Bitmap
        'Create a new bitmap object based on the input
        Dim newBmp As New Bitmap(cropRectangle.Width, _
                 cropRectangle.Height, _
                 System.Drawing.Imaging.PixelFormat.Format24bppRgb) 'Graphics.FromImage 
						'doesn't like Indexed pixel format

        'Create a graphics object and attach it to the bitmap
        Dim newBmpGraphics As Graphics = Graphics.FromImage(newBmp)

        'Draw the portion of the input image in the crop rectangle
        'in the graphics object
        newBmpGraphics.DrawImage(inputBmp, _
              New Rectangle(0, 0, cropRectangle.Width, cropRectangle.Height), _
                cropRectangle, _
                GraphicsUnit.Pixel)

        'Return the bitmap
        newBmpGraphics.Dispose()

        'newBmp will have a RawFormat of MemoryBmp because it was created
        'from scratch instead of being based on inputBmp.  Since it is inconvenient
        'for the returned version of a bitmap to be of a different format, now convert
        'the scaled bitmap to the format of the source bitmap
        Return newBmp
    End Function		

I wrote this application in about 30 minutes. This program is useful for batch resizing for a large number of photos.

History

  • 21st February, 2008: Initial post