I would also add the geoman.io project. Once you select the "Editor" you can create your own Leaflet-based map using a lot of shapes available from the panel 9circles, polygons, lines, etc). The tool has also quite wide saving option with the following formats: GeoJson, TopoJson, WKT, SHP, CSV, KML and Shapefile.
It's very similar to geojson.io.
You can now accomplish this with rasterio. From the example at: https://rasterio.readthedocs.io/en/latest/topics/color.html
with rasterio.open('tests/data/shade.tif') as src:
shade = src.read(1)
meta = src.meta
with rasterio.open('/tmp/colormap.tif', 'w', **meta) as dst: