Roblox-PNG-Library icon indicating copy to clipboard operation
Roblox-PNG-Library copied to clipboard

running code from luau intepreter in windows

Open GDani31 opened this issue 1 year ago • 2 comments

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.

GDani31 avatar Aug 16 '23 22:08 GDani31

it should work, Use

PNG.new(source).Height
PNG.new(source).Width
PNG.new(source):GetPixel(x, y)

AsynchronousAI avatar Jan 04 '24 00:01 AsynchronousAI

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

AsynchronousAI avatar Jan 04 '24 00:01 AsynchronousAI