Image#
Open this notebook in Jupyterlite | Download this notebook from GitHub (right-click to download).
import panel as pn
pn.extension()
The Image
pane embeds any known image format file in panel if provided a local path, or will link to a remote image if provided with a URL.
Parameters:#
For details on other options for customizing the component see the layout and styling how-to guides.
alt_text
(str, default=None): alt text to add to the image tag. The alt text is shown when a user cannot load or display the image.embed
(boolean, default=False): If given a URL to an image this determines whether the image will be embedded as base64 or merely linked to.fixed_aspect
(boolean, default=True): Whether the aspect ratio of the image should be forced to be equal.link_url
(str, default=None): A link URL to make the image clickable and link to some other website.object
(str or object): The Image file to display. Can be a string pointing to a local or remote file, or an object with a_repr_extension_
method, where extension is an image file extension.style
(dict): Dictionary specifying CSS styles
The Image
pane can be pointed at any local or remote image file. If given a URL starting with http
or https
, the embed
parameter determines whether the image will be embedded or linked to:
jpg_pane = pn.pane.Image('https://assets.holoviz.org/panel/samples/jpeg_sample.jpeg')
png_pane = pn.pane.Image('https://assets.holoviz.org/panel/samples/png_sample.png')
pn.Column(jpg_pane, png_pane)
We can scale the size of the image by setting a specific fixed width
or height
:
png_pane.clone(width=400)
Alternatively we can scale the width and height using the sizing_mode
:
pn.pane.Image(
'https://assets.holoviz.org/panel/samples/png_sample2.png', sizing_mode='scale_width'
)
Note that by default the aspect ratio of the image is fixed, and so there may be a gap beside or below the image even in responsive sizing modes. To override this behavior set fixed_aspect=False
or provide fixed width
and height
values.
PIL#
The Image pane will render any component that defines _repr_[png | jpeg | svg]_
methods including PIL images:
from PIL import Image, ImageDraw
im = Image.new(mode='RGB', size=(256, 256))
draw = ImageDraw.Draw(im)
draw.line((0, 0) + im.size, fill=128, width=5)
draw.line((0, im.size[1], im.size[0], 0), fill=128, width=5)
draw.rectangle([(96, 96), (160, 160)], fill=(0, 0, 128), width=10)
pn.pane.Image(im)
Open this notebook in Jupyterlite | Download this notebook from GitHub (right-click to download).