Skip to content

Автоматический рисователь для Wplace

Notifications You must be signed in to change notification settings

playjymer/wplace_drawer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Wplace Drawer 2.0

Продвинутый инструмент для создания пиксель-арта с автоматическим рисованием и поддержкой различных алгоритмов подбора цвета.

Описание

Wplace Drawer - это GUI-приложение на Python/Tkinter для обработки изображений и их конвертации в пиксель-арт. Приложение поддерживает различные алгоритмы цветокоррекции, автоматическую калибровку координат и автоматическое рисование с помощью управления мышью.

Особенности

🎨 Алгоритмы подбора цвета

  • OKLab - Перцептивный алгоритм (рекомендуется)
  • Delta E CIE76 - Стандарт цветовых различий CIE
  • RGB Euclidean - Простое евклидово расстояние в RGB

🖼️ Обработка изображений

  • Загрузка изображений (PNG, JPG, WEBP, BMP, GIF)
  • Автоматическая обрезка прозрачных областей
  • Изменение размера с сохранением пропорций
  • Дизеринг по алгоритму Floyd-Steinberg
  • Лимитирование по количеству пикселей

🎯 Управление палитрой

  • Расширенная базовая палитра из 80+ цветов
  • Оптимизация палитры под изображение (k-means)
  • Создание палитры из области экрана
  • Сохранение/загрузка палитр в JSON
  • Привязка координат цветов палитры

🤖 Автоматическое рисование

  • Калибровка координат сетки
  • Автоматическое переключение цветов
  • Настраиваемые задержки
  • Failsafe режим (мышь в угол экрана)
  • Экспорт данных в CSV/JSON

Установка

Требования

  • Python 3.7+
  • Tkinter (обычно входит в Python)
  • PIL (Pillow)
  • pyautogui (опционально, для автоматического рисования)

Установка зависимостей

pip install pillow pyautogui

Запуск

python wplace_drawer2.py

Подробное руководство

1. Загрузка и обработка изображения

  1. Открытие изображения: Нажмите "Открыть изображение" и выберите файл
  2. Настройка размеров:
    • Ширина/Высота: Желаемые размеры сетки
    • Лимит пикселей: Максимальное количество ячеек (ширина × высота)
  3. Опции обработки:
    • Обрезать поля: Автоматически удаляет прозрачные границы
    • Авто-максимум: Максимизирует размер под лимитом с сохранением пропорций
    • Дизеринг: Применяет сглаживание Floyd-Steinberg

2. Выбор алгоритма подбора цвета

В правой панели выберите один из алгоритмов:

  • oklab: Лучший для большинства случаев, учитывает восприятие человека
  • deltaE: Промышленный стандарт для точного сравнения цветов
  • rgb: Самый быстрый, но менее точный

3. Управление палитрой

Базовые операции:

  • Оптимизировать палитру: Анализирует изображение и создает оптимальную палитру
  • Сбросить к расширенной палитре: Возвращает к стандартному набору
  • Собрать палитру из области: Извлекает цвета из выделенной области экрана

Сохранение/загрузка:

  • Загрузить палитру JSON: Импорт палитры из файла
  • Сохранить палитру JSON: Экспорт текущей палитры

4. Калибровка для автоматического рисования

Для автоматического рисования нужно откалибровать координаты:

  1. Калибровка сетки:

    • Наведите мышь на центр верхней левой ячейки → "Запомнить Top-Left"
    • Наведите мышь на центр верхней правой ячейки → "Запомнить Top-Right"
    • Наведите мышь на центр нижней левой ячейки → "Запомнить Bottom-Left"
    • Наведите мышь на центр нижней правой ячейки → "Запомнить Bottom-Right"
  2. Калибровка палитры (опционально):

    • "Указать TL палитры" - левый верхний угол области палитры
    • "Указать BR палитры" - правый нижний угол области палитры
    • "Запомнить координату для выбранного цвета" - точная позиция конкретного цвета

5. Рисование

Ручной режим:

  • Выберите цвет из списка справа
  • Нажмите "Нарисовать выбранный цвет"

Автоматический режим:

  • Настройте задержки:
    • Стартовая задержка: Время до начала рисования (для переключения в нужное окно)
    • Пауза между кликами: Интервал между отдельными кликами
  • Нажмите "Нарисовать все цвета (по порядку)"

⚠️ Безопасность: Для экстренной остановки переместите мышь в левый верхний угол экрана

6. Экспорт данных

  • Экспорт CSV: Простая таблица с координатами и цветами
  • Экспорт JSON: Полные данные включая размеры сетки

Настройка параметров

Продвинутые опции:

  • Порог альфы: Уровень прозрачности для считывания пикселя пустым (0-255)
  • Толерантность фона: Чувствительность определения фонового цвета

Размер палитры:

  • При оптимизации/сборе палитры можно указать желаемое количество цветов

Примеры использования

Создание палитры под изображение:

  1. Загрузите изображение
  2. Выберите алгоритм "oklab"
  3. Нажмите "Оптимизировать палитру"
  4. При необходимости откорректируйте размер палитры

Автоматическое рисование:

  1. Загрузите и обработайте изображение
  2. Выполните калибровку координат сетки
  3. Настройте задержки (рекомендуется 2-3 сек на старт)
  4. Переключитесь в целевое приложение
  5. Запустите "Нарисовать все цвета"

Форматы файлов

Палитра JSON:

{
  "palette": [
    "#FF0000",
    "#00FF00",
    "#0000FF"
  ]
}

Привязки координат JSON:

{
  "#FF0000": [100, 200],
  "#00FF00": [150, 200]
}

Устранение неполадок

Проблемы с pyautogui:

  • Убедитесь что pyautogui установлен: pip install pyautogui
  • На Linux может потребоваться: sudo apt-get install python3-tk python3-dev

Проблемы с изображениями:

  • Поддерживаются: PNG, JPG, JPEG, WEBP, BMP, GIF
  • При ошибках попробуйте конвертировать изображение в PNG

Калибровка не работает:

  • Проверьте что все 4 угловые точки заданы корректно
  • Углы должны образовывать прямоугольник
  • Используйте центры ячеек, не границы

Лицензия

MIT License - свободное использование и модификация.

Поддержка

Если у вас возникли вопросы или предложения, создайте Issue в репозитории проекта.

About

Автоматический рисователь для Wplace

Topics

Resources

Stars

Watchers

Forks

Languages