Solved

How can i resize 4 images and place them in equal sizes in 1 file.

Posted on 2008-10-26
9
269 Views
Last Modified: 2012-05-05
Hi,

How can i resize 4 images and place them in equal sizes in 1 file.
I have 400 + Pictures in a folder i want a script that can make these just 100 files by resizing them smaller in equal shares and place 4 images in 1 file and name them 1,2,3,4.jpg.

So when opened i can see 4 images in 1 mspaint or windows Photo gallery.

Regards
sharath
0
Comment
Question by:bsharath
  • 5
  • 4
9 Comments
 
LVL 85

Expert Comment

by:Mike Tomlinson
ID: 22807688
I'm not aware of any way to do this in pure VBScript (.vbs) or CMD Scripting...you would need to call out to an external application or library.

You could do it in C# or VB.Net Express, both of which are FREE from Microsoft:
http://www.microsoft.com/express/product/
0
 
LVL 11

Author Comment

by:bsharath
ID: 22807696
Any way is ok if i can achieve it. Please let me know what i need to do....
0
 
LVL 85

Accepted Solution

by:
Mike Tomlinson earned 500 total points
ID: 22816822
Here is a quick knock up using VB.Net 2005 Express:
http://www.microsoft.com/express/2005/download/default.aspx

Imports System.IO

Public Class Form1
 

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

        Dim thumbSize As New Size(250, 250)

        Dim bmp As New Bitmap(thumbSize.Width * 2, thumbSize.Height * 2)

        Dim g As Graphics = Graphics.FromImage(bmp)

        Dim folder As String = "c:\"

        Dim FileNames As New List(Of String)

        Dim newFileName As String

        Dim counter As Integer

        Dim counter2 As Integer

        Dim pb As New PictureBox

        pb.BorderStyle = BorderStyle.None

        pb.SizeMode = PictureBoxSizeMode.Zoom

        pb.Size = thumbSize
 

        For Each fi As FileInfo In New DirectoryInfo(folder).GetFiles("*.jpg")

            counter2 = counter2 + 1

            pb.Image = New Bitmap(fi.FullName)

            Select Case counter2

                Case 1

                    pb.DrawToBitmap(bmp, New Rectangle(0, 0, thumbSize.Width, thumbSize.Height))
 

                Case 2

                    pb.DrawToBitmap(bmp, New Rectangle(thumbSize.Width, 0, thumbSize.Width, thumbSize.Height))
 

                Case 3

                    pb.DrawToBitmap(bmp, New Rectangle(0, thumbSize.Height, thumbSize.Width, thumbSize.Height))
 

                Case 4

                    pb.DrawToBitmap(bmp, New Rectangle(thumbSize.Width, thumbSize.Height, thumbSize.Width, thumbSize.Height))

                    counter2 = 0
 
 

            End Select
 

            counter = counter + 1

            FileNames.Add(counter.ToString("00"))
 

            If FileNames.Count = 4 Then

                newFileName = Path.Combine(folder, String.Join(",", FileNames.ToArray) & ".jpg")

                g.Dispose()

                bmp.Save(newFileName, System.Drawing.Imaging.ImageFormat.Jpeg)
 

                bmp = New Bitmap(thumbSize.Width * 2, thumbSize.Height * 2)

                g = Graphics.FromImage(bmp)

                FileNames.Clear()

            End If

        Next
 

        If FileNames.Count > 0 Then

            newFileName = Path.Combine(folder, String.Join(",", FileNames.ToArray) & ".jpg")

            bmp.Save(newFileName, System.Drawing.Imaging.ImageFormat.Jpeg)

            g.Dispose()

        End If
 

        MessageBox.Show("Done!")

    End Sub
 

End Class

Open in new window

01-02-03-04.jpg
0
 
LVL 11

Author Comment

by:bsharath
ID: 22818791
Thank U Idle_Mind

Now can i know which software i need to download and do what. Just once if you can instruct me i shall keep that in mind...
0
Why You Should Analyze Threat Actor TTPs

After years of analyzing threat actor behavior, it’s become clear that at any given time there are specific tactics, techniques, and procedures (TTPs) that are particularly prevalent. By analyzing and understanding these TTPs, you can dramatically enhance your security program.

 
LVL 85

Expert Comment

by:Mike Tomlinson
ID: 22818835
Yeah...download VB.Net 2005 Express from the link I gave.  ...or you could download the newer VB.Net 2008 Express.  Either would work and both are free.  All you have to do is register it once you have it installed.  It's pretty easy.

Then you start with a "WinForms" Project (Windows Application) which gives an app with just one default form (Form1).

Right Click the Form and select "View Code".
Paste the code above over the ENTIRE default code.

Change this line so it reflects the folder you want to work with:

    Dim folder As String = "c:\"

Run the application...

0
 
LVL 11

Author Comment

by:bsharath
ID: 22819120
I get this error
Untitled.jpg
0
 
LVL 85

Expert Comment

by:Mike Tomlinson
ID: 22819405
You need to add a Button (Button1) to your Form.
0
 
LVL 11

Author Comment

by:bsharath
ID: 22819437
Button?
0
 
LVL 11

Author Comment

by:bsharath
ID: 22819447
Thanks a lot it worked great....
:-)
0

Featured Post

Enabling OSINT in Activity Based Intelligence

Activity based intelligence (ABI) requires access to all available sources of data. Recorded Future allows analysts to observe structured data on the open, deep, and dark web.

Join & Write a Comment

If like me you are one who spends a lot of time working and scripting with cmd.exe, sometimes it is handy to be able to quickly view a calendar for a given month and year. This script will quickly do just that!  Save the code posted below to a .bat …
Go is an acronym of golang, is a programming language developed Google in 2007. Go is a new language that is mostly in the C family, with significant input from Pascal/Modula/Oberon family. Hence Go arisen as low-level language with fast compilation…
The viewer will learn how to use the return statement in functions in C++. The video will also teach the user how to pass data to a function and have the function return data back for further processing.
The viewer will be introduced to the member functions push_back and pop_back of the vector class. The video will teach the difference between the two as well as how to use each one along with its functionality.

705 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

18 Experts available now in Live!

Get 1:1 Help Now