Skip to content

deexsed/Pic2PixPerf

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Pic2PixPerf

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

Технологии

  • Qt 6.8 (Quick, QuickControls2, QML, Gui, Network, Sql, Concurrent)
  • SQLite — хранение настроек и пресетов
  • CMake 3.16+

Производительность

  • Асинхронная обработка — пикселизация в фоновом потоке с индикатором прогресса
  • Кэширование — scaled-изображение для палитры кэшируется при неизменных параметрах
  • Параллелизация CPU — QtConcurrent для масштабирования и апскейла (многопоточность)

Возможности

Загрузка изображений

  • Drag & Drop — перетаскивание в окно (PNG, JPG, BMP, GIF, WebP)
  • Файл — диалог «Открыть»
  • Буфер обмена — Ctrl+V для вставки
  • URL — загрузка по ссылке

Пикселизация

  • Размер пикселя — от 1 до 64 px (блочное усреднение)
  • Палитра — от 2 до 256 цветов (алгоритм Median Cut)
  • Дизеринг — Floyd-Steinberg (опционально)
  • Редактирование палитры — выбор цвета с изображения, ручная замена через ColorDialog

Постобработка результата

  • Яркость — от −100 до +100
  • Контраст — 0–200%
  • Насыщенность — 0–200%
  • Гамма — 0.5–2.0

Интерфейс

  • Исходное / результат — вид рядом (SplitView)
  • Синхронный зум — оба изображения масштабируются вместе
  • Подсветка цвета в палитре — правый клик по результату выделяет цвет в палитре
  • Режим выбора цвета — «Взять с изображения» для замены цвета палитры

Сохранение и настройки

  • Экспорт — PNG
  • Пресеты — сохранение и загрузка наборов параметров (SQLite)
  • Автосохранение — последние параметры при следующем запуске

Структура проекта

src/
├── core/           # Ядро обработки
│   ├── ImageProcessor   # Фасад, оркестрация, QML-интерфейс
│   ├── Pixelizer       # Пикселизация (блоки + палитра + апскейл)
│   ├── PixelPalette    # Median Cut, Floyd-Steinberg
│   └── ImageFilters   # Яркость, контраст, насыщенность, гамма
├── io/             # Ввод-вывод
│   └── ImageLoader    # Файл, буфер обмена, URL
├── persistence/    # Хранение
│   └── SettingsDb     # SQLite, пресеты
└── qml/            # UI
    ├── Main.qml
    ├── DropZone.qml
    ├── Theme.qml
    └── ImageViewer.qml

Сборка

Qt Creator: откройте проект и соберите (Ctrl+B).

Командная строка:

cmake -B build -DCMAKE_PREFIX_PATH=<путь к Qt>
cmake --build build

Запуск: build/appPic2PixPerf (или build/Debug/appPic2PixPerf в зависимости от генератора).

Использование

  1. Загрузите изображение (перетащите, «Открыть», Ctrl+V или URL)
  2. Настройте размер пикселя и количество цветов в палитре
  3. При необходимости включите дизеринг
  4. Нажмите «Пикселизировать»
  5. Отредактируйте палитру (двойной клик по цвету или «Взять с изображения»)
  6. Примените фильтры к результату (яркость, контраст и т.д.)
  7. Сохраните через «Сохранить»

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors