Markndrei's picture
update app
45001f8 verified
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)