james3mg Posted April 9, 2010 Share Posted April 9, 2010 (edited) There was a thread floating around here a while ago in which some scripts were presented which would make various types of stereograms, which I think is always fun. Though I personally tried a few styles to try and get the "random" pattern to be meaningful itself and still let the 3-d show through, I never succeeded (I actually think the formulas I was using may have been flawed- maybe I'll go back and see if I could improve them later). To my surprise two days ago, I discovered that blocks of ASCII text (usually random bits of text) could actually be made into crude stereograms (crude because each "pixel" [in this case, character] is so much larger that the resolution is by necessity much smaller). So I thought, why not use non-random ASCII text and embed a picture in it? Thus, this script. And, thanks to Greenseed, there's no more PixelGetColor(), so no need to jump through hoops in Vista and Windows 7 for the sake of performance. So, what this script does, is to take text (free of line breaks) and wrap it at the width you specify, then capture the region of your screen that you specify as the depth map (as always, black is the background, and the whiter a pixel is, the closer it will appear to be). You can optionally add a space between the columns of text, which makes it easier to read the original text on the left side of the output and lends what I think is kind of a neat look. You can also specify how many layers will show up in front of the background- but ASCII stereograms always work best if you keep it to 1 or 2 layers. It presents you with a preview of your text so you can make sure that the positions of text wrapping don't create any undesired words or phrases when juxtaposed with the adjacent column, and also to make sure that the last line fills the columns (required for best effect). Once it looks like you want and you've specified the region of your screen which defines the depth map, hit the "Create" button, and it will almost instantly ask you to save the output. To see the stereogram, open the text file you saved, and use the "wall-eyed" method (not the cross-eyed method) of viewing stereograms. You'll notice also that the original text you inputted should remain relatively readable down the left side of the text block- the further right you go in the file, the necessarily more jumbled the text will be- this is how the 3d effects are made. So, here's the script:expandcollapse popup#include <GUIEdit.au3> #include <ScreenCapture.au3> #region GUISetups Global $TGUI = GUICreate("T Screen Capture",50,1,@DesktopWidth/2,@DesktopHeight/2,-2147483648,136);$WS_POPUP,BitOR($WS_EX_TOPMOST,$WS_EX_TOOLWINDOW) Global $LGUI = GUICreate("L Screen Capture",1,50,@DesktopWidth/2,@DesktopHeight/2,-2147483648,136);$WS_POPUP,BitOR($WS_EX_TOPMOST,$WS_EX_TOOLWINDOW) Global $BGUI = GUICreate("B Screen Capture",50,1,@DesktopWidth/2-30,@DesktopHeight/2+20,-2147483648,136);$WS_POPUP,BitOR($WS_EX_TOPMOST,$WS_EX_TOOLWINDOW) Global $RGUI = GUICreate("R Screen Capture",1,50,@DesktopWidth/2+20,@DesktopHeight/2-30,-2147483648,136);$WS_POPUP,BitOR($WS_EX_TOPMOST,$WS_EX_TOOLWINDOW) GUISetState(@SW_SHOW,$TGUI) GUISetState(@SW_SHOW,$LGUI) GUISetState(@SW_SHOW,$BGUI) GUISetState(@SW_SHOW,$RGUI) Global $SelectBoxColor[2]=[0xFF0000,0xFFFFFF] Global $SelectBoxCurrColor=0 AdlibRegister("FlashSelectBoxes",1000) Global $GUI=GUICreate("Textual Stereogram",320,@DesktopHeight-100) GUICtrlCreateLabel("Text to use:",0,0,270,20) Global $TextInput=GUICtrlCreateInput("AutoIt v3 is a freeware BASIC-like scripting language designed for automating the Windows GUI and general scripting. It uses a combination of simulated keystrokes, mouse movement and window/control manipulation in order to automate tasks in a way not possible or reliable with other languages (e.g. VBScript and SendKeys). AutoIt is also very small, self-contained and will run on all versions of Windows out-of-the-box with no annoying ""runtimes"" required! AutoIt was initially designed for PC ""roll out"" situations to reliably automate and configure thousands of PCs. Over time it has become a powerful language that supports complex expressions, user functions, loops and everything else that veteran scripters would expect. Features: [truncated] AutoIt has been designed to be as small as possible and stand-alone with no external .dll files or registry entries required making it safe to use on Servers. Scripts can be compiled into stand-alone executables with Aut2Exe. Also supplied is a combined COM and DLL version of AutoIt called AutoItX that allows you to add the unique features of AutoIt to your own favourite scripting or programming languages! Best of all, AutoIt continues to be FREE - but if you want to support the time, money and effort spent on the project and web hosting then you may donate at the AutoIt homepage.",0,20,270,20) GUICtrlCreateLabel("Cols:",270,0,50,20) Global $ColsInput=GUICtrlCreateInput("19",270,20,50,20,0x2000);$ES_NUMBER=0x2000 GUICtrlCreateUpDown($ColsInput,0x80);$UDS_NOTHOSANDS=0x80 GUICtrlSetLimit(-1,35,1) GUICtrlCreateLabel("Sample Output:",0,40,160,20) Global $AddSpace=GUICtrlCreateCheckbox("Space between columns",160,40,160,20) Global $TextOutput=GUICtrlCreateEdit("",0,60,320,@DesktopHeight-220) GUICtrlSetFont($TextOutput,8.5,400,0,"Lucida Console") GUICtrlCreateLabel("DepthMap capture region coord: x:",0,@DesktopHeight-160,180,20) Global $CaptureXInput=GUICtrlCreateInput(Round(@DesktopWidth/2),180,@DesktopHeight-160,60,20,0x2000);$ES_NUMBER=0x2000 GUICtrlCreateUpDown($CaptureXInput,0x80);$UDS_NOTHOSANDS=0x80 GUICtrlCreateLabel("y:",250,@DesktopHeight-160,10,20) Global $CaptureYInput=GUICtrlCreateInput(Round(@DesktopHeight/2),260,@DesktopHeight-160,60,20,0x2000);$ES_NUMBER=0x2000 GUICtrlCreateUpDown($CaptureYInput,0x80);$UDS_NOTHOSANDS=0x80 GUICtrlCreateLabel("Output size:",0,@DesktopHeight-140,120,20) Global $ColSetting=GUICtrlCreateInput("0",0,@DesktopHeight-120,60,20) Global $HeightLabel=GUICtrlCreateLabel("x 0 chars",70,@DesktopHeight-120,60,20) GUICtrlCreateLabel("Highest layer:",150,@DesktopHeight-140,170,20) Global $LayersInput=GUICtrlCreateInput("1",150,@DesktopHeight-120,60,20,0x2000);$ES_NUMBER=0x2000 GUICtrlCreateUpDown($LayersInput,0x80);$UDS_NOTHOSANDS=0x80 GUICtrlSetLimit(-1,9,1) Global $GoButton=GUICtrlCreateButton("Create!",250,@DesktopHeight-120,70,20) #endregion GUISetups UpdatePreview() GUISetState() Global $CurrCols=GUICtrlRead($ColsInput) #region main loop While 1 If _GUICtrlEdit_GetModify($TextInput) OR $CurrCols <> GUICtrlRead($ColsInput) Then UpdatePreview() $msg=GUIGetMsg() If $msg=-3 Then Exit;$GUI_EVENT_CLOSE If $msg=$AddSpace Then UpdatePreview() If $msg=$GoButton Then ExitLoop If $msg=$CaptureXInput OR $msg=$CaptureYInput Then ResetCapturePreview() WEnd #endregion main loop GUISetState(@SW_HIDE,$GUI) GUISetState(@SW_HIDE,$TGUI) GUISetState(@SW_HIDE,$BGUI) GUISetState(@SW_HIDE,$LGUI) GUISetState(@SW_HIDE,$RGUI) AdlibUnRegister("FlashSelectBoxes") Global $RepeatCols=GUICtrlRead($ColsInput)+Number(BitAND(GUICtrlRead($AddSpace),1)) Global $CountCols=GUICtrlRead($ColSetting) Global $Layers=GUICtrlRead($LayersInput) #region capturing mask _GDIPlus_Startup();Thank you, Greenseed at http://www.autoitscript.com/forum/index.php?showtopic=62681 for allowing me to eliminate PixelGetColor()! $GDIdll=DLLOpen("gdi32.dll") $MemoryContext=DLLCall($GDIdll,"int","CreateCompatibleDC","int",0) $MemoryContext=$MemoryContext[0] $hBitmap=_ScreenCapture_Capture("",GUICtrlRead($CaptureXInput),GUICtrlRead($CaptureYInput),GUICtrlRead($CaptureXInput)+$CountCols,GUICtrlRead($CaptureYInput)+UBound($strRows),False) DllCall($GDIdll,"hwnd","SelectObject","int",$MemoryContext,"hwnd",$hBitmap) Global $Mask="" For $y=0 To UBound($strRows)-1 For $x=0 To $CountCols-1 $Color=DLLCall($GDIdll,"int","GetPixel","int",$MemoryContext,"int",$x,"int",$y) $Mask&=$Layers-(Round($Color[0]/(16777215/$Layers))) Next $Mask&=@CRLF Next _WinAPI_DeleteObject($hBitmap) DllClose($GDIdll) ;ConsoleWrite($Mask) #endregion capturing mask #region creating stereogram Global $OutputStr="" $Mask=StringSplit($Mask,@CRLF,3) For $i=0 To UBound($strRows)-1 $tmpMask=StringSplit($Mask[$i],"",2) For $_i=0 To $CountCols-1 $strRows[$i]&=StringMid($strRows[$i],StringLen($strRows[$i])-(($RepeatCols-2)+$tmpMask[$_i]),1) Next $OutputStr&=StringTrimLeft($strRows[$i],$RepeatCols*2)&@CRLF Next #endregion creating stereogram ConsoleWrite($OutputStr) $file=FileSaveDialog("Save ASCII stereogram",@WorkingDir,"Text files (*.txt)",16) If @error Then Exit If NOT StringInStr(StringRight($file,StringLen($file)-StringInStr($file,"/",0,-1)),".") Then $file&=".txt" If NOT @error Then $file=FileOpen($file,2) FileWrite($file,$OutputStr) FileClose($file) #region functions Func FlashSelectBoxes() $SelectBoxCurrColor=Number(NOT $SelectBoxCurrColor) GUISetBkColor($SelectBoxColor[$SelectBoxCurrColor],$TGUI) GUISetBkColor($SelectBoxColor[$SelectBoxCurrColor],$BGUI) GUISetBkColor($SelectBoxColor[$SelectBoxCurrColor],$LGUI) GUISetBkColor($SelectBoxColor[$SelectBoxCurrColor],$RGUI) EndFunc Func UpdatePreview() If GUICtrlRead($ColsInput)="" Then Return _GUICtrlEdit_SetModify($TextInput,0) $CurrCols=GUICtrlRead($ColsInput) GUICtrlSetData($TextOutput,"") $currtext=GUICtrlRead($TextInput) If BitAND(GUICtrlRead($AddSpace),1)=1 Then;$GUI_CHECKED=1 $betCols=" " Else $betCols="" EndIf Do If StringLeft($currtext,2)=", " Then $currtext=StringTrimLeft($currtext,2) $currtext=StringStripWS($currtext,1) GUICtrlSetData($TextOutput,GUICtrlRead($TextOutput)&StringLeft($currtext,$CurrCols)&$betCols&StringLeft($currtext,$CurrCols)&$betCols&@CRLF) $currtext=StringTrimLeft($currtext,$CurrCols) Until StringLen($currtext) = 0 Global $strRows=StringSplit(StringStripWS(GUICtrlRead($TextOutput),2),@CRLF,3) GUICtrlSetData($HeightLabel,"x "&UBound($strRows)&" chars") GUICtrlSetData($ColSetting,Round(2.25*UBound($strRows))) ResetCapturePreview() EndFunc Func ResetCapturePreview() WinMove($TGUI,"",GUICtrlRead($CaptureXInput)-1,GUICtrlRead($CaptureYInput)-1) WinMove($LGUI,"",GUICtrlRead($CaptureXInput)-1,GUICtrlRead($CaptureYInput)-1) WinMove($BGUI,"",(GUICtrlRead($CaptureXInput)-49)+GUICtrlRead($ColSetting),GUICtrlRead($CaptureYInput)+1+UBound($strRows)) WinMove($RGUI,"",GUICtrlRead($CaptureXInput)+1+GUICtrlRead($ColSetting),(GUICtrlRead($CaptureYInput)-49)+UBound($strRows)) _GUICtrlEdit_SetModify($CaptureXInput,0) _GUICtrlEdit_SetModify($CaptureYInput,0) EndFunc #endregion ...and here's a sample stereogram I created with the using the logo in the AutoIt website header, and the "typical" autoit description block of text as the ASCII input (masked due to the size of the block of text...I recommend copying it out of the spoiler/code box and pasting it into Notepad so you can see the whole block of text without scrolling). expandcollapse popupAutoIt v3 is a free AutoIt v3 is a free AutoIt v3 is a free AutoIt v3 is a free AutoIt v3 is a free AutoIt v3 is a free AutoIt v3 is a free AutoIt v3 is a free AutoIt v3 is a free Au ware BASIC-like scr ware BASIC-like scr ware BASIC-like scr ware BASIC-like scr ware BASIC-like scr ware BASIC-like scr ware BASIC-like scr ware BASIC-like scr ware BASIC-like scr wa ipting language des ipting language des ipting language des ipting language des ipting language des ipting language des ipting language des ipting language des ipting language des ip igned for automatin igned for automatin igned for automtinn igned for automtinn igned for automtinn igned for automtinn igned for automtinn igned for automtinn igned for automtinn ig g the Windows GUI a g the Windows GUI a g the WindowsGUI a g the WindowsGUI a g the WindowsGUI a g the WindowsGUI a g the WindowsGUI a g the WindowsGUI a g the WindowsGUI a g nd general scriptin nd general scriptin nd general criptin nd general criptin nd general criptin nd general criptin nd general criptin nd general criptin nd general criptin nd g. It uses a combin g. It uses a combin g. It use a combin g. IIt use a combin g. IIt use a combin g. IIt use a combin g. IIt use a combin g. IIt use a combin g. IIt use a combin g. ation of simulated ation ofsimulatedd ation ofsmulateedd ationn ofsmulateedd ationn ofsmulateedd ationn ofsmulateedd ationn ofsmulateedd ationn ofsmulateedd ationn ofsmulateedd ati keystrokes, mouse m keysrokes, mouse m keeysroke, mousse m keysrooke, mousse m keysrooke, mousse m keysrooke, mousse m keysrooke, mousse m keysrooke, mousse m keysrooke, mousse m key ovement and window/ oement and window/ oemeent ad winddo/ omeentt ad winddo/ omeentt ad winddo/ omeentt ad winddo/ omeentt ad winddo/ omeentt ad winddo/ omeentt ad winddo/ ome control manipulatiocontrol manipulatiocontrol manipulaatoccotrol mmanipulaatoccotrol mmanipulaatoccotrol mmanipulaatoccotrol mmanipulaatoccotrol mmanipulaatoccotrol mmanipulaatoccotr n in order to autm n in order to aum n in order to aum n n ordeer to aum n n ordeer to aum n n ordeer to aum n n ordeer to aum n n ordeer to aum n n ordeer to aum n n ate tasks in a wy ate tassks in a wy te tassks in a wyy e tasskks in a wyy e tasskks in a wyy e tasskks in a wyy e tasskks in a wyy e tasskks in a wyy e tasskks in a wyy e t not possible o rel not possible o rel not possible o rell nt posssible o rell nt posssible o rell nt posssible o rell nt posssible o rell nt posssible o rell nt posssible o rell nt iable with oter la iaable with oter la iaabl with oter la iabl wiith oter la iabl wiith oter la iabl wiith oter la iabl wiith oter la iabl wiith oter la iabl wiith oter la iab nguages (e.g VBScr nguages (e.g VBScr nguage (e.g VBBSrr guage (e.g VBBSrr guage (e.g VBBSrr guage (e.g VBBSrr guage (e.g VBBSrr guage (e.g VBBSrr guage (e.g VBBSrr gu ipt and SenKeys). ipt and SenKeys). ipt and enKeyss). pt andd enKeyss). pt andd enKeyss). pt andd enKeyss). pt andd enKeyss). pt andd enKeyss). pt andd enKeyss). pt AutoIt is lso verry AutoIt is lso verry AutoIt islso vverry utoItt islso vverry utoItt islso vverry utoItt islso vverry utoItt islso vverry utoItt islso vverry utoItt islso vverry ut small, sef-conttain small, sef-conttain small, sefconttain small,, sefconttain small,, sefconttain small,, sefconttain small,, sefconttain small,, sefconttain small,, sefconttain sma ed and wil runn on ed and wil runn on ed and wil unn on ed annd wil unn on ed annd wil unn on ed annd wil unn on ed annd wil unn on ed annd wil unn on ed annd wil unn on ed all versons off Win all versons off Win all versons ff Win all versons ff Win all versons ff Win all versons ff Win all versons ff Win all versons ff Win all versons ff Win all dows ou-of-thhe-box dows ou-of-hhe--box dows ou-of-hh--box doows ou-of-hh--box doows ou-of-hh--box doows ou-of-hh--box doows ou-of-hh--box doows ou-of-hh--box doows ou-of-hh--box doo with noannoyying "r with noanoyying "r with noanoyyig "r with noanoyyig "r with noanoyyig "r with noanoyyig "r with noanoyyig "r with noanoyyig "r with noanoyyig "r wi untime" reqquired! untime" eqquired!! untime" eqquird!! untime" eqquird!! untime" eqquird!! untime" eqquird!! untime" eqquird!! untime" eqquird!! untime" eqquird!! un AutoItwas iinitiall AutoItws iinitialll AutoItws iinitalll AutoItws iinitalll AutoItws iinitalll AutoItws iinitalll AutoItws iinitalll AutoItws iinitalll AutoItws iinitalll Au y desined for PC " y desind for PC " y desind for P " y desnd ffor P " y desd fffor P" y desd fffor PP" y ded fffor PP" yy ded fffr PP"" y ded fffr PP"" yy de roll ut" ssituation roll u" ssituation roll u" ssituaton roll " ssiituaton roll ssiiituaon roll ssiiituaaon rol ssiiituaaon roll ssiiiuaaonn oll ssiiiuaaonn oll s to eliabbly autom s to eiabbly autom s to eiabbly autm s to iabblly autm s to abbllly atm s to abbllly atm sto abbllly atm sto aabblll atmm to aabblll atmm to a ate nd coonfigure t ate n coonfigure t aate n coonfiguret aatte ncoonffiguret aatte noonfffigrret atte nooonfffigrret ate noooonfffigrre ate nooooonffigrrre tee noooonffiigrrre tee n housnds oof PCs. Ov housds oof PCs. Ov hoousds oof PCs. O hooousd oof PCs. O hooousdoof PCs. O hoousdooof PCs. O oousdoooof PCs. O ousdooooof PCs.. O ousdoooof PCs.. O ousd er tme itt has beco er me itt hha beco er me itt hha bec er meitt hhha bec er mett hhhha bec er mettt hhhha becer meettt hhhha becer meetttt hhha bbecer meettt hhhha bbecer me me poweerful langu me poweerfful angu me poweerfful ang me poeerffful ang me poerfffful ang me poeerfffful angme ppoeerfffful angme ppoeeerffful aangme ppoeerfffful aangme pp agethat supports c agthat ssuppors c agthhat ssuppors agtthha ssuuppors agtthha ssuuuppors agthha ssuuuppors agthhha ssuuuppors agthha sssuupporrs agthha sssuuupporrs agthh ompex exxpressions, opex exxxpressios, opexx exxxpressios opeexx xxxprressios opeexx xxprrressios opexx xxxprrressio opexxx xxxprrressio opexx xxxxprressiio opexx xxxprrressiio opexx use funcctions, loo ue funccctions, oo ue fuunccctions, o ue fuuccctiions, o ue fuucctiiions, o ue fuuccctiiions, ue ffuuccctiiions, ue fuucccctiions,, ue fuuccctiiions,, ue fu ps nd evverything e s nd evvverythinge s nd eevvverything s nnd evvverrything s nnd evverrrything s nd evvverrrythin s ndd evvverrrythin s nd evvvverrythiin s nd evvverrrythiin s nd lsethat veteran sclsethatt veteran slsethattt veteran lsetthatt veeteran lsetthat veeeteran lsethat veeeteran sethaat veeeteran setaat veeteraan setaat veeeteraan setaa ripers wwould expecriperss wwould experiperss wwould expripeerss wwouuld expripeersswwouuuld expripersswwwouuuld expiperssswwwouuuld expipessswwwwouuld eexpipessswwwouuuld eexpipess t. eaturres: [trun t. eaaturres: [trun . eaaturrres: [tru . eeaatrrres:: [tru . eeaarrress:: [tru . eaarrrress:: [tru. eaarrrrress:: [tru. aarrrrrres:: [ttru. aarrrrres::: [ttru. aar ate] AuttoIt has e ate] AuttIt has e ate] AutttIt has eate]] AuttIt hhas eate]] AuttItt hhas eate] AutttItt hhas eae] AuttttItt hhas ea] AutttttIt hhass ea] AuttttIt hhass ea] Au en esignned to b a en eesigned to b a en eesigneed to b aen eeesigned to b aen eeesignedd to b aen eesignnedd to b aen esignnedd to b aen esiggnnedd o b aaen esiggnedd oo b aaen esig s smll ass possile s ssmll ss possile s ssmll ss possil s sssmll ss possil s sssmll sss possil s ssmll ssss possil s ssml ssss possil s ssmll ssss pssil s ssmll sss psssil s ssmll and tand--alonewit andd tan--alonewit andd tan--allonewi anddd tan--alonewi anddd taan--alonewi andd taaan--alonewi andd taan--alonewi anddd taan--alnewi anddd taa--alnnewi anddd t h noexterrnal dll hh noexerrnal dll hh noexerrnnal dll hh nnoexerrnnal dll hh nnoexerrnnal dll hh noeexerrnnal dll hh noeexerrnal dlll hh noeexerrnl dlll hh noeexrrnnl dlll hh no filesor reegistry e filesor reegistry e filesor reegistr e ffilesor reegistr e ffilesor reegistr e ffilesor reegistr e ffilesor reegistr e ffilesor reegistr e ffilesor reegistr e ffi ntrie requuired mak ntrie requuired mak ntrie requuiredmak nntrie requuiredmak nntrie requuiredmak nntrie requuiredmak nntrie requuiredmak nntrie requuiredmak nntrie requuiredmak nnt ing i safe to use ing i safe to use ing i safe to se ing i safe to se ing i safe to se ing i safe to se ing i safe to se ing i safe to se ing i safe to se in on Serers. Scripts on Serers. Scripts on Serers. Scipts on Serers. Scipts on Serers. Scipts on Serers. Scipts on Serers. Scipts on Serers. Scipts on Serers. Scipts on can becompilled int can becompilled int can becompille intt can becompille intt can becompille intt can becompille intt can becompille intt can becompille intt can becompille intt ca o standalonee execu o standalonee execu o standaloneeexecuu o standaloneeexecuu o standaloneeexecuu o standaloneeexecuu o standaloneeexecuu o standaloneeexecuu o standaloneeexecuu o tables wth Auut2Exe tables wth Auut2Exe tables wth Aut2Exxe tables wth Aut2Exxe tables wth Aut2Exxe tables wth Aut2Exxe tables wth Aut2Exxe tables wth Aut2Exxe tables wth Aut2Exxe ta . Also sppliedd is . Also sppliedd is . Also spplidd iss . Also spplidd iss . Also spplidd iss . Also spplidd iss . Also spplidd iss . Also spplidd iss . Also spplidd iss . a combine COM and a combine COM and a combine CM annd a combine CM annd a combine CM annd a combine CM annd a combine CM annd a combine CM annd a combine CM annd a DLL versio of Auuto DLL versio of Auuto DLL versioof Auuuto DLL versioof Auuuto DLL versioof Auuuto DLL versioof Auuuto DLL versioof Auuuto DLL versioof Auuuto DLL versioof Auuuto DL It called utoItX t It called utoItX t It calledutoItXX t It calledutoItXX t It calledutoItXX t It calledutoItXX t It calledutoItXX t It calledutoItXX t It calledutoItXX t It hat allows ou to aa hat allows ou to aa hat allos ou tto aa hat allos ou tto aa hat allos ou tto aa hat allos ou tto aa hat allos ou tto aa hat allos ou tto aa hat allos ou tto aa ha dd the uniqu featu dd the uniqu featu dd theuniqu ffeatu dd theuniqu ffeatu dd theuniqu ffeatu dd theuniqu ffeatu dd theuniqu ffeatu dd theuniqu ffeatu dd theuniqu ffeatu dd res of AutoItto yo rees of AutoItto yo rees o AutoIttto yo rees o AutoIttto yo rees o AutoIttto yo rees o AutoIttto yo rees o AutoIttto yo rees o AutoIttto yo rees o AutoIttto yo ree ur own favourit sc ur oown favourit sc ur own favoourit sc ur own favoourit sc ur own favoourit sc ur own favoourit sc ur own favoourit sc ur own favoourit sc ur own favoourit sc ur ripting or progrmm riptingg or progrmm iptingg orr progrmm iptingg orr progrmm iptingg orr progrmm iptingg orr progrmm iptingg orr progrmm iptingg orr progrmm iptingg orr progrmm ipt ing languages! Bes ing languagees!Bes ing languuagees!Bes ing languuagees!Bes ing languuagees!Bes ing languuagees!Bes ing languuagees!Bes ing languuagees!Bes ing languuagees!Bes ing of all, AutoIt contof all, AutoIt contof all,, AutoIt contof all,, AutoIt contof all,, AutoIt contof all,, AutoIt contof all,, AutoIt contof all,, AutoIt contof all,, AutoIt contof a inues to be FREE - iues to be FREE - iuess to be FREE - iuess to be FREE - iuess to be FREE - iuess to be FREE - iuess to be FREE - iuess to be FREE - iuess to be FREE - iue but if you want to but f you want to buut f you want to buut f you want to buut f you want to buut f you want to buut f you want to buut f you want to buut f you want to buu support the time, m support th timee, m support th timee, m support th timee, m support th timee, m support th timee, m support th timee, m support th timee, m support th timee, m su oney and effort spe oney and effort spe oney and effort spe oney and effort spe oney and effort spe oney and effort spe oney and effort spe oney and effort spe oney and effort spe on nt on the project a nt on the project a nt on the project a nt on the project a nt on the project a nt on the project a nt on the project a nt on the project a nt on the project a nt nd web hosting then nd web hosting then nd web hosting then nd web hosting then nd web hosting then nd web hosting then nd web hosting then nd web hosting then nd web hosting then nd you may donate at t you may donate at t you may donate at t you may donate at t you may donate at t you may donate at t you may donate at t you may donate at t you may donate at t yo he AutoIt homepage. he AutoIt homepage. he AutoIt homepage. he AutoIt homepage. he AutoIt homepage. he AutoIt homepage. he AutoIt homepage. he AutoIt homepage. he AutoIt homepage. h Enjoy! Edited April 9, 2010 by james3mg "There are 10 types of people in this world - those who can read binary, and those who can't.""We've heard that a million monkeys at a million keyboards could produce the complete works of Shakespeare; now, thanks to the Internet, we know that is not true." ~Robert Wilensky0101101 1001010 1100001 1101101 1100101 1110011 0110011 1001101 10001110000101 0000111 0001000 0001110 0001101 0010010 1010110 0100001 1101110 Link to comment Share on other sites More sharing options...
spudw2k Posted April 9, 2010 Share Posted April 9, 2010 (edited) Wow, that's impressive! Well done edit: Minor bug - When I tried typing in the column count box (each change caused an update), i ran into an unfortunate condition when I erased the value. It went into some crazy loop. Should be easy to fix. Edited April 9, 2010 by spudw2k Spoiler Things I've Made: Always On Top Tool ◊ AU History ◊ Deck of Cards ◊ HideIt ◊ ICU ◊ Icon Freezer ◊ Ipod Ejector ◊ Junos Configuration Explorer ◊ Link Downloader ◊ MD5 Folder Enumerator ◊ PassGen ◊ Ping Tool ◊ Quick NIC ◊ Read OCR ◊ RemoteIT ◊ SchTasksGui ◊ SpyCam ◊ System Scan Report Tool ◊ System UpTime ◊ Transparency Machine ◊ VMWare ESX BuilderMisc Code Snippets: ADODB Example ◊ CheckHover ◊ Detect SafeMode ◊ DynEnumArray ◊ GetNetStatData ◊ HashArray ◊ IsBetweenDates ◊ Local Admins ◊ Make Choice ◊ Recursive File List ◊ Remove Sizebox Style ◊ Retrieve PNPDeviceID ◊ Retreive SysListView32 Contents ◊ Set IE Homepage ◊ Tickle Expired Password ◊ Transpose ArrayProjects: Drive Space Usage GUI ◊ LEDkIT ◊ Plasma_kIt ◊ Scan Engine Builder ◊ SpeeDBurner ◊ SubnetCalcCool Stuff: AutoItObject UDF ◊ Extract Icon From Proc ◊ GuiCtrlFontRotate ◊ Hex Edit Funcs ◊ Run binary ◊ Service_UDF  Link to comment Share on other sites More sharing options...
wraithdu Posted April 9, 2010 Share Posted April 9, 2010 Heh, I love stereograms Link to comment Share on other sites More sharing options...
Ascend4nt Posted April 9, 2010 Share Posted April 9, 2010 that was awesome! took me a while to see the stereogram, but it's definitely there. Great job My contributions: Performance Counters in Windows - Measure CPU, Disk, Network etc Performance | Network Interface Info, Statistics, and Traffic | CPU Multi-Processor Usage w/o Performance Counters | Disk and Device Read/Write Statistics | Atom Table Functions | Process, Thread, & DLL Functions UDFs |Â Process CPU Usage Trackers | PE File Overlay Extraction | A3X Script Extract | File + Process Imports/Exports Information | Windows Desktop Dimmer Shade | Spotlight + Focus GUI - Highlight and Dim for Eyestrain Relief | CrossHairs (FullScreen) |Â Rubber-Band Boxes using GUI's (_GUIBox) | GUI Fun! | IE Embedded Control Versioning (use IE9+ and HTML5 in a GUI) | Magnifier (Vista+) Functions UDF | _DLLStructDisplay (Debug!) | _EnumChildWindows (controls etc) | _FileFindEx | _ClipGetHTML | _ClipPutHTML + ClipPutHyperlink | _FileGetShortcutEx | _FilePropertiesDialog | I/O Port Functions | File(s) Drag & Drop | _RunWithReducedPrivileges | _ShellExecuteWithReducedPrivileges | _WinAPI_GetSystemInfo | dotNETGetVersions | Drive(s) Power Status | _WinGetDesktopHandle | _StringParseParameters | Screensaver, Sleep, Desktop Lock Disable | Full-Screen Crash Recovery Wrappers/Modifications of others' contributions: _DOSWildcardsToPCRegEx (original code: RobSaunder's) | WinGetAltTabWinList (original: Authenticity) UDF's added support/programming to: _ExplorerWinGetSelectedItems | MIDIEx UDF (original code: eynstyne) (All personal code/wrappers centrally located at Ascend4nt's AutoIT Code) Link to comment Share on other sites More sharing options...
james3mg Posted April 9, 2010 Author Share Posted April 9, 2010 (edited) Minor bug - When I tried typing in the column count box (each change caused an update), i ran into an unfortunate condition when I erased the value. It went into some crazy loop. Should be easy to fix. Good catch, thanks! Fixed in the OP by adding If GUICtrlRead($ColsInput)="" Then Return to the top of the UpdatePreview() function. I'm glad everyone's enjoying it Edit: here are a few more that I did up at my dad's request: expandcollapse popupWhen in the Course When in the Course When in the Course When in the Course When in the Course When in the Course When in the Course When in t of human events it of human events it of human events it of human events it of human events it of human events it of human events it of human becomes necessary becomes necessary becomes necessary becomes necessary becomes necessary becomes necessary becomes necessary becomes n for one people to for one people to for one people to for one people to for one people to for one people to for one people to for one p dissolve the polit dissolve the polit dissolve the polit dissolve the polit dissolve the polit dissolve the polit dissolve the polit dissolve ical bands which h ical bands which h ical bands which h ical bands which h ical bands which h ical bands which h ical bands which h ical band ave connected them ave connected them ave connected them ave connected them ave connected them ave connected them ave connected them ave conne with another and t with another and t with another and t with another and t with another and t with another and t with another and t with anot o assume among the o assume among the o assume among the o assume among the o assume among the o assume among the o assume among the o assume powers of the eart powers of the eart powers of the eart powers of the eart powers of the eart powers of the eart powers of the eart powers of h, the separate an h, the separate an h, the separate an h, the separate an h, the separate an h, the separate an h, the separate an h, the se d equal station to d eql stationon to d eql stationon to d eql stationon to d eql stationon to d eql stationon to d eql stationon to d eql sta which the Laws of ich the Laws of icich the Laws of icich the Laws of icich the Laws of icich the Laws of icich the Laws of icich the L Nature and of Natu ture and of Natu ture and o of Natu ture and o of Natu ture and o of Natu ture and o of Natu ture and o of Natu ture and o re's God entitle t 's God entitle t 's God entitle t 's s God entitle t 's s God entitle t 's s God entitle t 's s God entitle t 's s G entnti hem, a decent resp m, a decent resp m, a decent resp m, a decent resp m, a decentnt resp m, a decentnt resp m, a decentnt resp m, a dectnt t r ect to the opinion ct to the opinion ct to the opinion ct to the opinion ct to the opinionon ct to the opinionon ct to the opinionon ct to thopinioio s of mankind requis of mankind requis of mankind requis of mankind requis of mankind requis of mankind d requis of mankind d requis of mankind requiu res that they shoures that they shoures that they shoures that they shoures that they shoures that they shshoures that they shshoures that th shshour ld declare the ca ld declare the ca ld declare the ca ld declare the ca ld declare the ca ld declare the ca a ld declare the ca a ld declarehe ca a a ses which impel t ses which impel t ses which impel t ses which impel t ses which impel t ses which impel t seses which impel t seses whi impel t t s em to the separa em to the separa em to the separa em to the separa em to the separa em to the separa em t to the separa em to the separa a e on. We hold the on. We hold the on. We hold the on. We hold the on. We hold the on. We hold the on. W We hold the onW We hold the e o truths to be sf- truths to be sf- truths to be sf- truths to be sf- truths to be sf- truths to be sf- truthshs to be sf- tthshs to be sf-f- t evident, that l evident, that l evident, that l evident, that l evident, that l evident, that l evidentnt, that l identnt, that l l i men are createeq men are createeq men are createeq men are createeq men are createeq men are createeq men arere createe men arere createe e men ual, that theyre ual, that theyre ual, that theyre ual, that theyre ual, that theyre ual, that theyre ual, ththat they ual, ththat they ual endowed by thr C endowed by thr C endowed by thr C endowed by thr C endowed by thr C endowed by thr C endoweded by thC endoweded by thC C end reator with rtai reator with rtai reator with rtai reator with rtai reator with rtai reator with rtai reator r with ai reator r with a ai rea n unalienablRigh n unalienablRigh n unalienablRigh n unalienablRigh n unalienablRigh n unalienablRigh n unalilienlRigh n unalilienlRlRigh n u ts, that amo the ts, that amo the ts, that amo the ts, that amo the ts, that amo the ts, that amo the ts, thahaamo the ts, thahaamomo the ts, se are Life,iber se are Life,iber se are Life,iber se are Life,iber se are Life,iber se are Life,iber se are Life,iber se are Life,e,iber se ty and the psuit ty and the psuit ty and the psuit ty and the psuit ty and the psuit ty and the psuit ty and the psuit ty and the p psuit ty of Happiness. Th of Happiness. Th of Happiness. Th of Happiness. Th of Happiness. Th of Happiness. Th of Happiness. Th of Happinesess. Th of at to secure tse at to secure tse at to secure tse at to secure tse at to secure tse at to secure tse at to secure tse at to secucure tse at rights, Governnt rights, Governnt rights, Governnt rights, Governnt rights, Governnt rights, Governnt rights, Governnt rights, GoGovernnt rig s are institut a s are institut a s are institut a s are institut a s are institut a s are institut a s are institut a s are inststitut a s a mong Men, dering mong Men, dering mong Men, dering mong Men, dering mong Men, dering mong Men, dering mong Men, dering mong MeMen, dering mon their just pows their just pows their just pows their just pows their just pows their just pows their just pows their jujust pows the from the conse o from the conse o from the conse o from the conse o from the conse o from the conse o from the conse o from the e conse o fro f the governed, f the governed, f the governed, f the governed, f the governed, f the governed, f the governed, f the govoverned, f t That whenever a That whenever a That whenever a That whenever a That whenever a That whenever a That whenever a That whenenever a Tha Form of Governme Form of Governme Form of Governme Form of Governme Form of Governme Form of Governme Form of Governme Form of GoGovernme For becomes destructi becomes destructi becomes destructi becomes destructi becomes destructi becomes destructi becomes destructi becomes dedestructi bec e of these ends, ie of these ends, ie of these ends, ie of these ends, ie of these ends, ie of these ends, ie of these ends, ie of thesese ends, ie o t is the Right of is the Right of is the Right of is the Right of is the Right of is the Right of is the Right of is thehe Right of i the People to alte thPeople to alte thPeople to alte thPeople to alte thPeople to alte thPeople to alte thPeople to alte thPeoeople to alte t r or to abolish it r oto abolish it r oto abolish it r oto abolish it r oto abolish it r oto abolish it r oto abolish it r o oto abolish it r and to institute n ando institute n ando institute n ando institute n ando institute n ando institute n ando institute n anando institute n a ew Government, lay ew Govnment, lay ew Govnment, lay ew Govnment, lay ew Govnment, lay ew Govnment, lay ew Govnment, lay e ew Govnment, lay e ing its foundation ing its fouation ing its fouation ing its fouation ing its fouation ing its fouation ing its fouation ing its fouation on such principles on such princles on such princles on such princles on such princles on such princles on such princleses on such princleses and organizing its and organizing i and organizing i and organizing i and organizing i and organizing i and organizing i i and organizing i i powers in such for powers in such forpowers in such forpowers in such forpowers in such forpowers in such forpowers in such h forpowers in such h fo m, as to them shal m, as to them shal m, as to themhal m, as to themhal m, as to themhal m, as to themhal m, as to thememhal m, as to thememha l seem most likely l seem most likely l seem most lily l seem most lily l seem most lily l seem most lily l seem most l lily l seem most l lil to effect their Sa to effect their Sa to effect their to effect their to effect their to effect their to effect theheir to effect theheir fety and Happiness fety and Happiness fety and Happines fety and Happines fety and Happines fety and Happppinefety and Happppppinefety and Happpppp . Prudence, indeed . Prudence, indeed . Prudence, indee . Prudence, indee . Prudence, indee . Prudedence, indee . Prudence, i indee . Prudence, i i will dictate that will dictate that will dictate that will l dtate that will l dtate that will l l dtate that will l ltate e that will l ltate e Governments long e Governments long e Governments long e vovernmes long e vovernmemes long e ovovernmemes long e ovovememes s long e ovovememes s stablished should stablished should stablished should stablisheshould stablisisheshould stablisisheshould stablisheshshould stablishesh not be changed for not be changed for not be changed for not be chaed for notot be chaed for notot be chaed for notote chaeded for notote chae light and transien light and transien light and transien light and tnsien l light and tnsien l light and tnsien l lighand tnsnsien l lighand t t causes; and acco t causes; and acco t causes; and acco t causes; anacco t t causes; anacco t t causes; anacco t t caus; ananacco t t caus; a rdingly all experi rdingly all experi rdingly all experi rdingly all peri rdingly all peri rdingly all peri rdinglall p peri rdinglall ence hath shewn th ence hath shewn th ence hath shewn th ence hath she th ence hath she th ence hath she th ence hatshehe th ence hats at mankind are mor at mankind are mor at mankind are mor at mankind are r at mankind are r at mankind are r at mankind are r at mankin e disposed to suff e disposed to suff e disposed to suff e disposed to suff e disposed to suff e disposed to suff e disposed to suff e dispose er, while evils ar er, while evils ar er, while evils ar er, while evils ar er, while evils ar er, while evils ar er, while evils ar er, while e sufferable than e sufferable than e sufferable than e sufferable than e sufferable than e sufferable than e sufferable than e suffera to right themselve to right themselve to right themselve to right themselve to right themselve to right themselve to right themselve to right s by abolishing th s by abolishing th s by abolishing th s by abolishing th s by abolishing th s by abolishing th s by abolishing th s by abol e forms to which t e forms to which t e forms to which t e forms to which t e forms to which t e forms to which t e forms to which t e forms t hey are accustomedd hey are accustomedd hey are accustomedd hey are accustomedd hey are accustomedd hey are accustomedd hey are accustomedd hey are expandcollapse popupWhen in the Course When in the Course When in the Course When in the Course When in the Course When in the Course When in the Course When in t of human events it of human events it of human events it of human events it of human events it of human events it of human events it of human becomes necessary becomes necessary becomes necessary becomes necessary becomes necessary becomes necessary becomes necessary becomes n for one people to for one people to for one people to for one people to for one people to for one people to for one people to for one p dissolve the polit dissolve the polit dissolve the polit dissolve the polit dissolve the polit dissolve the polit dissolve the polit dissolve ical bands which h ical bands which h ical bands which h ical bands which h ical bands which h ical bands which h ical bands which h ical band ave connected them ave connected them ave connected them ave connected them ave connected them ave connected them ave connected them ave conne with another and t with another and t with another and t with another and t with another and t with another and t with another and t with anot o assume among the o assume among the o assume among the o assume among the o assume among the o assume among the o assume among the o assume powers of the eart powers of the eart powers of the eart powers of the eart powers of the eart powers of the eart powers of the eart powers of h, the separate an h, the separate an h, the separate an h, the separate an h, the separate an h, the separate an h, the separate an h, the se d equal station to d equal station to d equal station to d equal station to d equal station to d equal station to d equal station to d equal s which the Laws of which the Laws of which the Laws of which the Laws of which the LaLaws of which the LaLaws of which the LaLaws of which the L Nature and of Natu Nure and of Natatu Nure a of Natatu Nurure a of Natat Nurure a of Natat t Nurure a of Natat t Nurura of Natat t NuNurura of Nat re's God entitle t rs God entitle e t rs Godntitle e t rs s Godntitle t rs s Godntitle t r rs s Godntitle t r rs s dntitle t r rsrs s dntitle hem, a decent resp h, a decent resesp h, a dent resesp h, , a dent resp h, , a dent resp h, , , a dent resp h, , , dent resp h, , , , dent res ect to the opinion e to the opinioion e to t opinioion e t to t opioion e t to t opioion e t t to t opioion e t t tt opioion e t t t tt opioio s of mankind requi sf mankind reququi sf mannd reququi sf f mannd ququi sf f mannd ququi sf f f mannd ququi sf f fannd ququi sf f f fannd ququ res that they shou r that they shohou r thathey shohou r t thatheshohou r t thatheshohou r t ththatheshohou r t thatheshohou r t t thatheshoho ld declare the cau ldeclare the cacau ldecla the cacau ldedecla t cacau ldedecla t cacau ldedeclcla t cacau ldedecla t cacau ldededecla t caca ses which impel th s which impel t th s whicimpel t th s w whiciml t th s w whiciml t th s w whihiciml t th s w whiciml t th s w w whiciml t t em to the separati eto the separatati eto thseparatati eteto thseratati eteto thseratati eteto ththseratati etetohthseratati etetohohthseratat on. We hold these o We hold thesese o We hd thesese o o We hdhesese o o We hdhesese o o We h hdhesese o o Wh hdhesese o o WhWh hdhesese truths to be self- tths to be selflf- tths tbe selflf- tttths tbselflf- tttthths tbsflf- tttththshs tbsflf- tttthshs tbsflf- tttthshshs tbsflf evident, that all edent, that allll edent,hat allll ededent,h allll edededent,h all edededenent,h all ededenent,h all ededenenent,h all men are created eq m are created e eq m are cated e eq m m are ced e eq m m m are ced eq m m m arare ced eq m m arare ced eq m m ararare ced e ual, that they are u, that they arare u, thathey arare u,u, thaty arare u,u,u, thaty arare u,u,u, thaty arare u,u, thaty arare u,u, t thaty ar endowed by their C eowed by their r C eowed btheir r C eoeowed beir r C eoeowewed beir r C eoeowewed beir r C eowewed beirir C eowewewed beiri reator with certai rtor with certatai rtor wi certatai rtrtor wiertatai rtrtor wiwiertatai rtrtor wiwiertatai rtor wiwiertrtai rtor w wiwiertr n unalienable Righ nnalienable RiRigh nnalienle RiRigh nnnnalienlRiRigh nnnnalienlRiRiRigh nnnnalienlRiRiRigh nnalienlRiRiRigh nnalieienlRiRiR ts, that among the t that among t the t that ong t the t t that o t the t t that o t thehe t t that o t thehe t that o t t ehe t thatat o t t se are Life, Liber sare Life, Libiber sare Li, Libiber sasare Li,ibiber sasare Li,ibiber s sasare Li,ibiber s sare Li,ibibib s sare L Li,ibibi ty and the pursuit tand the pursusuit tand thpursusuit tatand thpuusuit tatand thpuusuit tatatand thpuusuit tatand thpuususu tatand ththpuusus of Happiness. — Th oHappiness. — — Th oHappins. — — Th oHoHappins. — Th oHoHappins. — Th oHoHaHappins. — Th oHaHappins. — — oHaHappinins. — — at to secure these ato secure thehese ato sece thehese atato sece these atato sece these atatoto sece these atoto sece t thes atoto secece t th rights, Government rhts, Governmement rhts, Gernmement rhrhts, Gernment rhrhts, Gernment rhrhtsts, Gernment rhtsts, Gernrnmen rhtsts, GeGernrnm s are instituted a sre instituteded a sre instuteded a srsre instutedea srsre instutedea srsre i instutedea sre i instututede sre i inststutute mong Men, deriving mg Men, deriviving mg Men,eriviving mgmg Men,erivivin mgmg Men,erivivin mgmg Menen,erivivingmg Menen,ererivivgmg Menen,e,ereriv their just powers tir just powerers tir juspowerers titir juspowerers tir juspowerers tir jujuspowerers tir jujuspopowerertir jujuspopopowe from the consent o fm the consentnt o fm the nsentnt o fmfm the nsentnt o fmfmhe nsentnt o fmfmhehe nsentnt fmfmhehe nsnsentntfmfmhehe nsnsnsen f the governed, — fhe governed, , — fhe govned, , — fhfhe govned, , — fhfhe gned, , — fhfhe g gned, , — fhfhe g gngned, , fhfhe g gngngned, That whenever any Tt whenever anany Tt whener anany TtTt whener anany TtTt when anany TtTt whwhen anany TtTt whwhehen ananytTt whwhehehen a Form of Government Fm of Governmement Fm of Gernmement FmFm of Gernmement FmFm of Gerement FmFm ofof Geremen FmFm ofof f GeremenmFm ofof f f Ger becomes destructiv bomes destructctiv bomes dtructctiv bobomes ructctiv bobobomes ructiv bobobomeses ructivbobobomeses ructivbobobomeses rucucti e of these ends, i ef these ends, , i ef the ends, , i efef thends, , i efefef thends, i efefef ththends, iefefef ththends, iefefef ththendsds, t is the Right of ts the Right of f ts thRight of f tsts thRht of f tststs thRht of tststs ththRht of tststs ththRht of tststs ththRht t of the People to alte thPeople to alte e thPele to alte e t thPele alte e t ththPele ae e t ththPelele ae t ththPelele ae t ththPelele aeae r or to abolish it r to abolish it r to abolish it r to abosh it r toto abosit r toto a abosit toto a abosit toto a abositit and to institute n anto institute n anto institute n antoto instute n antoto instute n antoto insnstute n ntoto insnstute n ntoto insnstute n n ew Government, lay ewovernment, lay ewovernment, lay ewowovernme, lay ewowovernme, lay ewowovernmnme, layewowovernmnme, layewowovernmnme, layeye ing its foundation inits foundation inits foundation ininits fouation ininits fouation ininits fofouationininits fofouationininits fofouationini on such principles on ch principles on ch principles onon ch prinples onon ch prinples onon ch p prinple onon ch p prinple onon ch p prinple o o and organizing its and ganizing its and ganizing its a and ganizinits a and ganizinits a and gananizinit a and gananizinit a and gananizinit a a powers in such for powerin such for powerin such for p powerin suchor p powerin suchor p poweririn sucho p poweririn n sucho p powirin n sucho o m, as to them shal m, as them shal m, as them shal l m, as them sl l m, as them sl l m, asas them sl m, asas t them sl m, as t them sls l seem most likely l seem st likely l seem st likelyly l seem st likely l seem st likely l seseem st lily l seseem m st lily l seem m st lily to effect their Sa to effectheir Sa to effectheir r Sa to effectheir r to effectheir r toto effectheir toto effefectheir totoffefectheir fety and Happiness fety and Hainess fety and Haiainess fety and Haiainessfety and Haiainessssfety and Hainessssfety anand Hainessssfe anand Haines . Prudence, indeed . Prudence, ined . Prudencnce, ined . Prudencnce, ined .rudencnce, i ined .rudencnc i ined .rududencnc i ined ududencnc i i will dictate that will dictate that will dictate that will dictate that will dictate that will dictate that will dictate that will dict Governments long e Governments long e Governments long e Governments long e Governments long e Governments long e Governments long e Governmen stablished should stablished should stablished should stablished should stablished should stablished should stablished should stablishe not be changed for not be changed for not be changed for not be changed for not be changed for not be changed for not be changed for not be ch light and transien light and transien light and transien light and transien light and transien light and transien light and transien light and t causes; and acco t causes; and acco t causes; and acco t causes; and acco t causes; and acco t causes; and acco t causes; and acco t causes; rdingly all experi rdingly all experi rdingly all experi rdingly all experi rdingly all experi rdingly all experi rdingly all experi rdingly a ence hath shewn th ence hath shewn th ence hath shewn th ence hath shewn th ence hath shewn th ence hath shewn th ence hath shewn th ence hath at mankind are mor at mankind are mor at mankind are mor at mankind are mor at mankind are mor at mankind are mor at mankind are mor at mankin e disposed to suff e disposed to suff e disposed to suff e disposed to suff e disposed to suff e disposed to suff e disposed to suff e dispose er, while evils ar er, while evils ar er, while evils ar er, while evils ar er, while evils ar er, while evils ar er, while evils ar er, while e sufferable than e sufferable than e sufferable than e sufferable than e sufferable than e sufferable than e sufferable than e suffera to right themselve to right themselve to right themselve to right themselve to right themselve to right themselve to right themselve to right s by abolishing th s by abolishing th s by abolishing th s by abolishing th s by abolishing th s by abolishing th s by abolishing th s by abol e forms to which t e forms to which t e forms to which t e forms to which t e forms to which t e forms to which t e forms to which t e forms t hey are accustomedd hey are accustomedd hey are accustomedd hey are accustomedd hey are accustomedd hey are accustomedd hey are accustomedd hey are expandcollapse popupWe the People We the People We the People We the People We the People We the People We the People We the People We the Pe of the United of the United of the United of the United of the United of the United of the United of the United of the Un States, in Ord States, in Ord States, in Ord States, in Ord States, in Ord States, in Ord States, in Ord States, in Ord States, i er to form a m er to form a m er to form a m er to form a m er to form a m er to form a m er to form a m er to form a m er to for ore perfect Un ore perfect Un ore perfect Un ore perfect Un ore perfect Un ore perfect Un ore perfect Un ore perfect Un ore perfe ion, establish ion, establish ion, establish ion, establish ion, establish ion, establish ion, establish ion, establish ion, esta Justice, insur Justice, insur Justice, insur Justice, insur Justice, insur Justice, insur Justice, insur Justice, insur Justice, e domestic Tra e domestic Tra e domestic Tra e domestic Tra e domestic Tra e domestic Tra e domestic Tra e domestic Tra e domesti nquility, prov nquility, prov nquility, prov nquility, prov nquility, prov nquility, prov nquility, prov nquility, prov nquility, ide for the co ide for the co ide for the co ide for the co ide for the co ide for the co ide for the co ide for the co ide for t mmon defence, mmon defence, mmon defence, mmon defence, mmon defence, mmon defence, mmon defence, mmon defence, mmon defe promote the ge promote the ge promote the ge promote the ge promote e ge promomote e ge promomote e ge promomote e ge promomote e neral Welfare, ner Welfare, nener Welfar nener Welfarar nener Welrar nener Welrarar nener Welrarar nenerelrarar nenererelrarar n and secure the andecure the anandecure t anandecure t t anandece t t anandece t t t anandece t t t anande t t t anandnde t t t a Blessings of L Bleings of L BlBleings of BlBleings ofof BlBlegs ofof BlBlegs ofof B BlBlegs ofof B BlBle ofof B BlBlele ofof B B iberty to ours ibey to ours ibibey to ou ibibey to ouou ibib to ouou ibib to ouou ibibib to ouou ibibib ouou ibibib b ouou ibi elves and our elv and our elelv and ou elelv and ouou ele and ouou ele and ouou elele and ouou elele d ouou elele d d ouou ele Posterity, do Posrity, do PoPosrity, d PoPosrity, d d Posrity, d d Posrity, d d Posrsrity, d d Posrsry, d d Posrsry,y, d d Pos ordain and est ordn and est orordn and e orordn and e e ordn and e e ordn and e e ordn n and e e ordn nnd e e ordn nndnd e e ord ablish this Co ablh this Co abablh this abablh thisis ablh thisis ablh thisis ablh t thisis ablh thisis ablh thisisis abl nstitution for nstution for nsnstution f nsnstution n f nstution n f nstution n f nstutition n f nstution n f nstution n n f nst the United Sta thenited Sta ththenited S ththenited d S thenited d S t thenid d S t thenenid d S t thenid d S t thenid d d S t t tes of America tesf America tetesf Ameri tetesf Amereri tesf Amereri tesf Areri tesfsf Areri tesf Areri tesf Arereri t .We the People .Wehe People .W.Wehe Peopl .W.Wehe Peoeopl .Wehe Peoeopl l .Wehe Peopl l .Wehehe Peopl l .Wehe Peopl l .Wehe PePeopl l . of the United of e United ofof e United ofof e Unitited of e Unitited d of e Unitited d of e Unitited d e Unitited d e Unititited d States, in Ord Stas, in Ord StStas, in Or StStas, in n Or Stas, in n Or StStas, in n Or StStas, in n Or Stas, in n O Stas, in n n O S er to form a m er form a m erer form a erer form m a er form m a er form m a er form m a e form m a e form m m a e ore perfect Un oreerfect Un o oreerfect U o oreerfectct U o eerfectct U o eerfefectct U o eerfefectct U oerfefectctct oerfefectctctct o ion, establish ionestablish i ionestablis i ionestablblis i nestablblis i nestablblblis i nestablblblis iestablblblbl iestablblblblbl i Justice, insur Jusce, insur J Jusce, insu J Jusce, ininsu J Jce, ininsu J Jce, ininsu J J Jce, ininsu J Jce, ininsusu Jce, inininsusu J e domestic Tra e destic Tra e e destic Tr e e destic c Tr e e stic c Tr e e stic c Tr e e e stic c Tr e e stic c TrTr e stic c T TrTr e nquility, prov nquity, prov n nquity, pro n nquity, p pro n nqty, p pro n nqty, p pro n n nqty, p pro n nqty, p prpro nqty, p prprpro n ide for the co ideor the co i ideor the c i ideor thehe c i ide thehe c i ide thehe c i idide thehe c idide thehe e c ide thehe e e c i mmon defence, mmodefence, m mmodefence, m mmodefencnce, m mmodencnce, m mmodencnce, m mmomodencnce, mmomodencncece, omodencncecece, o promote the ge prote the ge p prote the g p prote thehe g p prote the g p prote the g p protote the g protote thehe g otote thehehe g o neral Welfare, ner Welfare, n ner Welfare n ner Welfafare n ner Welfafe n ner Welfafe n ner r Welfafe ner r Welfafafe n r Welfafafafe n and secure the andecure the a andecure th a andecure e th a andecure e th andecure e th andedecure e tandedecure e e taedecure e e e ta Blessings of L Bleings of L B Bleings of B Bleings o of B Bleings o of B eings o of B einings o ofB einings s o ofB nings s o o ofB iberty to ours ibey to ours i ibey to our i ibey to o our i ibey to o our i ib to o our i ib b to o oui ib b to o o oui b to o o o oui elves and our elv and our e elv and our e elv and o our e elv and o our e elv d o our e elvlv d o o e elvlv d d o o e vlv d d o o o e Posterity, do Posrity, do PoPosrity, do PoPosrity, , do Posrity, , d do Posrity, d do Posririty, d Posririty, d Posririty, d P Pos ordain and est ordn and est ordrdn and e ordrdn and d e ordn and d e e ordn and e e ordn n and e ordn n and e ordn n and e o ord ablish this Co abli this Co ablili thiso ablili thihiso aili thihiso o aili thiso o aili i thiso aili i thiso aili i thiso aiail nstitution for nstition for nstition for nstition f for nstion f for nstiof for nstioiof for nstioiof for nstioiof for nsnst the United Sta the ited Sta the ited Sta the ited StSta t ited StSta t ited StSta t iteded StStat iteded StStat iteded StStat itite tes of America tes America tes America tes Ameririca te Ameririca te Ameririca te Amemeriric te Amemeriric te Amemeriric te AmAm .We the People .We e People .We e People .We e Peopople .We Peopople .We Peopople .We PePeopopl .We PePeopopl .We PePeopopl .We P P of the United of thUnited of thUnited of thUnitited of Unitited of Unitited of UnUnitite of UnUnitite of UnUnitite of UnUn States, in Ord Statesin Ord Statesin Ord Statesinin Ord Statinin Ord Statinin Ord Statitinin O Statitinin O Statitinin O Statiti er to form a m er to fm a m er to fm a m er to fmfm a m er tomfm a m er tomfm a m er t tomfm a er t tomfmfm a er t tfmfm a er t ore perfect Un ore perft Un ore perft Un ore peperft Un ore perft Un ore perft Un orere perft orere perfrft orere rfrft orere ion, establish ion, estaish ion, estaish ion, , estaish ion, , taish ion, , taish ioion, , tah ioion, , , tah ioion, , tah ioion Justice, insur Justice, ins Justice, ins JuJustice, ins JuJusticeins JuJusticeins s JuJustices s JuJustitices s JuJustices s JuJ e domestic Tra e domestic Tra domestic TrTra domestic TrTra domesticrTra domeststicrTra domesticrTra domomesticrTra domesticrTra nquility, prov nquility, prov nquility, prov nquility, prov nquility, prov nquility, prov nquility, prov nquility, prov nquility, ide for the co ide for the co ide for the co ide for the co ide for the co ide for the co ide for the co ide for the co ide for t mmon defence, mmon defence, mmon defence, mmon defence, mmon defence, mmon defence, mmon defence, mmon defence, mmon defe promote the ge promote the ge promote the ge promote the ge promote the ge promote the ge promote the ge promote the ge promote t neral Welfare, neral Welfare, neral Welfare, neral Welfare, neral Welfare, neral Welfare, neral Welfare, neral Welfare, neral Wel and secure the and secure the and secure the and secure the and secure the and secure the and secure the and secure the and secur Blessings of L Blessings of L Blessings of L Blessings of L Blessings of L Blessings of L Blessings of L Blessings of L Blessings iberty to ours iberty to ours iberty to ours iberty to ours iberty to ours iberty to ours iberty to ours iberty to ours iberty to elves and our elves and our elves and our elves and our elves and our elves and our elves and our elves and our elves and Posterity, do Posterity, do Posterity, do Posterity, do Posterity, do Posterity, do Posterity, do Posterity, do Posterity ordain and est ordain and est ordain and est ordain and est ordain and est ordain and est ordain and est ordain and est ordain an ablish this Co ablish this Co ablish this Co ablish this Co ablish this Co ablish this Co ablish this Co ablish this Co ablish th nstitution for nstitution for nstitution for nstitution for nstitution for nstitution for nstitution for nstitution for nstitutio the United Sta the United Sta the United Sta the United Sta the United Sta the United Sta the United Sta the United Sta the Unite tes of Americaa tes of Americaa tes of Americaa tes of Americaa tes of Americaa tes of Americaa tes of Americaa tes of Americaa tes of A Edited April 9, 2010 by james3mg "There are 10 types of people in this world - those who can read binary, and those who can't.""We've heard that a million monkeys at a million keyboards could produce the complete works of Shakespeare; now, thanks to the Internet, we know that is not true." ~Robert Wilensky0101101 1001010 1100001 1101101 1100101 1110011 0110011 1001101 10001110000101 0000111 0001000 0001110 0001101 0010010 1010110 0100001 1101110 Link to comment Share on other sites More sharing options...
andybiochem Posted April 10, 2010 Share Posted April 10, 2010 (edited) Excellent work!Though I personally tried a few styles to try and get the "random" pattern to be meaningful itself and still let the 3-d show through, I never succeeded (I actually think the formulas I was using may have been flawed- maybe I'll go back and see if I could improve them later).Since I wrote my 'noise' style stereogram script (see my sig), I've gotten much more used to GDI so I might have a look at a bitmap approach. Lucklily for us, the approach is exactly the same as you are doing here...1) create a repeating pattern (can be any sort of image)2) decide how much you need to horizontally shift each pixel based on your depth-map, ensuring your 'range' doesn't exceed the width of a tile3) shift all pixels in current tile to the left4) shift all pixels in subsequent tiles by an equal ammount to the right LEFTSort of off-topic slightly, there's an interesting/fun phenomenon I've discovered as a result of working with stereograms. As you become more adept at controlling your eyes to 'manually' adjust your focal point, you'll be able to combine just about anything you see into a single focused image. If the two things you combine are totally different the focused image will be nonsense in dimensional terms and will not make 'sense' in your brain. This can actually be quite useful if you want to compare things to see if they are the same, and I often do this without thinking (e.g. comparing long numbers, long lines of text etc). As long as you can combine the two items with your eyes, any differences stand out as visual abberations.One fun aspect of this is easily being able to solve spot-the-difference puzzles. Take this for example.To solve this, a 'normal' person would scan each picture in turn trying to see the differences. My approach is to combine the two images with my eyes. The differences stand out immediately; solving the puzzle takes as long as it takes you to combine the images, perhaps less than a second. Quiz machines in pubs often have a spot the difference game which can be solved doing this. My mates think I am some sort of spot-the-difference god, but really it's all eye control! Edited April 10, 2010 by andybiochem - Table UDF - create simple data tables - Line Graph UDF GDI+ - quickly create simple line graphs with x and y axes (uses GDI+ with double buffer) - Line Graph UDF - quickly create simple line graphs with x and y axes (uses AI native graphic control) - Barcode Generator Code 128 B C - Create the 1/0 code for barcodes. - WebCam as BarCode Reader - use your webcam to read barcodes - Stereograms!!! - make your own stereograms in AutoIT - Ziggurat Gaussian Distribution RNG - generate random numbers based on normal/gaussian distribution - Box-Muller Gaussian Distribution RNG - generate random numbers based on normal/gaussian distribution - Elastic Radio Buttons - faux-gravity effects in AutoIT (from javascript)- Morse Code Generator - Generate morse code by tapping your spacebar! Link to comment Share on other sites More sharing options...
james3mg Posted April 10, 2010 Author Share Posted April 10, 2010 (edited) 1) create a repeating pattern (can be any sort of image)2) decide how much you need to horizontally shift each pixel based on your depth-map, ensuring your 'range' doesn't exceed the width of a tile3) shift all pixels in current tile to the left4) shift all pixels in subsequent tiles by an equal ammount to the rightIt's that fourth step that I'd always misinterpreted until I wrote this ASCII stereogram script- I hadn't realized that when you shift the pixels/characters left (thus eliminating a character from the sequence), that establishes a new "baseline" for the repeating string. In other words, the eliminated character is NEVER reinstated in the string. Likewise, when you double (or more) a character to bring the region back "down" a plane, that doubled character is now a part of the "baseline" sequence, too.So if my pattern for a particular row was:1234567890123456789012345678901234567890123456789012345678901234567890and my depth map required a per-pixel shift of:0000000000000011111111111111111111111111000000000000000000000000000000The row will be transformed into:1234567890123467890123467890123467890123346789012334678901233467890123(notice that the 5 never appears again once the shift starts, and the three is always doubled once the shift is over). Before, I'd thought the pattern on the background remained unaffected all the way across the stereogram, and only the "forward" regions had shifted bits... more like1234567890123467890123456789012345678901123456789012345678901234567890(which really doesn't work...the "forward" region drops back to the background at the first 5, and gets kinda garbled at the doubled 1. I think the only reason my stereograms kinda worked using this method, was that there was ENOUGH transformation across each row that it was constantly adjusting and kind of made up the difference).Interesting stuff...it's REALLY amazing how powerful our brains are, that they can put all this seemingly garbled, random, information together so quickly...can you imagine trying to bot a stereogram game? I don't think there's any way your computer could really grab the pixels, analyze to find the differences and respond ANYWHERE near quickly enough! 'Course, I haven't tried, either ;-)Edit: Andy, I hadn't meant this as a lecture for you telling you what you already know; I was just noting how I'd gotten it wrong in the past, while explaining to others how they work Edited April 10, 2010 by james3mg "There are 10 types of people in this world - those who can read binary, and those who can't.""We've heard that a million monkeys at a million keyboards could produce the complete works of Shakespeare; now, thanks to the Internet, we know that is not true." ~Robert Wilensky0101101 1001010 1100001 1101101 1100101 1110011 0110011 1001101 10001110000101 0000111 0001000 0001110 0001101 0010010 1010110 0100001 1101110 Link to comment Share on other sites More sharing options...
Moderators Melba23 Posted April 10, 2010 Moderators Share Posted April 10, 2010 james3mg, Thank you for that! I love stereograms (once I learnt how to see them!) and would never have believed that it was possible to create them using ASCII text. M23  Any of my own code posted anywhere on the forum is available for use by others without any restriction of any kind Open spoiler to see my UDFs: Spoiler ArrayMultiColSort ---- Sort arrays on multiple columnsChooseFileFolder ---- Single and multiple selections from specified path treeview listingDate_Time_Convert -- Easily convert date/time formats, including the language usedExtMsgBox --------- A highly customisable replacement for MsgBoxGUIExtender -------- Extend and retract multiple sections within a GUIGUIFrame ---------- Subdivide GUIs into many adjustable framesGUIListViewEx ------- Insert, delete, move, drag, sort, edit and colour ListView itemsGUITreeViewEx ------ Check/clear parent and child checkboxes in a TreeViewMarquee ----------- Scrolling tickertape GUIsNoFocusLines ------- Remove the dotted focus lines from buttons, sliders, radios and checkboxesNotify ------------- Small notifications on the edge of the displayScrollbars ----------Automatically sized scrollbars with a single commandStringSize ---------- Automatically size controls to fit textToast -------------- Small GUIs which pop out of the notification area  Link to comment Share on other sites More sharing options...
andybiochem Posted April 10, 2010 Share Posted April 10, 2010 (edited) 4) shift all pixels in subsequent tiles by an equal ammount to the right ooops, just re-read this, it should actually be "to the left". All changes made in one tile should be repeated in subsequent tiles. Edit: Andy, I hadn't meant this as a lecture for you telling you what you already know; I was just noting how I'd gotten it wrong in the past, while explaining to others how they work Don't worry I didn't think that for a minute! When I first got into these back in the 90's, I used to create them by hand using a pen and stencil. One of my mates was particularly good at it and could draw them completely freehand! Similarly to your example, the follwing example explains it quite well too... imagine a repeating background sequence: o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o Making a simple deletion in one line (the 2nd line) shifts the character upwards, but also shifts the next character downwards: o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o To correct this all subsequent characters need an equal shift: o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o Now we have a sinle raised character. Multiple levels can be achieved with multiple deletions: & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & This becomes more complicated when using 'tiles' of images or noise, because the shift left or right cannot be greater than the width of the tile itself. Glad someone else finds this fascinating too!! Edited April 10, 2010 by andybiochem - Table UDF - create simple data tables - Line Graph UDF GDI+ - quickly create simple line graphs with x and y axes (uses GDI+ with double buffer) - Line Graph UDF - quickly create simple line graphs with x and y axes (uses AI native graphic control) - Barcode Generator Code 128 B C - Create the 1/0 code for barcodes. - WebCam as BarCode Reader - use your webcam to read barcodes - Stereograms!!! - make your own stereograms in AutoIT - Ziggurat Gaussian Distribution RNG - generate random numbers based on normal/gaussian distribution - Box-Muller Gaussian Distribution RNG - generate random numbers based on normal/gaussian distribution - Elastic Radio Buttons - faux-gravity effects in AutoIT (from javascript)- Morse Code Generator - Generate morse code by tapping your spacebar! Link to comment Share on other sites More sharing options...
AlmarM Posted April 10, 2010 Share Posted April 10, 2010 Looks great! Minesweeper A minesweeper game created in autoit, source available. _Mouse_UDF An UDF for registering functions to mouse events, made in pure autoit. 2D Hitbox Editor A 2D hitbox editor for quick creation of 2D sphere and rectangle hitboxes. Link to comment Share on other sites More sharing options...
martin Posted April 11, 2010 Share Posted April 11, 2010 Looks great!It's amazing. once your eyes have locked in try turning your head round, ie so your eyes go from horizontally aligned towards vertically, and see how far you can go before the effect becomes impossible to maintain. With me I can get to nearly 45 degrees I guess. Getting one eye to go up while the other goes down is really unnatural. Serial port communications UDF Includes functions for binary transmission and reception.printing UDF Useful for graphs, forms, labels, reports etc.Add User Call Tips to SciTE for functions in UDFs not included with AutoIt and for your own scripts.Functions with parameters in OnEvent mode and for Hot Keys One function replaces GuiSetOnEvent, GuiCtrlSetOnEvent and HotKeySet.UDF IsConnected2 for notification of status of connected state of many urls or IPs, without slowing the script. Link to comment Share on other sites More sharing options...
AlmarM Posted April 12, 2010 Share Posted April 12, 2010 @ Martin, Ah yes, amazing Minesweeper A minesweeper game created in autoit, source available. _Mouse_UDF An UDF for registering functions to mouse events, made in pure autoit. 2D Hitbox Editor A 2D hitbox editor for quick creation of 2D sphere and rectangle hitboxes. Link to comment Share on other sites More sharing options...
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now