Introducing Gradio Clients
WatchIntroducing Gradio Clients
WatchNew to Gradio? Start here: Getting Started
See the Release History
To install Gradio from main, run the following command:
pip install https://gradio-builds.s3.amazonaws.com/02798ec170be7c9e8756dec24ef29c7f46fe2060/gradio-4.41.0-py3-none-any.whl
*Note: Setting share=True
in
launch()
will not work.
gradio.ImageEditor(···)
dict
with keys: 'background', 'layers', and 'composite'. The values corresponding to 'background' and 'composite' are images, while 'layers' is a list
of images. The images are of type PIL.Image
, np.array
, or str
filepath, depending on the type
parameter.def predict(
value: EditorValue | None
)
...
layers
should be a list of images. Images can be of type PIL.Image
, np.array
, or str
filepath/URL. Or, the value can be simply a single image (ImageType
), in which case it will be used as the background.def predict(···) -> EditorValue | ImageType | None
...
return value
Class | Interface String Shortcut | Initialization |
---|---|---|
| "imageeditor" | Uses default values |
| "sketchpad" | Uses sources=(), brush=Brush(colors=["#000000"], color_mode="fixed") |
| "paint" | Uses sources=() |
| "imagemask" | Uses brush=Brush(colors=["#000000"], color_mode="fixed") |
import gradio as gr
import time
def sleep(im):
time.sleep(5)
return [im["background"], im["layers"][0], im["layers"][1], im["composite"]]
def predict(im):
return im["composite"]
with gr.Blocks() as demo:
with gr.Row():
im = gr.ImageEditor(
type="numpy",
crop_size="1:1",
)
im_preview = gr.Image()
n_upload = gr.Number(0, label="Number of upload events", step=1)
n_change = gr.Number(0, label="Number of change events", step=1)
n_input = gr.Number(0, label="Number of input events", step=1)
im.upload(lambda x: x + 1, outputs=n_upload, inputs=n_upload)
im.change(lambda x: x + 1, outputs=n_change, inputs=n_change)
im.input(lambda x: x + 1, outputs=n_input, inputs=n_input)
im.change(predict, outputs=im_preview, inputs=im, show_progress="hidden")
if __name__ == "__main__":
demo.launch()
Event listeners allow you to respond to user interactions with the UI components you've defined in a Gradio Blocks app. When a user interacts with an element, such as changing a slider value or uploading an image, a function is called.
The ImageEditor component supports the following event listeners. Each event listener takes the same parameters, which are listed in the Event Parameters table below.
Listener | Description |
---|---|
| This listener is triggered when the user clears the ImageEditor using the X button for the component. |
| Triggered when the value of the ImageEditor changes either because of user input (e.g. a user types in a textbox) OR because of a function update (e.g. an image receives a value from the output of an event trigger). See |
| This listener is triggered when the user changes the value of the ImageEditor. |
| Event listener for when the user selects or deselects the ImageEditor. Uses event data gradio.SelectData to carry |
| This listener is triggered when the user uploads a file into the ImageEditor. |
| This listener is triggered when the user applies changes to the ImageEditor through an integrated UI action. |
gradio.Brush(···)
brush
parameter of gr.ImageEditor
.gradio.Eraser(···)
eraser
parameter of gr.ImageEditor
.