#!/usr/bin/env python3 # Copyright ©2015-2024 Evan Pretti. All rights reserved. # Redistribution and use in source and binary forms, with or without # modification, are permitted provided that the following conditions are met: # 1. Redistributions of source code must retain the above copyright notice, # this list of conditions and the following disclaimer. # 2. Redistributions in binary form must reproduce the above copyright # notice, this list of conditions and the following disclaimer in the # documentation and/or other materials provided with the distribution. # This software is provided by the author and contributors "as is" and any # express or implied warranties, including, but not limited to, the implied # warranties of merchantability and fitness for a particular purpose are # disclaimed. In no event shall the author or contributors be liable for any # direct, indirect, incidental, special, exemplary, or consequential damages # (including, but not limited to, procurement of substitute goods or services; # loss of use, data, or profits; or business interruption) however caused and on # any theory of liability, whether in contract, strict liability, or tort # (including negligence or otherwise) arising in any way out of the use of this # software, even if advised of the possibility of such damage. try: import sys import struct import PIL.Image file = open(sys.argv[1], "rb") width, height = struct.unpack("@QQ", file.read(16)) image = PIL.Image.frombuffer("RGBA", (width, height), file.read(width * height * 4), "raw", "RGBA", 0, 1) image.show() except Exception as exception: print("An error has occurred ({}):".format(type(exception).__name__)) print("{}".format(exception))