Jump to content

Photo mosaic


taietel
 Share

Recommended Posts

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
Link to comment
Share on other sites

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:

Link to comment
Share on other sites

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

[left][sub]We're trapped in the belly of this horrible machine.[/sub][sup]And the machine is bleeding to death...[/sup][sup][/sup][/left]

Link to comment
Share on other sites

Skrip, replace 

@ScriptDir&"\Foto\"

with a path to a directory with photos.

M.I.

[EDIT] Updated first post (error checking)

Edited by taietel
Link to comment
Share on other sites

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
Link to comment
Share on other sites

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

Ah, much better! That is awesome!

[left][sub]We're trapped in the belly of this horrible machine.[/sub][sup]And the machine is bleeding to death...[/sup][sup][/sup][/left]

Link to comment
Share on other sites

@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!

http://forum.autoitbrasil.com/ (AutoIt v3 Brazil!!!)

Somewhere Out ThereJames Ingram

somewh10.png

dropbo10.pngDownload Dropbox - Simplify your life!
Your virtual HD wherever you go, anywhere!

Link to comment
Share on other sites

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.

Link to comment
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
 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...