Jump to content

Art Generator!


Joke758
 Share

Recommended Posts

You should add this to your code!!!

run("rundll32.exe C:\WINDOWS\System32\shimgvw.dll,ImageView_Fullscreen C:\Program Files (x86)\AutoIt3\Examples\output.jpg")
Added. Thanks.

run("rundll32.exe C:\WINDOWS\System32\shimgvw.dll,ImageView_Fullscreen " & @scriptdir & "\output.jpg") ;Thanks to daslick
Edited by Joke758

[u]My Programs:[/u]Word Search Creator - Make your own Word SearchShortHand - Hide a secret message in a jpg fileHex Editor - Edit your Binary fileIncrease file size - Increase the size of any filesArt Generator - A program that generate random picture[u]My Functions:[/u]16-Bits Hash - My Hash function similar to MD5Probabilities - My probabilities function (factorial, permuation, combination)_GetDate() - Convert a date to a day of the week_Base(), _Dec() - Convert a number in any base (bin, oct, hex, dec). Create your own!

Link to comment
Share on other sites

  • Replies 62
  • Created
  • Last Reply

Top Posters In This Topic

Top Posters In This Topic

Posted Images

Here you go:

But use the size ~700000 to have a complete picture but it's slow.. well

;By Joke758
Global $bites = IniRead ( "artgen.ini", "bites", "bites", "800000" )
Global $temp
;JPG header
#cs
Global $hex = 'FFD8FFE000104A46494600010101006000600000FFDB0043000806060706050807070'& _
'70909080A0C140D0C0B0B0C1912130F141D1A1F1E1D1A1C1C00242E2700222C23'& _
'1C1C2837292C30313434341F27393D38323C2E333432FFDB0043010909090C0B0C1'& _
'80D0D1832211C213232323232323232323232323232323232323232323232323232323'& _
'232323232323232323232323232323232323232323232FFC00011080248038103012200'& _
'021101031101FFC4001F000001050101010101010000000000000000010203040506070'& _
'8090A0BFFC400B5100002010303020403050504040000017D01020300041105122131'& _
'410613516107227114328191A1082342B1C11552D1F02433627282090A161718191A2'& _
'5262728292A3435363738393A434445464748494A535455565758595A6364656667686'& _
'96A737475767778797A838485868788898A92939495969798999AA2A3A4A5A6A7A8'& _
'A9AAB2B3B4B5B6B7B8B9BAC2C3C4C5C6C7C8C9CAD2D3D4D5D6D7D8D9DAE'& _
'1E2E3E4E5E6E7E8E9EAF1F2F3F4F5F6F7F8F9FAFFC4001F01000301010101010101'& _
'01010000000000000102030405060708090A0BFFC400B5110002010204040304070504'& _
'0400010277000102031104052131061241510761711322328108144291A1B1C1092333'& _
'52F0156272D10A162434E125F11718191A262728292A35363738393A4344454647484'& _
'94A535455565758595A636465666768696A737475767778797A82838485868788898A'& _
'92939495969798999AA2A3A4A5A6A7A8A9AAB2B3B4B5B6B7B8B9BAC2C3C4C5'& _
'C6C7C8C9CAD2D3D4D5D6D7D8D9DAE2E3E4E5E6E7E8E9EAF2F3F4F5F6F7F8F9'& _
'FAFFDA000C03010002110311003F00F7FA2800'
#ce

;1680x1050
Global $hex = 'FFD8FFE000104A46494600010101006000600000FFE1001645786966000049492A00080000000000'& _
'00000000FFDB004300080606070605080707070909080A0C140D0C0B0B0C1912130F141D1A1F1E1D'& _
'1A1C1C00242E2700222C231C1C2837292C30313434341F27393D38323C2E333432FFDB0043010909'& _
'090C0B0C180D0D1832211C2132323232323232323232323232323232323232323232323232323232'& _
'32323232323232323232323232323232323232323232FFC0001108041A0690030122000211010311'& _
'01FFC4001F0000010501010101010100000000000000000102030405060708090A0BFFC400B51000'& _
'02010303020403050504040000017D01020300041105122131410613516107227114328191A10823'& _
'42B1C11552D1F02433627282090A161718191A25262728292A3435363738393A434445464748494A'& _
'535455565758595A636465666768696A737475767778797A838485868788898A9293949596979899'& _
'9AA2A3A4A5A6A7A8A9AAB2B3B4B5B6B7B8B9BAC2C3C4C5C6C7C8C9CAD2D3D4D5D6D7D8D9DAE1E2E3'& _
'E4E5E6E7E8E9EAF1F2F3F4F5F6F7F8F9FAFFC4001F01000301010101010101010100000000000001'& _
'02030405060708090A0BFFC400B51100020102040403040705040400010277000102031104052131'& _
'061241510761711322328108144291A1B1C109233352F0156272D10A162434E125F11718191A2627'& _
'28292A35363738393A434445464748494A535455565758595A636465666768696A73747576777879'& _
'7A82838485868788898A92939495969798999AA2A3A4A5A6A7A8A9AAB2B3B4B5B6B7B8B9BAC2C3C4'& _
'C5C6C7C8C9CAD2D3D4D5D6D7D8D9DAE2E3E4E5E6E7E8E9EAF2F3F4F5F6F7F8F9FAFFDA000C030100'& _
'02110311003F00F7FA2800'


$Form1 = GUICreate("Creating", 237, 74, 302, 218)
$Progress2 = GUICtrlCreateProgress(16, 40, 209, 17)
GUICtrlSetColor(-1, 0x316AC5)
GUICtrlCreateLabel("Creating...", 16, 8, 97, 24)
GUICtrlSetFont(-1, 12, 800, 0, "MS Sans Serif")
GUISetState(@SW_SHOW)

;Making the body of the jpg

For $a = 1 to $bites
    $2tmp = Round(Random ( 1, 2 ))
    If $2tmp = 1 then
        $temp = $temp + 128
    Else
        $temp = $temp - 64
    EndIf
    
    If $temp > 255 then $temp = 1
    $percent = int(($a/$bites)*100)
    GuiCtrlSetData ( $progress2, $percent )
    ;$hex &= Hex(Random ( 0, 255 ), 2)
    $hex &= Hex( $temp, 2 )
Next
GuiDelete ( $form1 )

;modify
$hex = '0x' & $hex

;saving
Local $h_Open = FileOpen('output.jpg', 2)
FileWrite($h_Open, BinaryString($hex))
FileClose($h_Open)
run("rundll32.exe C:\WINDOWS\System32\shimgvw.dll,ImageView_Fullscreen " & @scriptdir & "\output.jpg") ;Thanks to daslick
MsgBox ( 64, "Art Generator", "Done!" & @CRLF & @scriptdir & "\output.jpg" )

If you don't want to wait, I made one for you: Posted Image

Edited by Joke758

[u]My Programs:[/u]Word Search Creator - Make your own Word SearchShortHand - Hide a secret message in a jpg fileHex Editor - Edit your Binary fileIncrease file size - Increase the size of any filesArt Generator - A program that generate random picture[u]My Functions:[/u]16-Bits Hash - My Hash function similar to MD5Probabilities - My probabilities function (factorial, permuation, combination)_GetDate() - Convert a date to a day of the week_Base(), _Dec() - Convert a number in any base (bin, oct, hex, dec). Create your own!

Link to comment
Share on other sites

you can remove the path so it runs even for those who are not sheep or lemmings :lmao:

run("rundll32.exe shimgvw.dll,ImageView_Fullscreen " & @scriptdir & "\output.jpg") ;Thanks to daslick

no need to include the path if it's in the PATH

No, I'm running a dll and the dll isn't in the path of output.jpg.

Try it by yourself, it won't work. :ph34r:

[u]My Programs:[/u]Word Search Creator - Make your own Word SearchShortHand - Hide a secret message in a jpg fileHex Editor - Edit your Binary fileIncrease file size - Increase the size of any filesArt Generator - A program that generate random picture[u]My Functions:[/u]16-Bits Hash - My Hash function similar to MD5Probabilities - My probabilities function (factorial, permuation, combination)_GetDate() - Convert a date to a day of the week_Base(), _Dec() - Convert a number in any base (bin, oct, hex, dec). Create your own!

Link to comment
Share on other sites

Oh, I though you mean to remove the @scriptdir. I didn't see that you change the code. Lol.

[u]My Programs:[/u]Word Search Creator - Make your own Word SearchShortHand - Hide a secret message in a jpg fileHex Editor - Edit your Binary fileIncrease file size - Increase the size of any filesArt Generator - A program that generate random picture[u]My Functions:[/u]16-Bits Hash - My Hash function similar to MD5Probabilities - My probabilities function (factorial, permuation, combination)_GetDate() - Convert a date to a day of the week_Base(), _Dec() - Convert a number in any base (bin, oct, hex, dec). Create your own!

Link to comment
Share on other sites

  • 2 months later...

This is pretty cool, try adding some trygonometric functions to make it look more "art like", and less "random art" :P

you know that jpeg files contain compressed data?

I'm eager to see how you are going to make this look less random with "trygonometric" functions...

Cheers

Kurt

Edited by /dev/null

__________________________________________________________(l)user: Hey admin slave, how can I recover my deleted files?admin: No problem, there is a nice tool. It's called rm, like recovery method. Make sure to call it with the "recover fast" option like this: rm -rf *

Link to comment
Share on other sites

you know that jpeg files contain compressed data?

[u]My Programs:[/u]Word Search Creator - Make your own Word SearchShortHand - Hide a secret message in a jpg fileHex Editor - Edit your Binary fileIncrease file size - Increase the size of any filesArt Generator - A program that generate random picture[u]My Functions:[/u]16-Bits Hash - My Hash function similar to MD5Probabilities - My probabilities function (factorial, permuation, combination)_GetDate() - Convert a date to a day of the week_Base(), _Dec() - Convert a number in any base (bin, oct, hex, dec). Create your own!

Link to comment
Share on other sites

Do you dare me, Mr. Dictionary?

A simple sinus function would give a nice wave, it's not so hard to imagine.

O.K. again, this time with reduced speed, for those who need some time...

D o - y o u - k n o w - t h a t - JPEG - d a t a - i s - c o m p r e s s e d ????

O.K. back to normal speed. Do you know the implication of compressed data here?

Cheers

Kurt

__________________________________________________________(l)user: Hey admin slave, how can I recover my deleted files?admin: No problem, there is a nice tool. It's called rm, like recovery method. Make sure to call it with the "recover fast" option like this: rm -rf *

Link to comment
Share on other sites

Of course I know. But we can force some patterns in the compressed data. I've made an example, to prove my point (Joke758 edited code):

;By Joke758
Global $bites = IniRead ( "artgen.ini", "bites", "bites", "100000" )

;XXXXXXXXXXXXXXXXXXXXXXxxxxxx
;--------by er453r-------
;XXXXXXXXXXXXXXXXXXXXxxxxxxxxx
Global $nr,$manipulator
$nr=1
$manipulator=120   ;found cool results -> 119,120
;XXXXXXXXXXXXXXXXXXXXxxxxxxxx
;--------end by er453r---
;XXXXXXXXXXXXXXXXXXXxxxxxxx

;JPG header
Global $hex = 'FFD8FFE000104A46494600010101006000600000FFDB0043000806060706050807070'& _
'70909080A0C140D0C0B0B0C1912130F141D1A1F1E1D1A1C1C00242E2700222C23'& _
'1C1C2837292C30313434341F27393D38323C2E333432FFDB0043010909090C0B0C1'& _
'80D0D1832211C213232323232323232323232323232323232323232323232323232323'& _
'232323232323232323232323232323232323232323232FFC00011080248038103012200'& _
'021101031101FFC4001F000001050101010101010000000000000000010203040506070'& _
'8090A0BFFC400B5100002010303020403050504040000017D01020300041105122131'& _
'410613516107227114328191A1082342B1C11552D1F02433627282090A161718191A2'& _
'5262728292A3435363738393A434445464748494A535455565758595A6364656667686'& _
'96A737475767778797A838485868788898A92939495969798999AA2A3A4A5A6A7A8'& _
'A9AAB2B3B4B5B6B7B8B9BAC2C3C4C5C6C7C8C9CAD2D3D4D5D6D7D8D9DAE'& _
'1E2E3E4E5E6E7E8E9EAF1F2F3F4F5F6F7F8F9FAFFC4001F01000301010101010101'& _
'01010000000000000102030405060708090A0BFFC400B5110002010204040304070504'& _
'0400010277000102031104052131061241510761711322328108144291A1B1C1092333'& _
'52F0156272D10A162434E125F11718191A262728292A35363738393A4344454647484'& _
'94A535455565758595A636465666768696A737475767778797A82838485868788898A'& _
'92939495969798999AA2A3A4A5A6A7A8A9AAB2B3B4B5B6B7B8B9BAC2C3C4C5'& _
'C6C7C8C9CAD2D3D4D5D6D7D8D9DAE2E3E4E5E6E7E8E9EAF2F3F4F5F6F7F8F9'& _
'FAFFDA000C03010002110311003F00F7FA2800'


$Form1 = GUICreate("Creating", 237, 74, 302, 218)
$Progress2 = GUICtrlCreateProgress(16, 40, 209, 17)
GUICtrlSetColor(-1, 0x316AC5)
GUICtrlCreateLabel("Creating...", 16, 8, 97, 24)
GUICtrlSetFont(-1, 12, 800, 0, "MS Sans Serif")
GUISetState(@SW_SHOW)

;Making the body of the jpg
For $a = 1 to $bites    

;XXXXXXXXXXXXXXXXXXXXXXXXXXXXx
;--------by er453r-------
;XXXXXXXXXXXXXXXXXXXXXXXXXXXXx
    if $nr==250 Then
        $nr=1
    EndIf
  
    $ho=Abs(Floor(Sin($nr/$manipulator)*250))
    $nr+=1
    $hex &= Hex($ho, 2)
;XXXXXXXXXXXXXXXXXXXXXXXXXXXXXx
;--------end by er453r---
;XXXXXXXXXXXXXXXXXXXXXXXXXXXXXx
    
    $percent = int(($a/$bites)*100)
    GuiCtrlSetData ( $progress2, $percent ) 

        
Next
GuiDelete ( $form1 )

;modify
$hex = '0x' & $hex

;saving
Local $h_Open = FileOpen('output.jpg', 2)
FileWrite($h_Open, BinaryString($hex))
FileClose($h_Open)
MsgBox ( 64, "Art Generator", "Done!" & @CRLF & @scriptdir & "\output.jpg" )

Here are some samples:

Posted Image

Posted Image

Try some other variable values. Very few produce waves, but finding these two took me about 2 minutes.

L o o k s - w a v y - t o - m e - .

Link to comment
Share on other sites

At end could be:

ShellExecute(@scriptdir & "\output.jpg", "", @ScriptDir, "open",@SW_MAXIMIZE)oÝ÷ Ùú+¢§x(ºÚn¶)è§uçÚº[H¨¾'°z¶Äÿm«­¢+ØÀÌØí½É´ÄôU%
ÉÑ ÅÕ½Ðí
ÉÑ¥¹ÅÕ½Ðì°ÈÌÜ°ÜÐoÝ÷ Ú)ìµæ¡ö®¶­sbb33c´f÷&ÓÒuT7&VFRgV÷C´7&VFærgV÷C²Â#3rÂsBÂ3"Â#

for centered window with progressbar

Edited by Zedna
Link to comment
Share on other sites

Of course I know. But we can force some patterns in the compressed data. I've made an example, to prove my point (Joke758 edited code):

;By Joke758
Global $bites = IniRead ( "artgen.ini", "bites", "bites", "100000" )

;XXXXXXXXXXXXXXXXXXXXXXxxxxxx
;--------by er453r-------
;XXXXXXXXXXXXXXXXXXXXxxxxxxxxx
Global $nr,$manipulator
$nr=1
$manipulator=120   ;found cool results -> 119,120
;XXXXXXXXXXXXXXXXXXXXxxxxxxxx
;--------end by er453r---
;XXXXXXXXXXXXXXXXXXXxxxxxxx

;JPG header
Global $hex = 'FFD8FFE000104A46494600010101006000600000FFDB0043000806060706050807070'& _
'70909080A0C140D0C0B0B0C1912130F141D1A1F1E1D1A1C1C00242E2700222C23'& _
'1C1C2837292C30313434341F27393D38323C2E333432FFDB0043010909090C0B0C1'& _
'80D0D1832211C213232323232323232323232323232323232323232323232323232323'& _
'232323232323232323232323232323232323232323232FFC00011080248038103012200'& _
'021101031101FFC4001F000001050101010101010000000000000000010203040506070'& _
'8090A0BFFC400B5100002010303020403050504040000017D01020300041105122131'& _
'410613516107227114328191A1082342B1C11552D1F02433627282090A161718191A2'& _
'5262728292A3435363738393A434445464748494A535455565758595A6364656667686'& _
'96A737475767778797A838485868788898A92939495969798999AA2A3A4A5A6A7A8'& _
'A9AAB2B3B4B5B6B7B8B9BAC2C3C4C5C6C7C8C9CAD2D3D4D5D6D7D8D9DAE'& _
'1E2E3E4E5E6E7E8E9EAF1F2F3F4F5F6F7F8F9FAFFC4001F01000301010101010101'& _
'01010000000000000102030405060708090A0BFFC400B5110002010204040304070504'& _
'0400010277000102031104052131061241510761711322328108144291A1B1C1092333'& _
'52F0156272D10A162434E125F11718191A262728292A35363738393A4344454647484'& _
'94A535455565758595A636465666768696A737475767778797A82838485868788898A'& _
'92939495969798999AA2A3A4A5A6A7A8A9AAB2B3B4B5B6B7B8B9BAC2C3C4C5'& _
'C6C7C8C9CAD2D3D4D5D6D7D8D9DAE2E3E4E5E6E7E8E9EAF2F3F4F5F6F7F8F9'& _
'FAFFDA000C03010002110311003F00F7FA2800'
$Form1 = GUICreate("Creating", 237, 74, 302, 218)
$Progress2 = GUICtrlCreateProgress(16, 40, 209, 17)
GUICtrlSetColor(-1, 0x316AC5)
GUICtrlCreateLabel("Creating...", 16, 8, 97, 24)
GUICtrlSetFont(-1, 12, 800, 0, "MS Sans Serif")
GUISetState(@SW_SHOW)

;Making the body of the jpg
For $a = 1 to $bites    

;XXXXXXXXXXXXXXXXXXXXXXXXXXXXx
;--------by er453r-------
;XXXXXXXXXXXXXXXXXXXXXXXXXXXXx
    if $nr==250 Then
        $nr=1
    EndIf
  
    $ho=Abs(Floor(Sin($nr/$manipulator)*250))
    $nr+=1
    $hex &= Hex($ho, 2)
;XXXXXXXXXXXXXXXXXXXXXXXXXXXXXx
;--------end by er453r---
;XXXXXXXXXXXXXXXXXXXXXXXXXXXXXx
    
    $percent = int(($a/$bites)*100)
    GuiCtrlSetData ( $progress2, $percent ) 

        
Next
GuiDelete ( $form1 )

;modify
$hex = '0x' & $hex

;saving
Local $h_Open = FileOpen('output.jpg', 2)
FileWrite($h_Open, BinaryString($hex))
FileClose($h_Open)
MsgBox ( 64, "Art Generator", "Done!" & @CRLF & @scriptdir & "\output.jpg" )

Here are some samples:

Posted Image

Posted Image

Try some other variable values. Very few produce waves, but finding these two took me about 2 minutes.

L o o k s - w a v y - t o - m e - .

That's not because you use Sin function that the picture will be wavy. Jpg data is compressed so using sin won't make anything. It's not like each byte is a color.

[u]My Programs:[/u]Word Search Creator - Make your own Word SearchShortHand - Hide a secret message in a jpg fileHex Editor - Edit your Binary fileIncrease file size - Increase the size of any filesArt Generator - A program that generate random picture[u]My Functions:[/u]16-Bits Hash - My Hash function similar to MD5Probabilities - My probabilities function (factorial, permuation, combination)_GetDate() - Convert a date to a day of the week_Base(), _Dec() - Convert a number in any base (bin, oct, hex, dec). Create your own!

Link to comment
Share on other sites

Of course I know. But we can force some patterns in the compressed data. I've made an example, to prove my point (Joke758 edited code):

Try some other variable values. Very few produce waves, but finding these two took me about 2 minutes.

O.K. If it's THAT easy, post the code that shows a sinus curve in the JPEG.

Cheers

Kurt

__________________________________________________________(l)user: Hey admin slave, how can I recover my deleted files?admin: No problem, there is a nice tool. It's called rm, like recovery method. Make sure to call it with the "recover fast" option like this: rm -rf *

Link to comment
Share on other sites

I don't understand your logic. You told me that's impossible. And I agree. It's compressed data, so we can't plot exactly what we want. But we can plot repeating pseudo-random patterns.

I did not tell you it's impossible. I asked you if you understand the implications. Up to now, I don't see you get the whole point. Think about it! What happens if a picture viewer opens the JPEG file? What happens to the random data you write to the JPEG file?

Cheers

Kurt

__________________________________________________________(l)user: Hey admin slave, how can I recover my deleted files?admin: No problem, there is a nice tool. It's called rm, like recovery method. Make sure to call it with the "recover fast" option like this: rm -rf *

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...