feat(vi): add project VI assets - logo iconset, PSD, vector, banner (#425)

- darklogo/lightlogo iconset (16-512px) and .ico
- PSD source files (darklogo, lightlogo, bannersource)
- Vector file (dsa_logo.ai)
- banner.png for repo Social preview
# skip
This commit is contained in:
Alfred
2026-02-26 21:28:27 +08:00
committed by GitHub
parent b2326e9439
commit 605224bd5a
32 changed files with 519 additions and 0 deletions

BIN
sources/dsa_vi/banner.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 43 KiB

Binary file not shown.

BIN
sources/dsa_vi/darklogo.ico Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 43 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 845 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 118 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 118 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 386 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.4 KiB

BIN
sources/dsa_vi/darklogo.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 386 KiB

BIN
sources/dsa_vi/darklogo.psd Normal file

Binary file not shown.

484
sources/dsa_vi/dsa_logo.ai Normal file

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,35 @@
#!/usr/bin/env python3
"""
Generate .ico files from source PNG. Uses largest available from iconset or source.
Sizes: 16, 32, 64, 128, 256, 512.
"""
from pathlib import Path
try:
from PIL import Image
except ImportError:
raise SystemExit("Pillow required: pip install Pillow")
ICON_DIR = Path(__file__).parent
SIZES = [(16, 16), (32, 32), (64, 64), (128, 128), (256, 256), (512, 512)]
def make_ico(name: str, source: Path) -> None:
"""Create multi-resolution .ico from source image."""
img = Image.open(source).convert("RGBA")
out = ICON_DIR / f"{name}.ico"
img.save(out, format="ICO", sizes=SIZES)
print(f"Created {out}")
def main() -> None:
for name in ("darklogo", "lightlogo"):
src = ICON_DIR / f"{name}.png"
if src.exists():
make_ico(name, src)
else:
print(f"Skip {name}: {src} not found")
if __name__ == "__main__":
main()

Binary file not shown.

After

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 742 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 37 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 37 KiB

Binary file not shown.