MaximumADHD / Roblox-PNG-Library

An implementation of the PNG file format in Lua, natively designed for Roblox.
MIT License
43 stars 14 forks source link

running code from luau intepreter in windows #6

Open GDani31 opened 11 months ago

GDani31 commented 11 months ago

hi, is it possible to run the png decoder in the from roblox luau intepreter? i have made a small script which takes the encoded png content in a variable as string and want to decode it to get the pixel data. the string looks like this:

PNG

IHDR`jPLTEZZj{BtRNS@fIDATXAn0Eq{_k)'EdV/*u1o==EQE3)>g9y}?]jI\YAreB}{pK"=Irb/1b^H3uPwm(6$s Ǥ~ޮ0B'd3Y4#M2SQ"TX[KéZk̰޵McwPLsFQEQc->IENDB

or in other formating:

b'89504E470D0A1A0A0000000D494844520000006000000060040300000010B66A0B00000018504C54450000000000005A18949C5AB4B46ACDC57BE6E6A4F6FFCDFFB20142600000000174524E530040E6D866000000F34944415458C3ED94416EC23010451DE70271107B928803E05FAB6B14F500C8F99CA0292700AEDF451264561E2F2A75316F3DCFF33DB6C61845511445F933EAAE29133EEF67D339797D7F9BD13FBF855D6ADF1F495C9FF35918E74172FAE20F65427D7B7005078960AFF34BF012A122C93D4972622F3196625E4892079910B750BC083375A150A0776D2812362473B2A920F91DC7A47EF48582E4E9DEAE30A291BEDB42CC7F271BDE3B643359A40290CD34E0234D049C32C20EC0EA8400A90092538C512254585B8C4B03A190909DABC3A91D965AEF060896936BCCB01DDEB5B24D63770050B0F94CE59C734651144551FE11BF9B1763192D3EBE9F0000000049454E44AE426082'

or in hex:

b'\x89\x50\x4E\x47\x0D\x0A\x1A\x0A\x00\x00' b'\x00\x0D\x49\x48\x44\x52\x00\x00\x00\x60' b'\x00\x00\x00\x60\x04\x03\x00\x00\x00\x10' b'\xB6\x6A\x0B\x00\x00\x00\x18\x50\x4C\x54' b'\x45\x00\x00\x00\x00\x00\x00\x5A\x18\x94' b'\x9C\x5A\xB4\xB4\x6A\xCD\xC5\x7B\xE6\xE6' b'\xA4\xF6\xFF\xCD\xFF\xB2\x01\x42\x60\x00' b'\x00\x00\x01\x74\x52\x4E\x53\x00\x40\xE6' b'\xD8\x66\x00\x00\x00\xF3\x49\x44\x41\x54' b'\x58\xC3\xED\x94\x41\x6E\xC2\x30\x10\x45' b'\x1D\xE7\x02\x71\x10\x7B\x92\x88\x03\xE0' b'\x5F\xAB\x6B\x14\xF5\x00\xC8\xF9\x9C\xA0' b'\x29\x27\x00\xAE\xDF\x45\x12\x64\x56\x1E' b'\x2F\x2A\x75\x31\x6F\x3D\xCF\xF3\x3D\xB6' b'\xC6\x18\x45\x51\x14\x45\xF9\x33\xEA\xAE' b'\x29\x13\x3E\xEF\x67\xD3\x39\x79\x7D\x7F' b'\x9B\xD1\x3F\xBF\x85\x5D\x6A\xDF\x1F\x49' b'\x5C\x9F\xF3\x59\x18\xE7\x41\x72\xFA\xE2' b'\x0F\x65\x42\x7D\x7B\x70\x05\x07\x89\x60' b'\xAF\xF3\x4B\xF0\x12\xA1\x22\xC9\x3D\x49' b'\x72\x62\x2F\x31\x96\x62\x5E\x48\x92\x07' b'\x99\x10\xB7\x50\xBC\x08\x33\x75\xA1\x50' b'\xA0\x77\x6D\x28\x12\x36\x24\x73\xB2\xA9' b'\x20\xF9\x1D\xC7\xA4\x7E\xF4\x85\x82\xE4' b'\xE9\xDE\xAE\x30\xA2\x91\xBE\xDB\x42\xCC' b'\x7F\x27\x1B\xDE\x3B\x64\x33\x59\xA4\x02' b'\x90\xCD\x34\xE0\x23\x4D\x04\x9C\x32\xC2' b'\x0E\xC0\xEA\x84\x00\xA9\x00\x92\x53\x8C' b'\x51\x22\x54\x58\x5B\x8C\x4B\x03\xA1\x90' b'\x90\x9D\xAB\xC3\xA9\x1D\x96\x5A\xEF\x06' b'\x08\x96\x93\x6B\xCC\xB0\x1D\xDE\xB5\xB2' b'\x4D\x63\x77\x00\x50\xB0\xF9\x4C\xE5\x9C' b'\x73\x46\x51\x14\x45\x51\xFE\x11\xBF\x9B' b'\x17\x63\x19\x2D\x3E\xBE\x9F\x00\x00\x00' b'\x00\x49\x45\x4E\x44\xAE\x42\x60\x82'

all i want is to decode this to get the pixel data.

if you wonder why, its because of another game which uses roblox's lua intepreter. would be very thanksfull if you could help me, i am stuck at this problem for several days.

AsynchronousAI commented 6 months ago

it should work, Use

PNG.new(source).Height
PNG.new(source).Width
PNG.new(source):GetPixel(x, y)
AsynchronousAI commented 6 months ago

But the colors are returned in Color3, you may need to make a custom implementation for that if you are working with it outside of RLuau