Oh MyUtils

SVG ब्लॉब जनरेटर - ऑर्गेनिक ब्लॉब आकार ऑनलाइन बनाएं

आधुनिक वेब डिज़ाइन के लिए यादृच्छिक जैविक SVG ब्लॉब आकार बनाएं

अक्सर पूछे जाने वाले प्रश्न

SVG ब्लॉब जनरेटर क्या है?

SVG ब्लॉब जनरेटर एक उपकरण है जो SVG (Scalable Vector Graphics) प्रारूप में यादृच्छिक, जैविक दिखने वाली आकृतियाँ (जिन्हें "ब्लॉब" कहा जाता है) बनाता है। ये आकृतियाँ एक वृत्त के चारों ओर यादृच्छिक बिंदुओं को वितरित करके और उन्हें चिकनी वक्रों से जोड़कर गणितीय रूप से उत्पन्न की जाती हैं। ब्लॉब का उपयोग आधुनिक वेब डिज़ाइन में पृष्ठभूमि, हीरो अनुभागों, कार्ड सजावट और ब्रांडिंग तत्वों के लिए व्यापक रूप से किया जाता है।

मैं इस SVG ब्लॉब जनरेटर का उपयोग कैसे करूं?

1. जटिलता स्लाइडर को समायोजित करें। 2. यादृच्छिकता स्लाइडर को समायोजित करें। 3. SVG viewBox आकार सेट करें। 4. भरण प्रकार (ठोस रंग या ग्रेडिएंट) चुनें और अपने रंग चुनें। 5. विभिन्न ब्लॉब विविधताएँ उत्पन्न करने के लिए यादृच्छिक पर क्लिक करें। 6. जब आपको पसंदीदा आकृति मिले तो SVG कोड कॉपी करें या SVG/PNG फ़ाइल डाउनलोड करें।

क्या मेरा डिज़ाइन डेटा सुरक्षित है? क्या यह सर्वर पर भेजा जाता है?

आपका डिज़ाइन डेटा 100% सुरक्षित है और कभी भी आपके ब्राउज़र से बाहर नहीं जाता। सभी ब्लॉब जनरेशन JavaScript गणितीय एल्गोरिदम का उपयोग करके क्लाइंट-साइड पर किया जाता है। कोई भी डेटा किसी सर्वर पर प्रसारित नहीं होता। यह उपकरण स्वामित्व ब्रांड कार्य और गोपनीय डिज़ाइन परियोजनाओं के लिए सुरक्षित है।

जटिलता और यादृच्छिकता में क्या अंतर है?

जटिलता ब्लॉब उत्पन्न करने के लिए उपयोग किए जाने वाले नियंत्रण बिंदुओं की संख्या को नियंत्रित करती है। अधिक बिंदु अधिक वक्रों वाली आकृतियाँ बनाते हैं, जबकि कम बिंदु सरल, गोल आकृतियाँ बनाते हैं। यादृच्छिकता नियंत्रित करती है कि प्रत्येक बिंदु एक पूर्ण वृत्त से कितना विचलित होता है। कम यादृच्छिकता लगभग गोलाकार आकृतियाँ उत्पन्न करती है, जबकि उच्च यादृच्छिकता अनियमित जैविक रूप बनाती है।

क्या मैं उत्पन्न SVG को अपने वेब प्रोजेक्ट में उपयोग कर सकता हूं?

हां, उत्पन्न SVG कोड को किसी भी वेब प्रोजेक्ट में सीधे उपयोग किया जा सकता है। आप इसे HTML में इनलाइन एम्बेड कर सकते हैं, React/Vue कंपोनेंट के रूप में उपयोग कर सकते हैं, बाहरी SVG फ़ाइल के रूप में संदर्भित कर सकते हैं, या data URI के माध्यम से CSS background-image के रूप में उपयोग कर सकते हैं।

वेब डिज़ाइन में SVG ब्लॉब के सामान्य उपयोग क्या हैं?

SVG ब्लॉब का उपयोग आमतौर पर हीरो सेक्शन बैकग्राउंड, कार्ड सजावट, इमेज मास्क और क्लिप पाथ, लोडिंग एनिमेशन, लोगो और ब्रांडिंग तत्वों, सेक्शन डिवाइडर, और ग्रेडिएंट बैकग्राउंड के लिए किया जाता है।

ब्लॉब के लिए PNG या JPEG के बजाय SVG प्रारूप का उपयोग क्यों करें?

SVG कई लाभ प्रदान करता है: गुणवत्ता हानि के बिना अनंत स्केलेबिलिटी, रास्टर छवियों की तुलना में छोटा फ़ाइल आकार, कोड के माध्यम से आसान रंग अनुकूलन, CSS/JS एनिमेशन समर्थन, डिफ़ॉल्ट रूप से पारदर्शी पृष्ठभूमि, और SEO-अनुकूल क्योंकि SVG टेक्स्ट-आधारित मार्कअप है।

कोड उदाहरण

// Generate an organic SVG blob shape in JavaScript

// Seeded random number generator (Mulberry32)
function createSeededRandom(seed) {
    return function () {
        seed |= 0;
        seed = (seed + 0x6d2b79f5) | 0;
        let t = Math.imul(seed ^ (seed >>> 15), 1 | seed);
        t = (t + Math.imul(t ^ (t >>> 7), 61 | t)) ^ t;
        return ((t ^ (t >>> 14)) >>> 0) / 4294967296;
    };
}

// Generate blob points using polar coordinates with random deviation
function generateBlobPoints(numPoints, radius, randomness, seed) {
    const rng = createSeededRandom(seed);
    const points = [];
    const angleStep = (Math.PI * 2) / numPoints;

    for (let i = 0; i < numPoints; i++) {
        const theta = i * angleStep;
        const deviation = 1 + (rng() - 0.5) * (randomness / 50);
        const r = radius * deviation;
        points.push({
            x: Math.cos(theta) * r,
            y: Math.sin(theta) * r,
        });
    }
    return points;
}

// Convert points to smooth SVG path using Catmull-Rom spline
function pointsToSvgPath(points, center) {
    const n = points.length;
    let d = `M ${points[0].x + center} ${points[0].y + center}`;

    for (let i = 0; i < n; i++) {
        const p0 = points[(i - 1 + n) % n];
        const p1 = points[i];
        const p2 = points[(i + 1) % n];
        const p3 = points[(i + 2) % n];

        const cp1x = p1.x + (p2.x - p0.x) / 6;
        const cp1y = p1.y + (p2.y - p0.y) / 6;
        const cp2x = p2.x - (p3.x - p1.x) / 6;
        const cp2y = p2.y - (p3.y - p1.y) / 6;

        d += ` C ${cp1x + center} ${cp1y + center}, ${cp2x + center} ${cp2y + center}, ${p2.x + center} ${p2.y + center}`;
    }
    return d + " Z";
}

// Generate complete SVG string
function generateBlobSvg(options = {}) {
    const {
        seed = Math.floor(Math.random() * 100000),
        complexity = 8,
        randomness = 50,
        size = 400,
        color = "#6366f1",
    } = options;

    const center = size / 2;
    const radius = size * 0.35;
    const points = generateBlobPoints(complexity, radius, randomness, seed);
    const path = pointsToSvgPath(points, center);

    return `<svg viewBox="0 0 ${size} ${size}" xmlns="http://www.w3.org/2000/svg">
  <path d="${path}" fill="${color}" />
</svg>`;
}

// Usage
const svg = generateBlobSvg({
    seed: 42,
    complexity: 10,
    randomness: 60,
    size: 400,
    color: "#8b5cf6",
});
console.log(svg);
document.getElementById("blob-container").innerHTML = svg;

संबंधित उपकरण