Sign in to follow this  
Followers 0

Photo mosaic

21 posts in this topic

Posted (edited)

No explanation needed. Title says it all:

#include <GUIConstantsEx.au3>
#Include <File.au3>

GUICreate("Photo Mosaic", 800, 600)
_GenerateMosaic(800,600)
GUISetState(@SW_SHOW)

While 1
    Sleep(10)
    Switch GUIGetMsg()
        Case $GUI_EVENT_CLOSE
            Exit
    EndSwitch
WEnd

Func _GenerateMosaic($iW, $iH, $iX=0,$iY=0)
    Local $PathToPhotoDir = FileSelectFolder("Select Folder","") & "\"
    If @error then Exit
    $arPhoto = _FileListToArray($PathToPhotoDir,"*.jpg",1)
    If @error then
        MsgBox(0,"ERROR:","Replace @ScriptDir&'\Foto\' with your path to the photo directory!")
        Exit
    EndIf
    GUICtrlCreatePic($PathToPhotoDir&$arPhoto[1], $iX, $iY, $iW, $iH);first photo as background
    GUICtrlSetState(-1, $GUI_DISABLE)
    SplashTextOn("", "Wait!"&@LF&"generating mosaic...", 240, 60, -1, -1, 1+32, "Tahoma", 12,800)
    For $i=1 To 10;number of passes
        $n = Random(-100,100,1)
        For $j=1 To UBound($arPhoto)-1; be careful with the array; the bigger it is, the longer you wait!
            $xx = Random($iX,$iW,1)
            $yy = Random($iY,$iH,1)
            $Pic1 = GUICtrlCreatePic($PathToPhotoDir&$arPhoto[$j], $xx-$n, $yy-$n, 102.4+$n, 76.8+$n)
        Next
    Next
    SplashOff()
EndFunc
   Edited by taietel

Share this post


Link to post
Share on other sites



Posted

Simple and wonderful ... Thank you :graduated:

Share this post


Link to post
Share on other sites

Posted

Thanks! There is a big poster on the front building, with loads of photos overlapping together, so I thought it would be nice to make one with my photos too.  :graduated:

Share this post


Link to post
Share on other sites

Posted

Simple and wonderful ... Thank you :graduated:

Ya. What he said!

Share this post


Link to post
Share on other sites

Posted

This seems pretty cool, however it does not actually generate any images. It say's "Please wait, generating", then the GUI is empty.

Share this post


Link to post
Share on other sites

Posted (edited)

Skrip, replace 

@ScriptDir&"\Foto\"

with a path to a directory with photos.

M.I.

[EDIT] Updated first post (error checking)

Edited by taietel

Share this post


Link to post
Share on other sites

Posted

Skrip, replace

@ScriptDir&"\Foto\"

with a path to a directory with photos.

M.I.

And don't forget, do it twice! At the $arPhoto and $Pic1 definitions.

Share this post


Link to post
Share on other sites

Posted

somdcomputergui, done!  :graduated: Remains only one place to replace (updated first post).

Share this post


Link to post
Share on other sites

Posted

Not working on vista? nothing appears..

Share this post


Link to post
Share on other sites

Posted

eracross, I've tested on Win7/32 and XPsp3/32 and it works. You have to change in the script where I've wrote ";<<<<<<<".

Share this post


Link to post
Share on other sites

Posted

I did the image wont appear..

Share this post


Link to post
Share on other sites

Posted (edited)

When you run it it will appear a slash text ("Wait! generating mosaic...") and after few seconds the gui with the images overlapped.

Something like this:

http://img840.imageshack.us/img840/1531/mosaicju.jpg

The script uses jpg's, but you can add bmp's also.

Edited by taietel

Share this post


Link to post
Share on other sites

Posted

Oh i see it wont work with 2 photos..needs more pics.hehe thanks nice work

Share this post


Link to post
Share on other sites

Posted

For example purpose, perhaps yopu should change the line

Local $PathToPhotoDir = @ScriptDir&"\Foto\"

with

Local $PathToPhotoDir = FileSelectFolder("Select Folder","") & "\"

Share this post


Link to post
Share on other sites

Posted

Thanks John,

I've modified it (first post). For example purpose is indeed more handy than modifying the script.

Share this post


Link to post
Share on other sites

Posted

somdcomputergui, done! :graduated: Remains only one place to replace (updated first post).

Ah, much better! That is awesome!

Share this post


Link to post
Share on other sites

Posted

@taietel

Magnificent! Are you just keep proving that creativity and imagination to do a thousand things with a simple code. This forum needs people like you, keep it up; You're the man!

Share this post


Link to post
Share on other sites

Posted

Nice script!

Works great on Win7/64

Share this post


Link to post
Share on other sites

Posted

Nice work.

I think it would be better if the generated mosaic could be saved as an image. It would also be better if images used in the mosaic wouldn't repeat itself.

Share this post


Link to post
Share on other sites

Posted

1957clasic, it's good to know! I'm on 32 (XP and 7) and no chance to test it myself..

SUB0DH, I know that. The script posted is just an example. Rest is up to you.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now
Sign in to follow this  
Followers 0

  • Recently Browsing   0 members

    No registered users viewing this page.