Spaces:
Sleeping
Sleeping
| import streamlit as st | |
| import random | |
| import matplotlib.patches as patches | |
| import matplotlib.pyplot as plt | |
| # Function to generate random palettes | |
| def generate_palette(theme, num_colors=5): | |
| """ | |
| Generate a color palette based on a theme. | |
| This is a mock implementation using random HEX codes. | |
| """ | |
| # Simulating the theme logic with random color generation | |
| hex_codes = [f"#{''.join(random.choices('0123456789ABCDEF', k=6))}" for _ in range(num_colors)] | |
| return hex_codes | |
| # Function to display the palette | |
| def display_palette(colors): | |
| """ | |
| Visualize the generated color palette. | |
| """ | |
| fig, ax = plt.subplots(1, 1, figsize=(len(colors) * 2, 2)) | |
| ax.set_xlim(0, len(colors)) | |
| ax.set_ylim(0, 1) | |
| ax.axis("off") | |
| # Draw colored rectangles for each color | |
| for i, color in enumerate(colors): | |
| rect = patches.Rectangle((i, 0), 1, 1, facecolor=color) | |
| ax.add_patch(rect) | |
| ax.text( | |
| i + 0.5, -0.2, color, color="black", ha="center", va="center", fontsize=10 | |
| ) | |
| st.pyplot(fig) | |
| # Streamlit App Interface | |
| st.title("Color Palette Generator") | |
| # Input: number of colors | |
| num_colors = st.slider("Number of colors in the palette:", min_value=2, max_value=10, value=5) | |
| # Button: Generate Palette | |
| if st.button("Generate Palette"): | |
| palette = generate_palette(num_colors) | |
| st.subheader("Generated Palette") | |
| st.write(", ".join(palette)) # Display HEX codes | |
| display_palette(palette) | |