Приложение для пикселизации изображений с 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 в зависимости от генератора).
- Загрузите изображение (перетащите, «Открыть», Ctrl+V или URL)
- Настройте размер пикселя и количество цветов в палитре
- При необходимости включите дизеринг
- Нажмите «Пикселизировать»
- Отредактируйте палитру (двойной клик по цвету или «Взять с изображения»)
- Примените фильтры к результату (яркость, контраст и т.д.)
- Сохраните через «Сохранить»