استخراج کننده اسپرایت

Drop files here or click (max 12 MB)

یک تصویر در بالا رها کنید تا استخراج اسپرایت‌ها آغاز شود.

درباره استخراج‌کننده اسپرایت آنلاین

نیاز به تبدیل یک صفحه اسپرایت یا تصویر ثابت به اسپرایت‌های جداگانه دارید؟ این استخراج‌کننده اسپرایت به طور خودکار مناطق اسپرایت را تشخیص می‌دهد، آن‌ها را به طور تمیز می‌برد (با قابلیت پیرایش و حاشیه‌گذاری اختیاری) و PNGهای شفاف آماده استفاده صادر می‌کند. 🚀 ایده‌آل برای پروژه‌های اسکرچ، نمونه‌های اولیه بازی دو بعدی، فعالیت‌های کلاسی و بازی‌های مستقل. با هنر پیکسلی، عناصر رابط کاربری، آیکون‌ها و شخصیت‌ها به خوبی کار می‌کند.

چرا از این استخراج‌کننده اسپرایت استفاده کنیم؟

  • تشخیص خودکار اسپرایت بر اساس شفافیت و آستانه‌های قابل تنظیم
  • برش تمیز با امکان حذف حاشیه‌های شفاف اطراف هر اسپرایت
  • کنترل حاشیه، تراز (مرکز/پایین) و اندازه خروجی یکسان اختیاری
  • حفظ شفافیت (کانال آلفا) برای خروجی‌های PNG - ایده‌آل برای tilemapها و کاراکترها
  • گالری بصری از تمام اسپرایت‌های تشخیص‌داده‌شده برای بازرسی سریع قبل از دانلود
  • خروجی ZIP سمت کاربر با استفاده از JSZip، با حفظ نام فایل‌ها و ترتیب اسپرایت‌ها
  • سازگار با اسکرچ: سریعاً یک صفحه اسپرایت را به چندین کاستیوم یا asset تبدیل کنید
  • مناسب برای استفاده مجدد از assetها در موتورهای مختلف (اسکرچ، گودو، یونیتی 2D، فیزر و غیره)

🛠️ نحوه استخراج اسپرایت‌ها از یک صفحه اسپرایت for sprite-extractor

1

1. تصویر خود را رها کنید

یک صفحه اسپرایت یا تصویر را در ناحیه رها کردن بکشید و رها کنید، یا برای انتخاب فایل کلیک کنید. برای بهترین نتایج، از PNG با پس‌زمینه شفاف یا کنتراست بالا بین اسپرایت‌ها و پس‌زمینه استفاده کنید.

2

2. اجرای تشخیص خودکار

ابزار یک نمای سبک از تصویر شما را به یک نقطه پایانی تشخیص ارسال می‌کند که جعبه‌های مرزی برای هر اسپرایت بر اساس شفافیت و حداقل اندازه محاسبه می‌کند. جعبه‌ها روی تصویر شما قرار می‌گیرند تا بتوانید به سرعت ببینید چه چیزی صادر خواهد شد.

3

3. تنظیم گزینه‌های استخراج

حاشیه، پس‌زمینه شفاف در مقابل رنگ ثابت، حذف لبه‌های شفاف، تراز (مرکز یا پایین) و عرض/ارتفاع خروجی یکسان اختیاری را تنظیم کنید. ابزار بوم هر اسپرایت را بر این اساس بازسازی می‌کند.

4

4. پیش‌نمایش اسپرایت‌ها

در گالری اسپرایت‌های تولیدشده پیمایش کنید. هر پیش‌نمایش در سمت کاربر با استفاده از یک بوم خارج از صفحه ساخته می‌شود و بسته به گزینه‌های رابط کاربری می‌تواند تغییر نام داده یا حذف شود.

5

5. دانلود PNGها یا یک ZIP

اسپرایت‌های PNG جداگانه را صادر کنید یا یک فایل ZIP حاوی تمام پیش‌نمایش‌های فعلی را دانلود کنید. ZIP در سمت کاربر با استفاده از JSZip ساخته می‌شود و نام فایل‌ها از الگوی ترتیبی مانند <code>sprite_0000.png</code>، <code>sprite_0001.png</code> و غیره پیروی می‌کند.

مشخصات فنی

تشخیص و جعبه‌های مرزی

فاز تشخیص در یک نقطه پایانی بک‌اند اختصاصی اجرا می‌شود و جعبه‌های مرزی تمیزی را برمی‌گرداند که کاربر برای ساخت اسپرایت‌های نهایی از آن استفاده می‌کند.

جنبهرفتاریادداشت‌ها
نقطه پایانی تشخیصPOST /api/sprite-extractor/inspectیک URL داده و گزینه‌های تشخیص را می‌پذیرد و آرایه‌ای از جعبه‌های اسپرایت برمی‌گرداند.
ورودی‌های تشخیصتحمل، آستانه آلفا، حداقل عرض، حداقل ارتفاعاین پارامترها را در رابط کاربری تنظیم کنید تا نویزهای کوچک نادیده گرفته شوند یا فقط اسپرایت‌های معنی‌دار شناسایی شوند.
شکل جعبهمستطیل‌های تراز شده با محورهر <code>SpriteBox</code> شامل <code>x</code>، <code>y</code>، <code>width</code>، <code>height</code> در مختصات تصویر منبع است.
مدیریت شفافیتآگاه از آلفاپیکسل‌های شفاف در تصمیم‌های برش/تریم مؤثرند اما می‌توانند در خروجی حفظ شوند.
مدیریت خطاعقب‌نشینی‌های ظریفاگر تشخیص با شکست مواجه شود، ابزار یک خطای قابل خواندن نمایش می‌دهد و رابط کاربری را خراب نمی‌کند.

برش، تریم و تراز

پس از مشخص شدن جعبه‌ها، تمام رندرینگ اسپرایت‌ها در مرورگر با استفاده از بوم HTML انجام می‌شود.

مرحلهپیاده‌سازیجزئیات
برش اولیهdrawImage(img, box.x, box.y, w, h, 0, 0, w, h)هر اسپرایت ابتدا از تصویر اصلی روی یک بوم موقت برش داده می‌شود.
تریم شفافاسکن کانال آلفا از طریق getImageDataابزار پیکسل‌ها را اسکن می‌کند تا هنگام فعال بودن تریم، کوچک‌ترین جعبه مرزی غیرشفاف را محاسبه کند.
حاشیهقابل پیکربندی ۰–۲۵۶ پیکسلحاشیه در اطراف اسپرایت تریم شده یا برش داده شده اعمال می‌شود تا آثار لبه در موتورها کاهش یابد.
ترازمرکز / پاییناسپرایت‌ها می‌توانند در مرکز یا در پایین تراز شوند (برای شخصیت‌هایی که روی خط پایه ایستاده‌اند مفید است).
اندازه خروجی یکنواختاختیاری spriteWidth / spriteHeightهنگام فعال شدن، تمام اسپرایت‌ها روی یک بوم با اندازه ثابت رندر می‌شوند تا انیمیشن‌ها استاندارد شوند.
پس‌زمینهشفاف یا رنگ ثابتیا شفافیت کامل حفظ شود یا بوم با یک رنگ RGBA انتخاب شده پر شود.

عملکرد و محدودیت‌ها

طراحی شده برای استفاده تعاملی در مرورگر.

پارامتررفتار معمولیادداشت‌ها
حداکثر اندازه ورودی~۱۰ مگابایت تصویرفایل‌های بزرگتر ممکن است کار کنند اما بارگذاری و تشخیص کندتر خواهد بود.
تعداد اسپرایت‌هاتا حدود ۴۰۰ اسپرایتتعداد بسیار بالا امکان‌پذیر است، اما رندر پیش‌نمایش و ایجاد ZIP زمان بیشتری خواهد برد.
فرمت خروجیPNG داخل ZIP (Blob)فایل ZIP به طور کامل در سمت کلاینت با استفاده از JSZip تولید می‌شود.
عملیات Canvasبرش و رسم برای هر اسپرایتوابسته به API دو بعدی Canvas مرورگر؛ عملکرد با وضوح و تعداد مقیاس می‌شود.

جایگزین‌های خط فرمان

برای صفحات اسپرایت عظیم یا خطوط لوله خودکار، می‌توانید ابزارهای CLI مانند ImageMagick را با اسکریپت‌نویسی ترکیب کنید.

لینوکس / 🍎 مک

برش شبکه یکنواخت با ImageMagick

convert spritesheet.png -crop 64x64 +repage sprite_%04d.png

یک شبکه منظم ۶۴×۶۴ را به فایل‌های PNG جداگانه برش می‌دهد.

زیپ کردن همه اسپرایت‌ها

zip sprites.zip sprite_*.png

تمام اسپرایت‌های تولید شده را در یک آرشیو واحد بسته‌بندی می‌کند.

ویندوز (PowerShell + ImageMagick)

برش مبتنی بر شبکه

magick spritesheet.png -crop 64x64 +repage sprite_%%04d.png

مشابه بالا، با استفاده از CLI <code>magick</code> در ویندوز.

موارد استفاده عملی

توسعه بازی دو بعدی

  • استخراج فریم‌های انیمیشن شخصیت از یک صفحه اسپرایت برای Godot، Unity 2D، Phaser یا Construct.
  • جداسازی عناصر رابط کاربری (دکمه‌ها، آیکون‌ها، نوارهای سلامتی) از یک طرح اولیه.
  • تجزیه مجموعه‌های کاشی به کاشی‌های جداگانه برای ویرایشگرهای سطح.
// مثال Godot: بارگذاری چندین فریم\nvar frames = []\nfor i in range(0, 8):\n    frames.append(load(\"res://sprites/hero_walk_\" + str(i).pad_zeroes(2) + \".png\"))

اسکرچ و پروژه‌های کلاسی

  • تبدیل یک صفحه اسپرایت واحد به چندین کاستیوم برای یک شخصیت اسکرچ.
  • آماده‌سازی بسته‌های دارایی موضوعی (حیوانات، سیارات، آیکون‌ها) برای کارگاه‌های برنامه‌نویسی.
  • اجازه دهید دانش‌آموزان صفحات اسپرایت را در یک ابزار طراحی ایجاد کرده و سپس برای اسکرچ استخراج کنند.
// شبه‌کد سبک اسکرچ برای انیمیشن ساده\nwhen green flag clicked\nforever\n  next costume\n  wait 0.1 seconds

پیکسل آرت و کتابخانه‌های دارایی

  • تقسیم صفحات پیکسل آرت قدیمی به یک کتابخانه قابل جستجو از اسپرایت‌های جداگانه.
  • استخراج تنها دارایی‌های مورد نیاز از بسته‌های تجاری بزرگ یا متن‌باز.
  • یکسان‌سازی حاشیه و تراز در اسپرایت‌های منابع مختلف.

❓ Frequently Asked Questions

آیا تشخیص اسپرایت کاملاً خودکار است؟

این ابزار تشخیص خودکار را بر اساس شفافیت و آستانه‌های قابل تنظیم (تحمل، آستانه آلفا، حداقل عرض/ارتفاع) انجام می‌دهد. در بسیاری موارد «فقط کار می‌کند»، اما برای صفحات پیچیده ممکن است نیاز به تنظیم گزینه‌ها یا اجرای مرحله دوم داشته باشید.

📏آیا استخراجگر تصویر اصلی من را تغییر می‌دهد؟

خیر. تصویر اصلی شما دست‌نخورده باقی می‌ماند. ابزار فقط آن را در یک بوم حافظه می‌خواند، نواحی را برش داده و به بوم‌های جدید تبدیل می‌کند، سپس اسپرایت‌های PNG تازه صادر می‌کند.

🎯آیا می‌توانم حاشیه و تراز را کنترل کنم؟

بله. می‌توانید حاشیه (بر حسب پیکسل) تنظیم کنید، بین پس‌زمینه شفاف یا جامد انتخاب کنید، برش لبه‌های شفاف را فعال کنید و اسپرایت‌ها را در مرکز یا تراز به پایین درون بوم خروجی قرار دهید.

🔒آیا تصاویر من در سرور ذخیره می‌شوند؟

مرحله تشخیص تصویر شما را (به عنوان آدرس داده) به یک نقطه پایان اختصاصی ارسال می‌کند تا جعبه‌های اسپرایت محاسبه شوند، اما خود اسپرایت‌ها در مرورگر شما ساخته و فشرده می‌شوند. این سرویس برای پردازش موقت طراحی شده، نه ذخیره‌سازی بلندمدت. همانطور که همیشه، از ابزارهای شخص ثالث برای دارایی‌هایی که باید کاملاً خصوصی بمانند استفاده نکنید.

🧊آیا شفافیت در اسپرایت‌های صادر شده حفظ می‌شود؟

بله. به طور پیش‌فرض بوم خروجی شفاف باقی می‌ماند و اسپرایت‌های شما کانال آلفای خود را حفظ می‌کنند. در صورت تمایل می‌توانید یک رنگ پس‌زمینه جامد انتخاب کنید اگر موتور هدف شما دارایی‌های مات را ترجیح می‌دهد.

Pro Tips

Best Practice

از مقدار کمی حاشیه (۴–۲ پیکسل) در اطراف هر اسپرایت استفاده کنید تا از نشت لبه هنگام مقیاس‌گذاری یا چرخش در موتور شما جلوگیری شود.

Best Practice

اسپرایت‌ها را به صورت یکنواخت نام‌گذاری کنید (مثلاً <code>hero_run_0001.png</code>, <code>hero_run_0002.png</code>) تا واردات انیمیشن و اسکریپت‌نویسی ساده شود.

Best Practice

در محیط‌های کلاسی، با صفحات اسپرایت بسیار ساده شروع کنید (اسپرایت‌های کم و بزرگ، پس‌زمینه واضح) تا دانش‌آموزان بلافاصله نتایج را ببینند.

Best Practice

فایل ZIP صادر شده را همراه با فایل‌های منبع پروژه خود نگه دارید تا بعداً بتوانید به راحتی انیمیشن‌ها را بازتولید یا تنظیم کنید.

Additional Resources

Other Tools