mirror of
https://github.com/marcogll/anchor23.git
synced 2026-03-15 13:24:18 +00:00
Refactor repository structure for clarity and professionalism
- Move scripts to tools/ directory - Rename pyton.py to generate_swatches.py - Rename down.py to downscale_colors.py - Remove hardcoded API key from generate_swatches.py - Update README.md to reference local color assets instead of placeholders
This commit is contained in:
10
README.md
10
README.md
@@ -139,11 +139,11 @@ Nunca gestual. Nunca decorativa.
|
|||||||
|
|
||||||
| Swatch | Nombre | Hex |
|
| Swatch | Nombre | Hex |
|
||||||
| ------------------------------------------------------------ | -------------- | --------- |
|
| ------------------------------------------------------------ | -------------- | --------- |
|
||||||
|  | Bone White | `#F6F1EC` |
|
|  | Bone White | `#F6F1EC` |
|
||||||
|  | Soft Cream | `#EFE7DE` |
|
|  | Soft Cream | `#EFE7DE` |
|
||||||
|  | Mocha Taupe | `#B8A89A` |
|
|  | Mocha Taupe | `#B8A89A` |
|
||||||
|  | Deep Earth | `#6F5E4F` |
|
|  | Deep Earth | `#6F5E4F` |
|
||||||
|  | Charcoal Brown | `#3F362E` |
|
|  | Charcoal Brown | `#3F362E` |
|
||||||
|
|
||||||
Uso contenido. Sin saturación. Sin gradientes.
|
Uso contenido. Sin saturación. Sin gradientes.
|
||||||
|
|
||||||
|
|||||||
BIN
assets/colors/bone-white.png
Normal file
BIN
assets/colors/bone-white.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 619 B |
BIN
assets/colors/charcoal-brown.png
Normal file
BIN
assets/colors/charcoal-brown.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 497 B |
BIN
assets/colors/deep-earth.png
Normal file
BIN
assets/colors/deep-earth.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 509 B |
BIN
assets/colors/mocha-taupe.png
Normal file
BIN
assets/colors/mocha-taupe.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 396 B |
BIN
assets/colors/soft-cream.png
Normal file
BIN
assets/colors/soft-cream.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 628 B |
25
tools/downscale_colors.py
Normal file
25
tools/downscale_colors.py
Normal file
@@ -0,0 +1,25 @@
|
|||||||
|
from PIL import Image
|
||||||
|
import os
|
||||||
|
|
||||||
|
# =========================
|
||||||
|
# CONFIGURACIÓN
|
||||||
|
# =========================
|
||||||
|
INPUT_DIR = "assets/colors"
|
||||||
|
OUTPUT_SIZE = (32, 32) # cambia a (24, 24) si lo prefieres
|
||||||
|
|
||||||
|
SUPPORTED_EXTENSIONS = (".png", ".jpg", ".jpeg", ".webp")
|
||||||
|
|
||||||
|
# =========================
|
||||||
|
# DOWNSCALE
|
||||||
|
# =========================
|
||||||
|
for filename in os.listdir(INPUT_DIR):
|
||||||
|
if filename.lower().endswith(SUPPORTED_EXTENSIONS):
|
||||||
|
path = os.path.join(INPUT_DIR, filename)
|
||||||
|
|
||||||
|
with Image.open(path) as img:
|
||||||
|
img = img.convert("RGB")
|
||||||
|
img = img.resize(OUTPUT_SIZE, Image.Resampling.LANCZOS)
|
||||||
|
img.save(path, optimize=True)
|
||||||
|
|
||||||
|
print(f"Downscaled {filename} to {OUTPUT_SIZE[0]}x{OUTPUT_SIZE[1]}")
|
||||||
|
|
||||||
48
tools/generate_swatches.py
Normal file
48
tools/generate_swatches.py
Normal file
@@ -0,0 +1,48 @@
|
|||||||
|
from openai import OpenAI
|
||||||
|
import base64
|
||||||
|
import os
|
||||||
|
|
||||||
|
# =========================
|
||||||
|
# CONFIGURACIÓN API
|
||||||
|
# =========================
|
||||||
|
# Set OPENAI_API_KEY as environment variable or replace below
|
||||||
|
OPENAI_API_KEY = os.getenv("OPENAI_API_KEY")
|
||||||
|
if not OPENAI_API_KEY:
|
||||||
|
raise ValueError("OPENAI_API_KEY environment variable not set")
|
||||||
|
client = OpenAI(api_key=OPENAI_API_KEY)
|
||||||
|
|
||||||
|
# =========================
|
||||||
|
# CONFIGURACIÓN
|
||||||
|
# =========================
|
||||||
|
SIZE = "1024x1024" # Tamaño válido
|
||||||
|
OUTPUT_DIR = "assets/colors"
|
||||||
|
|
||||||
|
COLORS = {
|
||||||
|
"bone-white": "#F6F1EC",
|
||||||
|
"soft-cream": "#EFE7DE",
|
||||||
|
"mocha-taupe": "#B8A89A",
|
||||||
|
"deep-earth": "#6F5E4F",
|
||||||
|
"charcoal-brown": "#3F362E",
|
||||||
|
}
|
||||||
|
|
||||||
|
PROMPT_TEMPLATE = (
|
||||||
|
"A flat square color swatch, solid fill, hex color {hex}. "
|
||||||
|
"No gradients, no texture, no shadow, no border. "
|
||||||
|
"Minimal, neutral, technical style."
|
||||||
|
)
|
||||||
|
|
||||||
|
os.makedirs(OUTPUT_DIR, exist_ok=True)
|
||||||
|
|
||||||
|
for name, hex_color in COLORS.items():
|
||||||
|
prompt = PROMPT_TEMPLATE.format(hex=hex_color)
|
||||||
|
|
||||||
|
result = client.images.generate(model="gpt-image-1", prompt=prompt, size=SIZE)
|
||||||
|
|
||||||
|
image_base64 = result.data[0].b64_json
|
||||||
|
image_bytes = base64.b64decode(image_base64)
|
||||||
|
|
||||||
|
output_path = os.path.join(OUTPUT_DIR, f"{name}.png")
|
||||||
|
with open(output_path, "wb") as f:
|
||||||
|
f.write(image_bytes)
|
||||||
|
|
||||||
|
print(f"Generated {output_path}")
|
||||||
Reference in New Issue
Block a user