[IPython-dev] [Notebook 1.0.0] Display two png images side by side
Zoltán Vörös
zvoros at gmail.com
Mon Sep 2 10:57:32 EDT 2013
Hi Francesco,
>
> import base64
> pngs = []
> for fn in images: # loop over the input file names
> with open(fn, "rb") as f:
> pngs.append('data:image/png;base64,' +
> base64.b64encode(f.read()))
>
> But I get the following error: on the last line:
> TypeError: Can't convert 'bytes' object to str implicitly
>
> Is there a way to disable table lines in HTML?
From this, it seems to me that you encounter the problem on the
png-to-base64 conversion. Is that correct? Because afterwards the image
is encoded in base64, so it's not binary anymore, and I don't see why
html should fail at that point. But if it is an error in b64encode, then
you probably don't have a valid input file.
Cheers,
Zoltán
>
>
> 2013/9/2 Zoltán Vörös <zvoros at gmail.com <mailto:zvoros at gmail.com>>
>
> Hi Francesco,
>
> It might be a hack, but this works:
>
> with open("roche1.png", "rb") as image_file:
> im1 = 'data:image/png;base64,' +
> base64.b64encode(image_file.read())
>
> with open("roche2.png", "rb") as image_file:
> im2 = 'data:image/png;base64,' +
> base64.b64encode(image_file.read())
>
> s = """<table>
> <tr>
> <th><img src="%s"/></th>
> <th><img src="%s"/></th>
> </tr></table>"""%(im1, im2)
> t=HTML(s)
> display(t)
>
>
> Cheers,
> Zoltán
>
>
> On 02/09/13 15:32, Francesco Montesano wrote:
>> Dear List,
>>
>> I have a script that produces some image and I'm creating a
>> notebook for testing/logging.
>>
>> For comparison reasons, I would like to load to images in a cell
>> and show them side by side.
>>
>> from IPython.display import Image
>> constr = Image(filename="fig1.png")
>> sigma = Image(filename="fig2.png")
>> display(constr, sigma)
>>
>>
>> put the figures one after the other. I've tried to play with the
>> width keyword, but that does not help.
>>
>> Making an HTML table with the output of "Image" does not work (I
>> don't know if I should add "of course")
>>
>> s = """<table>
>> <tr>
>> <th>{f1}</th>
>> <th>{f2}</th>
>> </tr>""".format(f1=constr, f2=sigma)
>> t=HTML(s)
>> display(t)
>>
>> Is there any way to do what I want directly in the notebook? (I
>> guess that there is some python library to do it, but I think
>> that the notebook should be able to do it)
>>
>> Cheers,
>>
>> Fra
>>
>>
>> _______________________________________________
>> IPython-dev mailing list
>> IPython-dev at scipy.org <mailto:IPython-dev at scipy.org>
>> http://mail.scipy.org/mailman/listinfo/ipython-dev
>
>
> _______________________________________________
> IPython-dev mailing list
> IPython-dev at scipy.org <mailto:IPython-dev at scipy.org>
> http://mail.scipy.org/mailman/listinfo/ipython-dev
>
>
>
>
> _______________________________________________
> IPython-dev mailing list
> IPython-dev at scipy.org
> http://mail.scipy.org/mailman/listinfo/ipython-dev
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/ipython-dev/attachments/20130902/e42e67fd/attachment.html>
More information about the IPython-dev
mailing list