Przejdź do głównej zawartości

38. Generator awatara SVG

Generator awatarów SVG — użytkownik konfiguruje kolory i styl, aplikacja generuje awatar jako inline SVG i umożliwia jego pobranie.

// Prosty awatar SVG - kształty geometryczne
function AvatarSVG({ config }) {
const { bgColor, faceColor, hairStyle, hairColor, eyeColor } = config;
return (
<svg viewBox="0 0 100 100" xmlns="http://www.w3.org/2000/svg" width="200" height="200">
{/* Tło */}
<rect width="100" height="100" fill={bgColor} rx="10" />
{/* Twarz */}
<circle cx="50" cy="55" r="30" fill={faceColor} />
{/* Oczy */}
<circle cx="41" cy="50" r="4" fill={eyeColor} />
<circle cx="59" cy="50" r="4" fill={eyeColor} />
<circle cx="42" cy="49" r="1.5" fill="white" />
<circle cx="60" cy="49" r="1.5" fill="white" />
{/* Usta */}
<path d="M 40 62 Q 50 70 60 62" stroke="#c0392b" strokeWidth="2" fill="none" strokeLinecap="round" />
{/* Włosy */}
{hairStyle === 'short' && (
<ellipse cx="50" cy="27" rx="28" ry="15" fill={hairColor} />
)}
{hairStyle === 'long' && (
<>
<ellipse cx="50" cy="27" rx="28" ry="15" fill={hairColor} />
<rect x="20" y="27" width="10" height="40" fill={hairColor} rx="5" />
<rect x="70" y="27" width="10" height="40" fill={hairColor} rx="5" />
</>
)}
</svg>
);
}
  • Konfiguracja koloru tła, twarzy i włosów
  • Minimum 3 style włosów
  • Podgląd na żywo
  • Kopiowanie SVG jako tekst / pobieranie
  • Losowanie losowego awatara
Ocena: 3.0

Powodzenia!

Generator awatara SVG to projekt twórczy i wizualny. Inline SVG w React jest naturalny — <svg> jako JSX działa świetnie. Pobieranie PNG (konwersja SVG→Canvas→PNG) jest w wariancie B — użyj canvg lub serializacji SVG do Blob i URL.createObjectURL. Proste, kolorowe awatary geometryczne są bardziej eleganckie niż skomplikowane!