mirror of
https://github.com/kasmtech/KasmVNC.git
synced 2024-11-26 01:53:11 +01:00
41 lines
918 B
Python
Executable File
41 lines
918 B
Python
Executable File
#!/usr/bin/env python
|
|
|
|
#
|
|
# Convert image to Javascript compatible base64 Data URI
|
|
# Copyright (C) 2018 The noVNC Authors
|
|
# Licensed under MPL 2.0 (see docs/LICENSE.MPL-2.0)
|
|
#
|
|
|
|
import sys, base64
|
|
|
|
try:
|
|
from PIL import Image
|
|
except:
|
|
print "python PIL module required (python-imaging package)"
|
|
sys.exit(1)
|
|
|
|
|
|
if len(sys.argv) < 3:
|
|
print "Usage: %s IMAGE JS_VARIABLE" % sys.argv[0]
|
|
sys.exit(1)
|
|
|
|
fname = sys.argv[1]
|
|
var = sys.argv[2]
|
|
|
|
ext = fname.lower().split('.')[-1]
|
|
if ext == "png": mime = "image/png"
|
|
elif ext in ["jpg", "jpeg"]: mime = "image/jpeg"
|
|
elif ext == "gif": mime = "image/gif"
|
|
else:
|
|
print "Only PNG, JPEG and GIF images are supported"
|
|
sys.exit(1)
|
|
uri = "data:%s;base64," % mime
|
|
|
|
im = Image.open(fname)
|
|
w, h = im.size
|
|
|
|
raw = open(fname).read()
|
|
|
|
print '%s = {"width": %s, "height": %s, "data": "%s%s"};' % (
|
|
var, w, h, uri, base64.b64encode(raw))
|