Skip to content

Latest commit

History

History
57 lines (47 loc) 路 1.98 KB

few-tips-appear.md

File metadata and controls

57 lines (47 loc) 路 1.98 KB
@gradio/app @gradio/atoms @gradio/icons @gradio/image @gradio/imageeditor @gradio/preview @gradio/statustracker @gradio/upload gradio
minor
minor
minor
minor
minor
minor
minor
minor
minor

highlight:

New ImageEditor component

A brand new component, completely separate from Image that provides simple editing capabilities.

  • Set background images from file uploads, webcam, or just paste!
  • Crop images with an improved cropping UI. App authors can event set specific crop size, or crop ratios (1:1, etc)
  • Paint on top of any image (or no image) and erase any mistakes!
  • The ImageEditor supports layers, confining draw and erase actions to that layer.
  • More flexible access to data. The image component returns a composite image representing the final state of the canvas as well as providing the background and all layers as individual images.
  • Fully customisable. All features can be enabled and disabled. Even the brush color swatches can be customised.

gif.mp4

def fn(im):
    im["composite"] # the full canvas
    im["background"] # the background image
    im["layers"] # a list of individual layers


im = gr.ImageEditor(
    # decide which sources you'd like to accept
    sources=["upload", "webcam", "clipboard"],
    # set a cropsize constraint, can either be a ratio or a concrete [width, height]
    crop_size="1:1",
    # enable crop (or disable it)
    transforms=["crop"],
    # customise the brush
    brush=Brush(
      default_size="25", # or leave it as 'auto'
      color_mode="fixed", # 'fixed' hides the user swatches and colorpicker, 'defaults' shows it
      default_color="hotpink", # html names are supported
      colors=[
        "rgba(0, 150, 150, 1)", # rgb(a)
        "#fff", # hex rgb
        "hsl(360, 120, 120)" # in fact any valid colorstring
      ]
    ),
    brush=Eraser(default_size="25")
)