Source code for fsleyes_widgets.utils.b64icon

#!/usr/bin/env python
#
# b64icon.py - convert base64-encoded bitmaps into wx.Bitmap obje
#
# Author: Paul McCarthy <pauldmccarthy@gmail.com>
#
"""This module contains the :func:`loadBitmap` function, which can be used
to create a ``wx.Bitmap`` object from a base64-encoded image.
"""


import base64 as b64

from io import BytesIO

import wx


[docs] class IconError(Exception): """Custon ``Exception`` raised when :func:`loadBitmap` cannot load an icon. """ pass
[docs] def loadBitmap(iconb64): """Convert the given ``base64``-encoded byte string to a ``wx.Bitmap`` object. """ iconbytes = b64.b64decode(iconb64) success = False image = wx.Image() success = wx.Image.LoadFile(image, BytesIO(iconbytes)) if not success: raise IconError('Error loading image') return image.ConvertToBitmap()