इस प्रोजेक्ट के बारे में

Sprite Fusion Pixel Snapper एक टूल है जिसे पिक्सल को सही ग्रिड पर स्नैप करने के लिए डिज़ाइन किया गया है, विशेष रूप से AI द्वारा जनित अव्यवस्थित और असंगत पिक्सल आर्ट को ठीक करने के लिए। यह असंगत पिक्सल आकार और स्थिति, बदलती ग्रिड रिज़ॉल्यूशन, और सख्त पैलेट से जुड़ी न होने वाली रंगों जैसी समस्याओं का समाधान करता है। यह टूल सुनिश्चित करता है कि पिक्सल एक सही ग्रिड पर स्नैप हों, एक संगत ग्रिड रिज़ॉल्यूशन बनाए रखता है जिसे स्केल किया जा सकता है, और रंगों को एक सख्त पैलेट में क्वांटाइज़ करता है, साथ ही कस्टम पैलेट का समर्थन करता है। यह AI-जनित पिक्सल आर्ट, प्रोसीजरल 2D आर्ट जो ग्रिड में फिट नहीं होता (जैसे टाइलमैप या आइसोमेट्रिक मैप), और 2D गेम एसेट्स या 3D टेक्सचर जिन्हें पूरी तरह स्केलेबल होने की आवश्यकता होती है, के लिए आदर्श है। यह टूल अधिकतम विवरण संरक्षित करता है, जिसमें डिदरिंग भी शामिल है। ## विशेषताएँ - **ग्रिड स्नैपिंग**: पिक्सल एक सही ग्रिड पर संरेखित किए जाते हैं। - **संगत रिज़ॉल्यूशन**: ग्रिड रिज़ॉल्यूशन संगत होता है और इसे पिक्सल रिज़ॉल्यूशन तक स्केल किया जा सकता है। - **पैलेट क्वांटाइज़ेशन**: रंग एक सख्त, क्वांटाइज़्ड पैलेट से जुड़े होते हैं; कस्टम पैलेट का समर्थन किया जाता है। - **बैच प्रोसेसिंग**: छवियों की पूरी डायरेक्टरी को प्रोसेस करें। - **CLI और Web (WASM)**: कमांड-लाइन टूल के रूप में और वेब प्रोजेक्ट्स में एकीकरण के लिए WebAssembly मॉड्यूल के रूप में उपलब्ध। - **डेस्कटॉप संस्करण**: डेस्कटॉप एप्लिकेशन के रूप में भी उपलब्ध। ## CLI उपयोग Homebrew के माध्यम से इंस्टॉल करें: ```bash brew install Hugo-Dz/tap/spritefusion-pixel-snapper ``` या Cargo के माध्यम से (Rust आवश्यक): ```bash cargo install spritefusion-pixel-snapper ``` उपयोग: ```text spritefusion-pixel-snapper <INPUT> <OUTPUT> [COLOR_COUNT] [OPTIONS] ``` - `<INPUT>`: एक PNG/JPEG छवि, या बैच प्रोसेसिंग के लिए एक डायरेक्टरी। - `<OUTPUT>`: एक आउटपुट PNG, या बैच के लिए एक अलग आउटपुट डायरेक्टरी। - `[COLOR_COUNT]`: पैलेट रंगों की संख्या। डिफ़ॉल्ट `16` है। - `--pixel-size <PIXELS>`: ऑटो-डिटेक्टेड पिक्सल आकार को ओवरराइड करता है। यह 1 और सबसे छोटी छवि आयाम के आधे के बीच होना चाहिए। - `--palette <HEX,...>`: आउटपुट को कॉमा-सेपरेटेड छह-अंकीय हेक्स रंगों तक सीमित करता है। उदाहरण: ```bash # छवि को 16-रंग पैलेट में क्वांटाइज़ करें spritefusion-pixel-snapper input.png output.png 16 # एक डायरेक्टरी को बैच के रूप में प्रोसेस करें spritefusion-pixel-snapper sprites/batch_inputs sprites/batch_outputs 16 # ऑटो-डिटेक्टेड पिक्सल आकार को ओवरराइड करें spritefusion-pixel-snapper input.png output.png --pixel-size 8 spritefusion-pixel-snapper sprites/batch_inputs sprites/batch_outputs 16 --pixel-size 8 # एक निश्चित रंग पैलेट का उपयोग करें spritefusion-pixel-snapper input.png output.png --palette "0d2b45,203c56,544e68,8d697a,d08159,ffaa5e,ffd4a3,ffecd6" spritefusion-pixel-snapper sprites/batch_inputs sprites/batch_outputs --palette "0d2b45,203c56,544e68,8d697a" ``` प्रत्येक विकल्प देखने के लिए `spritefusion-pixel-snapper --help` चलाएँ। ## Web (WASM) उपयोग WASM मॉड्यूल बनाएँ: ```bash wasm-pack build --target web --out-dir pkg --release ``` फिर इसे अपने प्रोजेक्ट में उपयोग करें: ```js import init, { process_image } from "./pkg/spritefusion_pixel_snapper.js"; await init(); // process_image(inputBytes, kColors?, pixelSizeOverride?, paletteHex?) const outputBytes = process_image(inputBytes, 16); // कस्टम पैलेट के साथ const recoloredBytes = process_image(inputBytes, null, null, "0f0f1b,ffecd6,ff4d6d,29adff"); ``` डिफ़ॉल्ट व्यवहार का उपयोग करने के लिए किसी भी वैकल्पिक आर्ग्युमेंट के लिए `null` पास करें। ## स्रोत से बिल्ड करें ```bash git clone https://github.com/Hugo-Dz/spritefusion-pixel-snapper.git cd spritefusion-pixel-snapper cargo build --release ``` बाइनरी `target/release/spritefusion-pixel-snapper` पर होगी। ## आभार Pixel Snapper एक Sprite Fusion प्रोजेक्ट है। Sprite Fusion गेम डेवलपमेंट के लिए TRUE पिक्सल आर्ट स्प्राइट और एनिमेशन उत्पन्न करने का एक टूल है। ## लाइसेंस MIT License (Hugo Duprez)