# Import the necessary libraries import gradio as gr import numpy as np # Define a function to generate a random image def generate_image(format): # Create a random image with a size of 600x600 pixels and 3 color channels image = np.random.randint(0, 256, (600, 600, 3), dtype=np.uint8) # Return the image in the specified format return image, format # Create a Gradio interface with gr.Blocks() as demo: # Create a dropdown to select the output format format_dropdown = gr.Dropdown(choices=["png", "jpg", "webp"], value="png", label="Output Format") # Create an image component to display the generated image image_output = gr.Image(type="numpy", label="Generated Image") # Create a button to trigger the image generation generate_button = gr.Button("Generate Image") # Define the event listener for the button click generate_button.click(fn=generate_image, inputs=format_dropdown, outputs=[image_output, format_dropdown]) # Launch the interface if __name__ == "__main__": demo.launch(show_error=True)