GrafX2 решает задачи, где изображение строится не из миллионов оттенков, а из управляемой индексной палитры: пиксель-арт, спрайты, тайлы, небольшая покадровая анимация, графика для ретро-платформ и иллюстрации с жёстким лимитом цветов. Программа особенно полезна художнику, разработчику игры или демосцены, которому важно контролировать каждый индекс палитры, быстро захватывать фрагменты рисунка как кисть, перекрашивать их по цветовым диапазонам, повторять элементы по сетке и проверять ограничения конкретного старого видеорежима. При этом GrafX2 остаётся полноценным растровым редактором своего класса: в нём есть слои, геометрические примитивы, заливка, кривые, градиенты, эффекты рисования, второй рабочий лист, инструменты для палитры, текст, импорт и сохранение множества традиционных и ретро-форматов, а также расширение операций через Lua.
- Ретушь портретов и удаление объектов
- Замена и размытие фона
- Поддержка RAW-фотографий
- Нет 24/32-битного режима рисования
- Не более 256 цветов в палитре
- До 16 слоёв в одном изображении
Как устроен рабочий процесс GrafX2
Главная особенность GrafX2 — индексная модель изображения. Пиксель хранит не произвольный RGB-цвет, а номер ячейки в палитре. Отсюда вытекает почти всё поведение редактора. Если изменить RGB-значение одной ячейки, сразу меняются все пиксели, использующие этот индекс. Если переставить или перераспределить палитру без корректного remap, можно получить визуально другой рисунок даже при неизменной геометрии. Поэтому работа здесь обычно начинается не с выбора «красивого оттенка» в цветовом круге, а с построения осмысленной палитры и диапазонов цветов.
Этот подход удобен для пиксель-арта. Например, для игрового персонажа можно выделить последовательные диапазоны для кожи, металла, ткани и теней. Режим Shade затем шагает по заданному диапазону вверх или вниз, а Quick-shade использует диапазон между текущими Fore-color и Back-color. Художнику не приходится каждый раз вручную брать пипеткой следующий оттенок. Важный побочный эффект: цветовые индексы становятся частью структуры проекта, поэтому перед экспортом лучше не делать бессистемную сортировку палитры.
Управление GrafX2 во многих местах двухкнопочное. Левая и правая кнопки мыши не просто подтверждают и вызывают контекстное меню: они часто запускают парные действия. В рисовании это Fore-color и Back-color; у некоторых кнопок панели левый клик включает инструмент, а правый открывает его параметры; у Shade направление шага по диапазону зависит от кнопки мыши; у Add layer левый клик создаёт пустой слой, а правый дублирует текущий. Если воспринимать правую кнопку как часть инструмента, интерфейс оказывается заметно быстрее, чем при попытке искать отдельную команду для каждого действия.
Нижняя панель объединяет основные команды: кисти, свободное рисование, линии, распылитель, заливку, полигоны, прямоугольники, окружности, градиенты, захват кисти, Brush FX, Drawing modes, Text, Magnifier, Pipette, параметры изображения, Spare page, Save, Load, Settings, Clear, Help, Undo/Redo, управление страницей и палитрой. В режиме слоёв или анимации часть панели меняется: появляются управление слоями либо навигация по кадрам и время кадра. По F1 можно получить контекстную справку для элемента, над которым находится указатель, что особенно полезно при освоении пиктограмм без текстовых подписей.
Установка и начало работы
GrafX2 не требует учётной записи и не переносит рабочий процесс в браузер. На официальной странице проекта публикуются сборки для нескольких платформ; для Windows встречаются варианты на разных SDL-бэкендах и переносимые сборки, для Linux — готовая AppImage-сборка наряду с пакетами, которые могут быть доступны в репозиториях конкретного дистрибутива. При выборе варианта имеет смысл ориентироваться не на номер в названии архива, а на совместимость ввода, полноэкранного режима и масштабирования именно в вашей системе. Если один оконный бэкенд ведёт себя странно с планшетом или HiDPI, другой вариант сборки может оказаться практичнее.
При первом запуске не нужно сразу менять десятки параметров. Сначала полезно проверить три вещи: видна ли нижняя панель целиком, удобно ли масштабируется холст, и правильно ли работают левая и правая кнопки мыши. Если окно слишком маленькое, часть пиктограмм будет тесной; если слишком большое относительно размера пиксельной работы, курсор придётся гонять через весь экран. Для типичного спрайта удобен режим, где слева или по центру остаётся изображение в масштабе, а Magnifier даёт увеличенную область для точной правки.
Команда Resolution and Image Size открывает параметры холста и видеорежима. Размер изображения задаётся Width и Height; в текущей реализации поля рассчитаны на значения до 9999×9999. Это технический предел размера, а не рекомендация рисовать настолько большие полотна. GrafX2 оптимизирован прежде всего под индексную пиксельную графику, поэтому многотысячный холст с множеством undo-состояний и сложными операциями будет использовать память и процессор совсем иначе, чем спрайт 32×32 или фон 320×200.
В настройках имеет смысл сразу определить количество Undo pages. Допустимый диапазон — от 1 до 99. Больше состояний даёт более длинную историю, но каждое состояние требует ресурсов. Для небольших спрайтов высокий лимит обычно не мешает, а для крупных изображений разумнее выбрать умеренное значение. Там же можно включать показ скрытых файлов в селекторе, настраивать задержку предпросмотра, поведение курсора, автоматический подсчёт используемых цветов и другие параметры интерфейса.
Если раскладка клавиш отличается от привычной, не стоит заучивать список по чужому скриншоту. Справка GrafX2 показывает текущие сочетания, а конфигурация допускает их изменение. Базовый набор, с которого удобно начать: D — свободное рисование, L — линия, F — Floodfill, B — захват прямоугольной кисти, Ctrl+B — захват кисти произвольной формы, M — Magnifier, клавиша акцента — Pipette, P — Palette, Tab — переход на Spare page, U — Undo, Shift+U — Redo, F2 — Save as, F3 — Load.
Холст, масштаб и Magnifier
Пиксель-арт редко редактируют в масштабе 1:1. GrafX2 позволяет быстро переходить между коэффициентами увеличения; сочетания Ctrl+1, Ctrl+2 и далее выбирают фиксированные масштабы, а колесо мыши или клавиши цифрового блока увеличивают и уменьшают изображение. Magnifier включается клавишей M или средней кнопкой мыши, а Shift+M открывает меню коэффициента. Практический смысл не только в том, чтобы «видеть пиксели крупнее»: увеличенная и обычная области помогают одновременно контролировать локальную форму и читаемость спрайта в реальном размере.
При работе над 16×16 или 32×32 объектом полезно периодически выключать увеличение до 1:1. На крупной сетке легко сделать красивую локальную лесенку, которая в реальном размере превращается в шум. Обратная проблема возникает на больших фонах: художник смотрит только на общий вид и пропускает одиночные пиксели, разрывы контура и неиспользуемые оттенки. Переключение между масштабами помогает ловить оба класса дефектов.
Панель можно скрыть F10, освобождая место под изображение. Это не отключает инструменты: горячие клавиши продолжают работать. Для рисования длинных линий или проверки композиции удобно временно убирать интерфейс, а затем возвращать его. Отдельно F9 прячет или показывает курсор, что иногда полезно при оценке маленькой области без перекрывающего её указателя.
Прокрутка видимой области выполняется стрелками; с модификаторами движение может быть быстрее или медленнее. Пробел используется для панорамирования мышью. Это особенно удобно в увеличенном режиме: вместо постоянного выхода из инструмента можно удерживать панорамирование, сдвигать нужный участок к центру и продолжать рисование.
Палитра и индексный цвет
Палитра в GrafX2 — не вспомогательная панель, а основа проекта. В изображении доступно до 256 индексных цветов. Текущий цвет переднего плана называется Fore-color, заднего — Back-color. Многие инструменты используют их как пару: например, левая кнопка рисует Fore-color, правая — Back-color, а отдельные эффекты интерпретируют эту пару как границы цветового диапазона. Быстрая смена Fore-color на соседний индекс выполняется квадратными скобками, Back-color — теми же клавишами с Shift.
Palette editor открывается командой Palette. Здесь можно редактировать RGB-компоненты ячеек, выбирать диапазоны и выполнять операции над палитрой. Индикатор Used показывает, какие индексы реально встречаются в пикселях изображения. Это важно: визуально одинаковые оттенки могут занимать разные ячейки, а неиспользуемые цвета могут остаться после импорта или нескольких этапов правки.
Команда Spread строит переход между крайними цветами выбранного диапазона. Для пиксель-арта это быстрый способ создать линейку теней, но результат не следует принимать автоматически. Равномерный математический переход не всегда даёт художественно удачное изменение яркости и насыщенности. После Spread полезно пройти диапазон вручную и проверить, не образовались ли слишком близкие соседние оттенки или резкий скачок по светлоте.
Merge объединяет цвета с вычислением результирующего оттенка и переназначением пикселей на один индекс. В отличие от простого удаления ячейки, операция затрагивает само изображение. Это полезно при очистке палитры после импорта, когда два почти одинаковых цвета расходуют индексный бюджет. Zap unused освобождает неиспользуемые ячейки. Reduce palette уменьшает количество цветов до заданного числа и модифицирует изображение так, чтобы уложиться в новый лимит.
Neg и Gray помогают получить отрицание или градации серого для выбранного набора цветов. Это не эквивалент полноценной цветокоррекции фотографии: операции работают в рамках индексной палитры. Их разумнее использовать для подготовки диапазона, технической проверки контраста или стилизации, а не для тоновой обработки RAW-кадра.
Palette options задаёт представление палитры и аппаратную шкалу RGB. По умолчанию используется 256 уровней на канал, но для ретро-графики можно выбрать шкалы, соответствующие меньшей разрядности компонентов: например, 32 уровня для ряда портативных платформ, 16 для некоторых Amiga/STE-подобных режимов, 8 для Mega Drive и других систем, 4 или 3 для ещё более жёстких палитр. Эта настройка помогает не подбирать оттенки, которые затем всё равно будут округлены целевым железом.
В том же наборе параметров можно менять число строк и столбцов панели палитры, а также формировать пользовательские серии цветов. Серии особенно удобны вместе с Shade: вы заранее задаёте последовательность индексов не обязательно в числовом порядке, а затем рисуете свет или тень одним цветом, позволяя эффекту переходить по серии.
Для технического контроля полезно различать две задачи: «сделать картинку похожей» и «сохранить правильные индексы». Если будущий движок использует фиксированную палитру, второй критерий важнее. В таком проекте нельзя бездумно применить Reduce palette или переставить цвета: сначала следует сохранить копию, проверить требования движка и только затем выполнять remap.
Кисти: от точки до захваченного спрайта
GrafX2 трактует кисть шире, чем большинство современных редакторов. Это может быть простая форма — круг, квадрат, вертикальная или горизонтальная полоса, диагональ, крест, ромб, случайная форма, сито — но также любой прямоугольный или произвольный фрагмент изображения. Paintbrush choice открывает набор готовых форм и размеров. Для пиксель-арта часто достаточно кисти 1×1, но геометрические заготовки удобны при построении круглых маркеров, зерна, паттернов и крупных пятен.
Команда Grab brush, вызываемая B, захватывает прямоугольный участок текущего изображения и превращает его в активную кисть. Ctrl+B делает Poly grab: граница задаётся произвольной формой, что полезно для спрайтов, окружённых фоном. Shift+B восстанавливает предыдущую кисть. Благодаря этому фрагмент рисунка можно копировать без создания отдельного файла, слоя или объекта.
Захваченная кисть сохраняет цветовые индексы. Если палитра текущего изображения отличается от палитры, в которой кисть была подготовлена, внешний вид может измениться. Для такого случая есть Get brush colors и Recolorize. Первая команда переносит используемые кистью цвета со Spare page в текущую палитру; вторая переназначает кисть так, как она выглядела бы с текущей палитрой. Это специфичный, но очень сильный механизм при сборке спрайтов из нескольких наборов графики.
Brush handle определяет точку привязки кисти: центр или один из углов. Для декоративного штампа чаще удобен центр; для тайла, который должен точно вставать левым верхним углом на сетку, практичнее соответствующий corner handle. Переключение handle экономит время и убирает систематическое смещение на один-два пикселя при многократной расстановке.
Brush FX: трансформации без отдельного объекта
Brush FX собирает операции над активной кистью. X и Y отражают её горизонтально и вертикально. Z поворачивает на 90°, Shift+Z — на 180°, W запускает интерактивный поворот на произвольный угол. S растягивает кисть, Distort позволяет деформировать, Outline строит контур Fore-color, Nibble «съедает» край и работает как противоположность Outline. Эти операции применяются именно к кисти, поэтому исходный холст не меняется до момента нового отпечатка.
Для пиксель-арта произвольный поворот и растяжение следует использовать осознанно: после пересчёта формы появляются ступени, которые могут потребовать ручной чистки. Зато повороты на 90° и зеркалирование обычно дают предсказуемый результат и удобны для симметричных деталей, углов рамки, направлений стрелок или вариаций одного тайла.
Outline полезен, когда нужно получить обводку вокруг уже готового спрайта. Рабочая последовательность проста: захватить спрайт как кисть, выбрать цвет контура Fore-color, применить Outline, затем отпечатать результат на отдельном слое или Spare page и проверить внутренние просветы. Если обводка съела важные отверстия, проще отменить действие и доработать кисть, чем исправлять десятки пикселей после вставки.
Базовые инструменты рисования
Freehand drawing включается D. Для пиксельной работы это основной режим: отпечаток активной кисти следует за указателем. Shift+D переключает вариант поведения, Ctrl+D включает непрерывное рисование. Разница становится заметной на разреженных отпечатках и при быстром перемещении мыши: непрерывный режим старается соединять последовательные позиции кисти, тогда как другой вариант может оставлять отдельные следы. Для карандашной линии кистью 1×1 обычно выбирают поведение, при котором не появляются случайные разрывы.
Line вызывается L, а Shift+L переключает режим ломаных. Линия строится пиксельно, поэтому на небольшом спрайте её всё равно стоит оценивать вручную: математически корректная диагональ не всегда выглядит лучше авторской ступенчатой формы. При создании изометрических элементов полезно сначала провести эталонную линию, затем захватить её как кисть или повторять с тем же шагом.
Spray по A имитирует распыление выбранного цвета. Shift+A открывает его параметры. В отличие от мягкой аэрографической кисти в фоторедакторе, здесь результат остаётся набором индексов палитры. Инструмент подходит для зерна, звёзд, пыли или случайной текстуры, но на маленьких объектах легко создаёт шум. После распылителя полезно посмотреть изображение 1:1 и удалить пиксели, которые не поддерживают форму.
Floodfill вызывается F. Обычная заливка заменяет связанную область, а Shift+F включает Replace color, когда нужно заменить один индекс во всём применимом участке работы. Перед глобальной заменой важно проверить, не используется ли тот же индекс в другой смысловой роли. В индексной графике один и тот же тёмно-синий может быть и тенью на персонаже, и контуром фона; глобальная замена изменит оба.
Bezier curves включаются I; дополнительный режим кривой на три или четыре точки доступен через Shift+I. Для классического пиксель-арта кривая часто служит черновой геометрией. Сначала строится гладкая форма, затем лишние ступени и одиночные пиксели исправляются вручную кистью 1×1. Так быстрее получить большой круглый объект или арку, чем выкладывать всю геометрию по памяти.
Прямоугольники и окружности разделены на контурные и заполненные команды. R рисует пустой прямоугольник, Shift+R — заполненный. C строит окружность, Ctrl+C — эллипс, Shift+C — заполненную окружность, Ctrl+Shift+C — заполненный эллипс. Эти инструменты особенно удобны в технической графике, интерфейсных элементах и черновой разметке тайлов. Если нужен строго пиксельный стиль, после геометрии стоит удалить лишние двойные ступени на диагоналях.
Polygon и Polyform предназначены для сложных контуров. N запускает полилинию, Ctrl+N — произвольную polyform, Shift+N — заполнение полигона, Ctrl+Shift+N — заполненную polyform. В Settings задаётся допустимое число вершин; текущая реализация позволяет очень большое значение, поэтому ограничение редко становится практической проблемой. Реальная опасность другая: на маленьком изображении слишком подробный контур быстро превращается в нерегулярную пиксельную кромку.
Drawing modes: эффекты, которые меняют способ нанесения цвета
Кнопка Drawing modes или клавиша E открывает семейство эффектов, работающих поверх обычных инструментов. Это принципиально отличается от фильтра, применяемого к готовому изображению. Shade, Transparency, Smooth, Stencil, Mask, Sieve, Grid, Tiling и другие режимы влияют на то, что происходит во время мазка, заливки или отпечатка кисти. Кнопка All off отключает активные режимы разом. Это полезная команда, когда инструмент внезапно начинает вести себя «неправильно»: прежде чем искать повреждение файла, стоит проверить, не остался ли включён один из эффектов.

Параметр Feedback используется только некоторыми режимами — Shade, Quick-shade, Transparency и Smooth. При включённом Feedback следующий шаг эффекта учитывает уже изменённое состояние изображения. Без него расчёт опирается на состояние в момент начала рисования. На практике это определяет, будет ли многократное прохождение по одному месту накапливать результат. Для равномерного тонирования часто удобнее выключить накопление, а для постепенного наращивания эффекта — включить.
Shade и Quick-shade
Shade не вычисляет новую яркость в RGB. Он перемещает пиксель по заранее определённой серии индексов. Если серия содержит четыре оттенка металла от светлого к тёмному, один и тот же мазок может затемнять или осветлять поверхность, не выходя за разрешённую палитру. Левая и правая кнопки идут в противоположных направлениях. Качество результата целиком зависит от того, насколько осмысленно собрана серия: если соседние индексы не образуют визуальную последовательность, Shade будет давать скачки.
Quick-shade предназначен для быстрого диапазона между Fore-color и Back-color. В меню задаются шаг и поведение на границах — диапазон может зацикливаться либо насыщаться крайним значением. Это удобно, когда диапазон уже расположен последовательно в палитре и не хочется создавать отдельную серию. Для перекраски спрайта можно поставить шаг, равный размеру группы оттенков, и проходить по объекту, переключая целые цветовые семейства.
Практический сценарий: в палитре есть четыре оттенка кожи, затем четыре оттенка зелёной ткани и четыре оттенка красной ткани с одинаковой внутренней структурой. Если персонаж использует зелёный диапазон, Quick-shade с шагом в четыре индекса позволяет перенести пиксели на соответствующие красные оттенки, сохраняя относительное освещение. Перед операцией лучше выключить Feedback, чтобы случайное повторное прохождение кисти не сдвинуло цвет ещё на один диапазон.
Transparency
Transparency смешивает цвет кисти с цветом изображения, но итог всё равно выбирается из существующей палитры. Горячие клавиши 1–9 задают типовые значения от 10 до 90 процентов, 0 — 100 процентов. Быстрое последовательное нажатие двух цифр даёт более точное двузначное значение: например, 4 затем 5 соответствует 45 процентам. Для пиксель-арта это удобнее, чем постоянно открывать диалог.
В меню Transparency доступны разные методы. Interpolation ищет цвет, близкий к математической смеси с заданной долей. Additive выбирает результат по более светлым компонентам, Subtractive — по более тёмным. Поскольку конечный цвет должен существовать в палитре, результат зависит не только от процента, но и от набора доступных оттенков. На палитре из восьми цветов 50-процентная смесь может оказаться визуально гораздо грубее, чем на хорошо подготовленном диапазоне из 32 цветов.
Если прозрачность используется для света или дыма, сначала стоит подготовить палитру. В противном случае алгоритм будет выбирать ближайшие индексы, и на градиенте появятся неожиданные цветовые скачки. Для ретро-платформ это не недостаток, а честное отображение ограничения: программа не создаёт скрытый RGBA-слой, который потом невозможно воспроизвести на целевой системе.
Stencil и Mask
Stencil защищает отмеченные цвета от изменения. Это один из самых практичных режимов при локальной обработке сложного спрайта. Например, если контур персонажа должен остаться чёрным, а внутренние оттенки нужно осветлить, чёрный индекс можно добавить в Stencil и затем работать Shade или другой кистью без риска затронуть контур. Защита основана на индексах, поэтому одинаково выглядящие, но разные ячейки палитры надо отмечать отдельно.
Mask использует Spare page как маску: защищённость участка определяется соответствующими пикселями и цветами второго рабочего листа. Это позволяет строить пространственную защиту, а не просто запрещать несколько индексов везде. Например, можно скопировать силуэт объекта на Spare, подготовить там область маски и затем рисовать на основном листе крупной кистью, не выходя за нужные части.
Если Stencil «не работает», первая проверка — действительно ли пиксель использует тот индекс, который отмечен в списке. В индексной графике два визуально одинаковых чёрных цвета могут находиться в разных ячейках. Пипетка покажет фактический индекс. Вторая проверка — не включён ли одновременно другой режим, который меняет ожидаемое действие кисти.
Smooth и Smear
Smooth вычисляет сглаживание по матрице 3×3. Доступны готовые и пользовательские матрицы. В обычной фотографии подобный фильтр применяют к большому количеству тонов; в GrafX2 каждый вычисленный результат сопоставляется с ближайшим доступным цветом палитры. Поэтому на маленькой палитре Smooth может не «размыть» край, а перестроить его в несколько соседних индексов. Для пиксель-арта это скорее специальный инструмент, чем универсальное улучшение.
Smear перетаскивает пиксели по направлению мазка. Его можно сочетать с Transparency. Он полезен для органических текстур, огня, воды и намеренного размазывания границы, но легко разрушает чистую сеточную форму. Если задача — сохранить строгую структуру тайла, лучше использовать захваченную кисть, Tiling или ручное редактирование.
Sieve: рисование через 16×16-шаблон
Sieve пропускает отпечаток через бинарный узор размером 16×16. В программе есть набор готовых паттернов, а пользователь может редактировать, прокручивать, инвертировать и получать шаблон из кисти. Такой режим подходит для регулярного дизеринга, сетчатых фактур и полутонов, особенно когда рисунок должен оставаться полностью индексным.
Вместо случайного шума Sieve даёт повторяемый рисунок. Это важно для экранов и печатных стилизаций, где одинаковый коэффициент заполнения должен выглядеть одинаково во всех областях. Однако период в 16 пикселей может стать заметным на большой однотонной поверхности. Чтобы паттерн не выглядел механически, его можно сместить или выбрать другой шаблон для соседней области.
Grid, Tiling и Tilemap
Grid в GrafX2 — не просто отображаемая сетка. В параметрах задаются шаги X и Y, а также смещения dX и dY. При включённом Snap операции привязываются к узлам. Это удобно для спрайт-листов и карт, где каждый блок должен начинаться строго на границе 8×8, 16×16 или другого размера. Отдельная команда Grid view показывает линии сетки в увеличенном режиме, не превращая их в пиксели изображения.
Практический способ настройки тайлового проекта: сначала создать холст, затем выставить X и Y равными размеру тайла, проверить смещение нулевой ячейки, включить отображение сетки и только после этого заполнять лист. Если существующий spritesheet имеет рамку в один пиксель, dX и dY позволяют сдвинуть сетку без ручного изменения самого файла.
Tiling повторяет активную кисть по регулярной структуре. Это полезно для бесшовных фактур и фонов. В параметрах задаются смещения повторения. В отличие от обычного копирования, художник видит результат как часть режима рисования и может менять источник, не создавая десятки отдельных отпечатков. Но Tiling не гарантирует бесшовность содержимого: если края кисти не состыкованы, повтор только сделает шов систематическим.
Tilemap работает иначе. Редактор анализирует прямоугольные блоки одинакового размера, определяемого настройками Grid, и находит повторяющиеся тайлы. Когда один экземпляр редактируется, изменения могут повторяться в других совпадающих местах. Это экономит время на карте, собранной из небольшого набора кирпичей, травы, рамок или символов. В параметрах предусмотрено распознавание вариантов с зеркалированием по X и Y и отображение числа уникальных тайлов.
Перед включением Tilemap важно убедиться, что Grid действительно соответствует размеру исходных блоков. Ошибка в один пиксель приведёт к тому, что анализ будет видеть почти каждый блок как уникальный. То же произойдёт, если в предполагаемо одинаковых тайлах уже есть случайные отличия. В таких случаях полезно сначала очистить источник: сравнить тайлы, заменить дубли одним эталоном, а затем активировать режим.
Для разработки игры Tilemap удобен как редакторская оптимизация, но он не заменяет формат карты конкретного движка. GrafX2 работает с пикселями изображения и повторяющимися блоками; индексы тайлов, свойства столкновений, метаданные объектов и слои игрового уровня обычно экспортируются или создаются в специализированном tilemap-редакторе. Поэтому разумный конвейер — рисовать и нормализовать графические тайлы в GrafX2, а структуру уровня собирать там, где понимается формат игры.
Режимы 8 BIT и аппаратные ограничения
Одна из отличительных функций GrafX2 — режимы, которые не просто уменьшают число цветов, а проверяют правила конкретных старых видеосистем. В списке присутствуют профили для ZX Spectrum, Game Boy Color, Thomson MOTO, Mega Drive/Genesis, C64 в нескольких вариантах, Apple II, TMS9918 и других архитектур. Конкретное ограничение зависит от выбранного режима: где-то лимит задаётся на блок, где-то цвета разделены по палитрам, где-то отдельные индексы имеют фиксированную роль.
На Game Boy Color, например, графика организуется блоками с локально назначаемыми небольшими палитрами. На Mega Drive используется несколько 16-цветных палитр. Для ZX Spectrum ключевым становится ограничение цветов в атрибутной области 8×8 и общая яркостная характеристика пары. В C64 режимы HiRes, MultiColor и FLI имеют разные правила, поэтому абстрактное «не больше шестнадцати цветов» ничего не объясняет. Именно такие различия и делает полезным аппаратный режим внутри редактора.
Рабочая схема для ретро-цели должна начинаться с выбора режима до того, как нарисована половина изображения. Если сначала создать свободную 256-цветную картинку, а потом включить ограничения, исправления могут потребовать переработки целых блоков. Гораздо проще сразу видеть запрещённую комбинацию и строить свет, контур и дизеринг в допустимых пределах.
Режим ограничения не освобождает от проверки на реальном конвертере или эмуляторе. Формат файла и правила видеочипа — разные уровни. GrafX2 помогает художнику не нарушать базовые условия во время рисования, но финальный пайплайн может требовать специального расположения данных, битплейнов, банков, тайлов или атрибутов. Перед выпуском ресурса его стоит прогнать через тот же конвертер, который используется в сборке проекта.
Аппаратная шкала RGB в Palette options дополняет 8 BIT режимы. Если целевая система умеет только несколько уровней каждого канала, подбор промежуточных значений в 24-битном пространстве создаёт ложную точность. Уменьшение шкалы заставляет палитру сразу попадать в представимые значения и делает внешний вид ближе к финальному.
При переносе старого изображения в современный PNG полезно решить, что именно требуется сохранить: визуальный вид или аппаратные данные. PNG может хранить палитровое изображение и прозрачность, но не становится автоматически файлом памяти старого компьютера. Если цель — публикация в интернете, достаточно визуальной точности. Если цель — запуск на железе, понадобится формат и конверсия, соответствующие платформе.
Слои: организация изображения без полного RGBA-композитинга
GrafX2 поддерживает слои, но их модель остаётся связанной с индексной палитрой. Текущая реализация ограничивает изображение шестнадцатью слоями. Для пиксель-арта этого обычно достаточно: фон, дальний план, декор, персонажи, интерфейсные детали и временные направляющие можно держать раздельно. Не стоит переносить сюда ожидания от фоторедактора с десятками режимов наложения и масок корректирующих слоёв. Смысл слоя в GrafX2 прежде всего в раздельном хранении пикселей и контролируемом объединении.
Layers manager открывается Alt+Home. В нём задаётся Transparent color — индекс, который считается прозрачным между слоями. Прозрачный индекс можно взять непосредственно с изображения. Параметр Transparent background определяет, считать ли пиксели прозрачного цвета на самом нижнем слое действительно прозрачными в итоговом изображении. Для экспорта прозрачного GIF или палитрового PNG этот флаг имеет практическое значение.
Кнопка Layers transparency работает в обе стороны: левый клик устанавливает текущий прозрачный индекс как Back-color, правый делает текущий Back-color прозрачным индексом слоёв. Это хороший пример логики GrafX2, где одна пиктограмма содержит парную операцию. Если внезапно «пропала» часть рисунка, следует проверить, не совпал ли её индекс с назначенным прозрачным цветом.
Add layer по Alt+Ins создаёт пустой слой над текущим и сразу делает его активным. Правый клик по той же команде создаёт копию текущего слоя. Дублирование удобно для варианта спрайта: можно сохранить базовую позу, скопировать слой и изменить детали. Drop layer удаляет активный слой. Move layer up и Move layer down меняют порядок. Merge layer по Alt+End объединяет текущий слой с расположенным ниже и делает результат активным; на нижнем слое команда не имеет эффекта.
При многослойной работе полезно заранее выбрать один прозрачный индекс и не использовать его как обычный цвет объекта. Иначе перенос фрагментов между слоями становится неоднозначным. Если целевая платформа резервирует конкретный индекс под прозрачность, лучше использовать именно его с начала работы. Так не придётся перед экспортом массово перестраивать палитру.
Слои удобны и как страховка при сложных операциях. Перед большим Floodfill, Smooth или изменением палитры можно продублировать рабочий слой, отключить его видимость и оставить копию как локальный резерв. Это не заменяет сохранение отдельной версии файла, но ускоряет эксперимент. После проверки копию можно удалить или объединить.
Покадровая анимация
GrafX2 умеет работать с покадровой анимацией. В анимационном режиме на панели появляются переход к первому, предыдущему, следующему и последнему кадру, добавление и удаление кадра, изменение порядка и воспроизведение. Для каждого кадра задаётся длительность; интерфейс показывает её в миллисекундах. Технический предел текущей реализации — до 999 кадров, но для пиксельной анимации практическое ограничение обычно определяется размером изображения, памятью и удобством навигации задолго до этой цифры.
Анимационная модель подходит для спрайтовых циклов: ожидание, ходьба, атака, вспышка интерфейса, простая петля воды или огня. Рабочий процесс начинается с ключевых поз. Создайте первый кадр, добавьте следующий, внесите крупное изменение, затем заполните промежуточные состояния. Не стоит сразу полировать каждый пиксель первого кадра: после появления всей последовательности может выясниться, что силуэт прыгает и часть деталей нужно перестроить.
Длительность кадра важна не меньше рисунка. Если все кадры имеют одинаковое время, движение получается механически равномерным. Удержание крайней позы на более долгий интервал может сделать удар, моргание или всплеск выразительнее без добавления новых рисунков. При экспорте в GIF следует помнить, что формат хранит задержки в собственных единицах времени, и очень тонкие различия могут интерпретироваться просмотрщиками по-разному.
Для игрового движка анимацию часто экспортируют не как GIF, а как набор кадров или spritesheet. GrafX2 удобен на стадии рисования и проверки последовательности, однако конкретная упаковка зависит от движка. Если нужен атлас с метаданными, точками привязки и именованными тегами, может потребоваться дополнительный инструмент. В таком случае GrafX2 остаётся редактором пикселей, а финальная сборка выполняется отдельно.
Когда кадры отличаются только небольшой частью, экономнее сначала построить общую основу: тело, постоянные цвета, контур. Затем дублировать кадр и менять конечности или эффекты. Но следует следить за «замороженными» пикселями: случайно оставшийся на месте блик может быть заметнее крупного движения. При просмотре цикла на скорости такие ошибки обнаруживаются быстрее, чем при сравнении кадров по одному.
Spare page: второй рабочий лист как часть метода
Spare page — одна из функций, по которой GrafX2 заметно отличается от многих современных редакторов. Это второй рабочий лист, на который можно переключиться Tab. Shift+Tab открывает меню копирования между текущей и spare-страницей. Варианты позволяют переносить пиксели и палитру вместе, только пиксели, только палитру, отдельные цвета либо копировать палитру с переназначением изображения.
Spare page полезна не только как временный буфер. На ней можно держать альтернативную палитру, исходный вариант изображения, эталонные цвета, набор кистей или маску для режима Mask. В результате второй лист участвует в рабочих операциях, а не просто хранит запасную картинку. Многие специфические команды GrafX2 становятся понятнее, если воспринимать current и spare как пару.
Один из сильных сценариев — переназначение изображения на другую палитру. Сначала на одной странице подготавливается нужная палитра, на другой находится изображение, которое надо привести к ней. Команда Palette and remap копирует палитру и одновременно подбирает для пикселей соответствующие новые индексы. Это безопаснее, чем просто заменить таблицу цветов: простая подмена палитры сохранит номера индексов, но полностью изменит внешний вид.
Другой сценарий — перекраска захваченной кисти. Если spare-страница содержит исходные цвета, Get brush colors может вернуть нужные значения в текущую палитру, а Recolorize — сопоставить кисть текущему набору цветов. Это удобно при переносе объекта между сценами с разными палитрами, особенно если количество оттенков ограничено.
Перед радикальной операцией над палитрой разумно копировать изображение и палитру на Spare. Тогда можно быстро сравнивать версии Tab, не открывая два файла. Такой приём особенно полезен при Reduce palette: сокращение до 16 или 32 цветов иногда сохраняет общий вид, но съедает важный контраст в мелких деталях. Переключение между страницами сразу показывает, где потеря произошла.
Spare page не является автоматической системой версий. Если пользователь перезапишет обе страницы или выполнит неправильное копирование, резерв исчезнет. Для этапов проекта всё равно нужны отдельные сохранённые файлы. Лучше рассматривать Spare как быстрый технический буфер внутри сеанса, а не как замену резервному копированию.
Градиенты, дизеринг и color cycling
Gradient rectangle вызывается Alt+R, а Gradation menu — Alt+G. Градиент строится в пределах индексной палитры и может использовать разные варианты дизеринга. В меню выбираются направление, диапазон цветов, степень смешивания и один из сохранённых пресетов. GrafX2 хранит несколько конфигураций градиента, поэтому для одного проекта можно держать отдельные настройки неба, металла, воды и интерфейсных панелей.
Режимы dithering важны, когда цветов мало. Без дизеринга переход выглядит полосами, потому что каждый диапазон яркости представлен отдельным индексом. Базовый или улучшенный дизеринг распределяет соседние цвета по узору и создаёт визуальный промежуточный тон. На настоящем низком разрешении узор может быть частью эстетики, а на большом современном мониторе — выглядеть слишком регулярным. Поэтому выбор зависит от конечного масштаба показа.
Параметр Mix добавляет случайность в распределение. Он помогает разрушить очевидную периодичность, но чрезмерное значение превращает ровный градиент в шум. Для неба или тумана обычно лучше минимальный управляемый рисунок; для камня, песка и органических поверхностей случайность может работать как фактура.
Color cycling использует изменение палитры во времени вместо перерисовки пикселей. Несколько индексов образуют диапазон, и их цвета циклически сдвигаются. Пиксельные индексы остаются на месте, но визуально возникает движение — вода течёт, лампы мигают, энергия пульсирует. Это классическая техника систем с палитровой графикой и один из случаев, где индексная модель даёт эффект почти бесплатно с точки зрения геометрии кадра.
Включение cycling во время редактирования позволяет сразу смотреть результат. Однако не все современные форматы и просмотрщики воспроизводят данные о циклах палитры. Некоторые ретро-форматы умеют хранить такую информацию, а для PNG и GIF возможны нестандартные расширения, которые большая часть обычных программ игнорирует. Если анимация должна работать в браузере или движке гарантированно, лучше заранее проверить конечный формат либо превратить эффект в обычные кадры.
При создании диапазона для cycling нужно следить за его семантикой. Если те же индексы используются в неподвижной части рисунка, они тоже будут менять цвет. Лучшее решение — выделить отдельную последовательность палитры только для анимируемого элемента. В условиях 16 или 32 доступных цветов это дорогой ресурс, поэтому технику стоит планировать вместе с общей палитрой.
Текст превращается в кисть
Команда Text по T не создаёт редактируемый текстовый слой. Введённая строка рендерится как кисть, после чего её можно поставить на холст обычным отпечатком. Это соответствует общей философии GrafX2: многие элементы быстро превращаются в пиксельные кисти, которые затем трансформируются, перекрашиваются и дублируются.
В текстовом диалоге выбирается шрифт и, если сборка поддерживает TrueType, размер и antialiasing. Также встречаются bitmap/SFont-шрифты. Fore-color и Back-color участвуют в формировании результата. Строка имеет ограниченную длину, поэтому большие подписи удобнее собирать частями. Для чистого пиксельного шрифта сглаживание обычно выключают: промежуточные антиалиасинговые оттенки расходуют палитру и размывают форму.
После подтверждения текст следует за курсором как активная кисть. До отпечатка можно применить Brush FX: зеркалирование, изменение handle, Outline, Recolorize или другие допустимые операции. Это удобно для интерфейсных надписей в ретро-игре. Один и тот же bitmap-шрифт можно набрать, захватить и размещать с точной привязкой к сетке.
Если TrueType-текст выглядит грязно, причина обычно не в шрифте как таковом, а в сочетании маленького кегля, сглаживания и ограниченной палитры. Попробуйте отключить Antialias, увеличить размер либо заранее создать несколько промежуточных оттенков. Для пиксельного UI чаще всего выигрывает первый вариант: форма букв становится предсказуемой и не требует лишних цветов.
Текст после отпечатка — обычные пиксели. Изменить слово как строку уже нельзя. Поэтому до размещения полезно оставить на Spare page или отдельном слое исходную кисть, если надпись может понадобиться ещё раз. Для локализации игры удобнее хранить шрифт и строки вне финального изображения и генерировать ресурсы повторяемым способом, а не править каждую надпись вручную.
Adjust or Transform Picture
Команды трансформации всего изображения используются реже, чем Brush FX, но решают другую задачу. Brush FX меняет только активную кисть до её отпечатка, тогда как Adjust or Transform Picture работает с изображением или выбранным представлением целиком. Для пиксельной графики важно отличать операции без интерполяции от тех, которые пересчитывают геометрию: любой произвольный поворот или масштаб может потребовать ручной корректировки пикселей.
Перед трансформацией полезно зафиксировать, что должно сохраниться: размеры тайлов, положение сетки, прозрачный индекс, палитра или расположение спрайтов на листе. Простое отражение по X обычно не меняет структуру данных, а изменение размера spritesheet может сломать координаты импорта в движке. Если лист уже подключён к проекту, безопаснее создать копию и обновлять все зависимости осознанно.
Для увеличения пиксель-арта в целое число раз лучше использовать масштабирование без сглаживания и затем проверить сетку. Если цель — публикационная картинка, масштаб 4× или 8× делает пиксели читаемыми и не создаёт новых оттенков. Если требуется уменьшить рисунок, автоматический пересчёт почти всегда нуждается в ручной доработке: тонкие линии исчезают, а диагонали получают новые ступени.
Форматы файлов и что реально сохраняется
GrafX2 исторически ориентирован не только на массовые PNG, GIF и BMP, но и на множество старых растровых форматов. В коде и справке присутствуют обработчики IFF/ILBM, PCX, различные Atari-форматы, NEO, палитровые файлы и другие специализированные варианты. Набор зависит от сборки и версии, поэтому для редкого формата правильная тактика — открыть список Format в диалоге Load или Save именно на установленной системе и сделать тестовый файл.
Главное ограничение при экспорте: GrafX2 — 256-цветный индексный редактор. Даже если входной файл был truecolor и импорт прошёл, рабочее представление должно уложиться в палитру. Это означает, что программа не является подходящим местом для сохранения полного 24-битного фотоматериала или сложного RGBA-композитинга. Для пиксель-арта ограничение, напротив, делает результат прозрачным: художник точно видит, какие индексы попадут в файл.
GIF естественно соответствует индексной модели и поддерживает анимацию. При сохранении кадров нужно проверить задержки и прозрачный индекс. Не следует рассчитывать, что GIF сохранит всю семантику проекта — имена слоёв, рабочий Spare, настройки сетки и прочую редакторскую структуру. Финальный GIF лучше считать экспортом, а не единственной мастер-копией.
PNG также подходит для палитровой графики и прозрачного индекса. GrafX2 сохраняет палитровый результат, а не произвольный полный альфа-канал на каждом пикселе. Если проект требует полупрозрачные края, мягкие тени с 256 уровнями alpha или смешивание нескольких RGBA-слоёв, финальную композицию разумнее делать в другом редакторе. Внутренний режим Transparency GrafX2 выбирает ближайшие цвета палитры и не создаёт скрытую непрерывную альфу.
Save as открывается F2. В файловом селекторе выбираются каталог, Format и Filename. Расширение подставляется в соответствии с форматом. Есть четыре bookmark-кнопки для часто используемых каталогов; их можно назначать, переименовывать и очищать, а в переносимых конфигурациях — хранить относительные пути. Для форматов, поддерживающих комментарий, в диалоге доступно соответствующее поле.
Shift+F2 выполняет Save в текущий путь, сохраняя выбранные формат и параметры; при перезаписи программа запрашивает подтверждение. Для рабочего процесса это означает простое правило: F2 используйте при создании новой версии или смене формата, Shift+F2 — для регулярного сохранения текущей мастер-копии. Экспортный GIF или PNG лучше не назначать единственным рабочим файлом, если проект использует структуру, которую этот формат не хранит.
Load по F3 открывает файл, Shift+F3 повторно загружает текущий. Повторная загрузка полезна при проверке внешней конверсии: можно изменить файл другим инструментом и быстро перечитать его. Но несохранённые изменения при этом легко потерять, поэтому перед Reload следует проверить состояние проекта.
При импорте truecolor-изображения наиболее важен этап сведения к 256 цветам. Фотография с плавными градиентами неизбежно потеряет часть информации. Если она служит только референсом для ручного пиксель-арта, качество автоматического квантования не критично. Если нужно получить готовую индексную иллюстрацию, лучше заранее подготовить целевую палитру и затем выполнить осмысленный remap, а не принимать случайно построенные 256 цветов.
Для старых форматов нужно отдельно различать «файл открылся» и «он будет принят целевой программой или железом». Исторические форматы имеют дополнительные требования к размеру, битплейнам, палитре, порядку данных и служебным полям. После сохранения тестовый ресурс следует открыть независимым просмотрщиком, эмулятором или конвертером проекта. Это особенно важно, если формат используется как промежуточный этап сборки.
Lua и Brush Factory
Brush Factory позволяет запускать Lua-скрипты из каталога scripts. Название несколько уже реальных возможностей: сценарий может не только генерировать или менять кисть, но и работать с изображением и палитрой. Список обновляется при открытии окна, а код читается с диска при запуске. Благодаря этому собственный скрипт можно править во внешнем редакторе и проверять без перезапуска GrafX2.
Lua API предоставляет доступ к текущим Fore-color и Back-color, прозрачному индексу, чтению и записи цветов палитры, поиску ближайшего цвета, spare-палитре и пользовательским диалогам. Этого достаточно для большого класса автоматизации: построения градиентов по собственному правилу, перестановки диапазонов, генерации процедурных кистей, проверки индексов или конвертации схемы цветов.
Brush Factory особенно полезна там, где операция повторяется. Если каждый спрайт требует одинаково переставить четыре диапазона палитры, ручная работа не только медленнее, но и повышает риск ошибки. Небольшой скрипт делает преобразование детерминированным. При этом следует сохранять исходник: скрипт может менять пиксели напрямую, и неверный цикл повредит всю область быстрее, чем ручная кисть.
Сценарии не превращают GrafX2 в универсальную среду программирования графики. Их сильная сторона — тесный доступ к индексному изображению, кисти и палитре. Для сложной пакетной обработки сотен файлов, сетевого пайплайна или генерации больших текстур удобнее отдельный скрипт во внешнем языке. Lua внутри GrafX2 оправдан, когда результат нужно сразу увидеть и продолжить редактировать в программе.
Settings, горячие клавиши и поведение интерфейса
Settings открываются Shift+F10. Здесь GrafX2 позволяет настроить то, что в других редакторах часто жёстко зафиксировано: поведение файлового селектора, задержку предпросмотра, число undo-страниц, параметры интерфейса, сочетания клавиш и ряд особенностей рисования. Перед массовым изменением настроек полезно запомнить исходное состояние или сохранить конфигурацию: из-за высокой настраиваемости чужая инструкция по клавишам может не совпасть с вашим экземпляром.
Опция Show hidden files/directories нужна, если рабочие ресурсы лежат в каталогах, которые система скрывает. Preview delay определяет, как быстро файловый селектор строит предпросмотр после выбора элемента. На локальном SSD малая задержка почти незаметна, а на медленном сетевом каталоге или папке с тяжёлыми файлами слишком агрессивный preview может мешать навигации. Maximize preview увеличивает область предварительного просмотра, если важнее различать кадры, чем видеть длинный список.
Параметр Find file fast помогает быстрее находить элемент в длинном списке. Auto set resolution может подстраивать рабочий режим под открываемое изображение. Virtual keyboard актуальна для устройств без привычной физической клавиатуры. Эти функции не меняют саму графику, но влияют на скорость работы, особенно на портативных платформах, где GrafX2 также используется.
В разделе редактирования задаётся число Undo pages от 1 до 99. Там же встречаются ограничения на число вершин полигона, ускоренный zoom, поведение Clear со Stencil, автоматический discontinuous-режим и автоматический подсчёт используемых цветов. Последний параметр полезен в обычном пиксель-арте, но справка прямо допускает его отключение на медленных системах или очень больших изображениях: постоянный пересчёт статистики может быть лишней работой.
Right click colorpick меняет поведение правой кнопки в некоторых контекстах и может быть удобен тем, кто привык брать цвет мышью. Но перед включением нужно помнить, что правая кнопка в GrafX2 уже несёт много парных функций. Если настройка начинает конфликтовать с мышечной памятью, лучше вернуть стандартное поведение и использовать Pipette.
Горячие клавиши организованы вокруг действий, а не вокруг меню. D — Draw, L — Line, A — Spray, F — Floodfill, I — кривые, R — Rectangle, C — Circle, N — полигоны, B — Grab brush, T — Text, M — Magnifier, P — Palette. Модификаторы часто включают родственную функцию: Shift+R даёт заполненный прямоугольник, Ctrl+C — эллипс, Shift+C — заполненную окружность, Ctrl+B — захват кисти произвольной формы. Такая схема быстро запоминается, если учить не отдельные комбинации, а семейства.
Для эффектов полезны F5–F8: F5 включает Shade, Ctrl+F5 — Quick-shade, F6 — Stencil, Alt+F6 — Mask, F7 — Transparency, F8 — Smooth, Alt+F8 — Smear. G переключает Grid, Ctrl+G — Sieve, Alt+B — Tiling. Shift-модификатор у многих команд открывает меню параметров соответствующего режима. Если сочетание изменено пользователем, актуальную привязку можно увидеть в F1-справке.
Операции над кистью тоже хорошо ложатся на мышечную память: X и Y — отражение, Z — поворот на 90°, Shift+Z — на 180°, W — произвольный поворот, S — Stretch, Shift+S — Distort, O — Outline, Shift+O — Nibble. H уменьшает размер кисти вдвое, Shift+H увеличивает. Эти команды особенно быстры в тайловой работе, где один угол, выступ или декоративный элемент приходится многократно отражать.
F1 открывает контекстную помощь. Это один из самых практичных способов освоить GrafX2: наведите курсор на непонятную пиктограмму и вызовите справку. Документация не просто называет кнопку, а объясняет разницу между левым и правым кликом, параметры и текущую горячую клавишу. Для программы с плотным пиктограммным интерфейсом такой режим полезнее отдельного длинного списка команд.
Производительность: чего ждать от маленьких и больших изображений
GrafX2 не нуждается в мощной видеокарте для типичного пиксель-арта. Спрайты, тайлы и экраны низкого разрешения соответствуют модели программы и обрабатываются непосредственно. Но из этого не следует, что любое изображение размером до технического предела будет одинаково лёгким. Память расходуют слои, кадры и undo-страницы; некоторые операции проходят по значительной части холста; автоматическая статистика используемых цветов тоже требует анализа пикселей.
Если работа начинает ощущаться медленнее, сначала уменьшите не визуальный масштаб, а объём редакторского состояния. Сократите Undo pages, закройте лишние копии слоёв, не храните сотни промежуточных кадров в одном документе без необходимости. Для большого импортированного изображения можно отключить автоматический подсчёт используемых цветов и выполнять проверку палитры вручную в нужный момент.
Не стоит путать размер окна и размер изображения. Увеличение Magnifier почти не меняет сам объём данных проекта, оно лишь показывает пиксели крупнее. Наоборот, холст 6000×4000 остаётся большим, даже если уменьшен на экране до миниатюры. При подготовке пиксельного ресурса лучше сразу создавать конечное разрешение, а не рисовать гигантский холст и затем уменьшать его.
Smooth, глобальные замены, remap палитры, Reduce palette и анализ Tilemap потенциально затрагивают много пикселей. На маленьком тайлсете это мгновенные действия с точки зрения пользователя; на очень большом изображении разница заметнее. Конкретные секунды зависят от сборки и компьютера, поэтому универсальных замеров здесь нет. Надёжнее оценивать операцию на копии и держать разумную историю отмены.
Анимация увеличивает объём проекта почти линейно с количеством различающихся кадров. Даже если интерфейс допускает сотни кадров, длинный ролик не является основной задачей GrafX2. Для игровой анимации из нескольких или нескольких десятков кадров редактор удобен; для минутной покадровой сцены со звуком, таймингом и композитингом потребуется специализированная программа.
Слои также не следует использовать как бесконечный архив вариантов. Их максимум ограничен, и смысл механизма — разнести логические части текущего изображения. Старые версии дизайна, альтернативные палитры и экспериментальные композиции лучше хранить в отдельных файлах или на Spare page на время сравнения.
Практический сценарий: спрайт с контролируемой 16-цветной палитрой
Предположим, нужно нарисовать персонажа 32×32 пикселя и уложить его в шестнадцать цветов. Самая частая ошибка — сразу рисовать всеми доступными оттенками, а в конце нажать Reduce palette. Такой подход может дать технически шестнадцать цветов, но плохо распределить их по смыслу. В GrafX2 рациональнее сначала создать палитру.
- Создайте изображение 32×32 и очистите его выбранным Back-color.
- В Palette editor подготовьте группы: прозрачность или фон, контур, 3–4 оттенка кожи, 3–4 оттенка одежды, 2–3 оттенка металла и резерв.
- Проверьте Used и убедитесь, что лишние индексы не попали в изображение случайно.
- Кистью 1×1 нарисуйте силуэт одним средним цветом, затем уточните контур.
- Соберите серии Shade для основных материалов, чтобы быстро добавлять свет и тень.
- Периодически переходите к масштабу 1:1 и проверяйте читаемость силуэта.
- Перед финалом используйте статистику и Used, чтобы подтвердить фактическое число цветов.
Если персонаж имеет зеркальную позу, не рисуйте вторую половину заново. Захватите нужную часть B или Ctrl+B, отразите X и поставьте её с правильным Brush handle. Затем вручную уберите симметрию там, где она делает персонажа искусственным. Такой метод экономит время, но оставляет художественный контроль.
Для альтернативной расцветки удобнее не перекрашивать каждый пиксель. Разместите цветовые группы последовательно и используйте Quick-shade с подходящим шагом либо подготовьте вторую палитру на Spare page и выполните remap. Важно сохранить одинаковую относительную яркость оттенков: самый тёмный зелёный должен переходить в самый тёмный красный, а не в случайный индекс.
Практический сценарий: тайлсет и бесшовная фактура
Для тайлсета 16×16 создайте холст, кратный шестнадцати по обеим осям. В Grid поставьте X=16 и Y=16, dX=dY=0, включите Grid view. Теперь каждую ячейку можно воспринимать как отдельный ресурс. Если движок требует промежуток между тайлами, лучше заложить его в структуру листа и соответствующим образом настроить смещение, а не добавлять случайные поля позднее.
Первый тайл делайте эталоном палитры и масштаба деталей. После него захватывайте повторяющиеся элементы как кисти: угол кирпича, трещину, пучок травы, болт. Brush handle в левом верхнем углу помогает ставить элементы относительно сетки. X/Y и Z быстро дают зеркальные и повёрнутые варианты.
Для бесшовной текстуры проверяйте стыки. Tiling показывает повторение, поэтому вертикальный или горизонтальный шов заметен сразу. Если край заканчивается большим тёмным пятном, а противоположный — светлым, повтор образует полосу. Перенесите часть деталей через границу или перестройте распределение, пока повторение перестанет считываться как сетка.
Когда карта уже собрана из повторяющихся блоков, Tilemap может выявить дубликаты и позволить редактировать их синхронно. До анализа очистите почти одинаковые тайлы: один случайный пиксель делает их разными. Опция зеркального распознавания полезна, если движок тоже умеет хранить флаг flip вместо отдельной копии тайла.
Экспортируйте тайлсет в формат, который гарантированно понимает движок, обычно палитровый PNG или другой согласованный вариант. Саму карту, индексы и свойства столкновений храните в отдельном инструменте, если проект не использует изображение карты напрямую.
Практический сценарий: подготовка графики под ZX Spectrum
Для ZX Spectrum недостаточно просто уменьшить картинку до знакомого разрешения и выбрать восемь цветов. Ключевое ограничение классического экранного режима связано с атрибутными областями 8×8, где используются ограниченные пары цветов с общей характеристикой яркости. Поэтому красивый свободный пиксель-арт может оказаться технически недопустимым из-за третьего цвета внутри одного блока.
Сначала выберите соответствующий режим ограничений, затем включите сетку 8×8. Стройте композицию так, чтобы границы объектов по возможности согласовывались с атрибутными блоками. Это не значит, что все формы обязаны быть квадратными: просто в местах пересечения нескольких объектов придётся решить, какие два цвета являются приоритетными.
Если программа сигнализирует о несовместимой комбинации, не пытайтесь лечить её случайной заменой ближайшего пикселя. Определите смысл блока: контур плюс фон, свет плюс тень, персонаж плюс фон. Затем перераспределите цвета во всём блоке, сохранив читаемость. Такой подход лучше передаёт эстетику платформы и уменьшает количество артефактов.
После завершения визуально проверьте работу в масштабе 1:1 и отдельно через конвертер или эмулятор целевого проекта. GrafX2 помогает соблюдать художественные ограничения, но конечный бинарный формат может требовать дополнительных шагов.
Практический сценарий: перекраска готового спрайта
Допустим, есть персонаж с четырьмя оттенками синей формы, и нужно получить красный вариант, не меняя кожу, металл и контур. Если синие индексы расположены в отдельном последовательном диапазоне, задача решается быстро. Создайте соответствующий красный диапазон с тем же порядком светлот, затем используйте Quick-shade либо remap через палитру.
Если синие цвета разбросаны по палитре, сначала можно определить пользовательскую серию. Shade будет двигаться именно по заданной последовательности, а не по соседним номерам. Для защиты кожи и контура включите Stencil на их индексы. Затем обработайте область крупной кистью: защищённые цвета останутся нетронутыми.
Важная проверка — одинаковые индексы за пределами одежды. Если один из синих оттенков используется ещё и в глазах или фоне, глобальная замена изменит их. В таком случае Stencil по цвету не помогает, потому что нужно защитить только пространственную область. Используйте Mask со Spare page либо работайте на отдельном слое.
После перекраски сравните два варианта через Spare page и проверьте Used. Если старый синий диапазон больше нигде не нужен, его можно освободить Zap unused и использовать освободившиеся ячейки для новых эффектов.
Практический сценарий: короткая GIF-анимация
Для мигающего индикатора или четырёхкадрового эффекта создайте первый кадр в конечном размере. Добавьте следующий кадр как копию, если большая часть изображения неизменна, и правьте только нужные пиксели. Установите длительность каждого кадра, а затем включите воспроизведение. Не оценивайте тайминг только по отдельным изображениям: ощущение ритма видно в цикле.
Прозрачный фон следует подготовить до экспорта. Назначьте один индекс Transparent color и убедитесь, что он не используется внутри видимого объекта. Если фон должен быть прозрачным и на нижнем слое, включите соответствующую опцию в Layers manager. Затем сохраните тестовый GIF и откройте его независимо от GrafX2.
Если край объекта мерцает, проблема может быть не в задержке, а в непоследовательном контуре. Переключайте соседние кадры и ищите одиночные пиксели, которые прыгают без причины. Иногда лучше удалить один промежуточный пиксель, чем добавлять новые кадры.
Для игрового проекта GIF удобно использовать как предпросмотр, а кадры экспортировать в том виде, который принимает движок. Так вы не связываете рабочую анимацию с особенностями браузерного декодера GIF.
Практический сценарий: перевод импортированного изображения на фиксированную палитру
Если у проекта уже есть утверждённая палитра, автоматическая палитра при импорте изображения не подходит. Сначала сохраните эталонную палитру на одной странице, а импортированное изображение — на другой. Затем используйте копирование Palette and remap, чтобы не просто заменить RGB-значения ячеек, а подобрать для пикселей ближайшие разрешённые индексы.
После remap найдите области с худшими потерями: плавное небо, оттенки кожи, слабоконтрастные детали. Автоматический ближайший цвет математически разумен, но не знает художественного приоритета. Несколько ручных замен и дизеринг могут дать более читаемый результат при том же числе цветов.
Если два разрешённых цвета слишком близки и почти не различаются, Merge может освободить один индекс. Если, наоборот, в критичной области не хватает промежуточного тона, замените менее полезную ячейку палитры. В индексной работе оптимизация палитры — это распределение ограниченного бюджета, а не финальная косметическая операция.
Типичные ошибки и способы их устранения
| Симптом | Вероятная причина | Что проверить |
|---|---|---|
| Кисть рисует неожиданным цветом | Выбран другой Fore/Back индекс или активен эффект | Пипеткой проверьте индекс, затем Drawing modes → All off |
| Часть слоя стала невидимой | Её цвет совпал с Transparent color | Откройте Layers manager и переназначьте прозрачный индекс |
| Shade скачет между несвязанными оттенками | Неправильно собрана серия | Перестройте user-defined range в нужном порядке |
| Transparency даёт грязный оттенок | В палитре нет подходящего промежуточного цвета | Добавьте нужный индекс или измените метод смешивания |
| Tilemap считает почти все блоки уникальными | Неверный размер Grid или случайные различия | Проверьте X/Y/dX/dY и очистите дубли |
| Сетка визуально смещена | Неверные dX/dY | Совместите нулевую ячейку с фактическим началом тайлов |
| После замены палитры картинка изменила цвета | Палитра скопирована без remap | Используйте Palette and remap через Spare page |
| PNG не содержит ожидаемых полупрозрачных краёв | Проект индексный, прозрачность основана на палитре | Используйте один прозрачный индекс либо делайте RGBA-композитинг отдельно |
| После импорта фотографии слишком много шума | Truecolor сводится к ограниченной палитре | Подготовьте целевую палитру и выполните контролируемый remap |
| Правый клик делает не то, что ожидалось | У команды есть отдельное действие на правую кнопку | Вызовите F1 над пиктограммой и проверьте Settings |
| Большой файл реагирует медленнее | Много undo, слоёв, кадров или автоподсчётов | Снизьте Undo pages, отключите ненужную статистику |
| После произвольного поворота край грязный | Пиксельная геометрия пересчитана | Очистите ступени вручную или используйте поворот 90° |
| GIF воспроизводится с другим ритмом | Просмотрщик округляет или ограничивает задержки | Проверьте экспорт в нескольких проигрывателях |
| Stencil не защищает визуально тот же цвет | Пиксели используют другой индекс с тем же RGB | Проверьте индексы пипеткой и отметьте нужные ячейки |
Большинство «странностей» GrafX2 связано не с повреждением документа, а с состоянием инструмента: активным Drawing mode, вторичным действием правой кнопки, выбранным Fore/Back индексом или прозрачным цветом. Поэтому универсальная диагностика начинается с All off, пипетки и проверки панели палитры. Только после этого имеет смысл менять настройки или переоткрывать файл.
Отдельный класс ошибок возникает при переносе между программами. Современный редактор может сохранить PNG как RGBA truecolor, а GrafX2 при открытии сведёт изображение к индексам. Обратный экспорт не восстановит исходные миллионы цветов. Если исходник важен, храните его отдельно и рассматривайте GrafX2-версию как целевой индексный ресурс.
Сохранение мастер-файла и экспорт без потери управляемости
В пиксельном проекте полезно разделять мастер-файл и конечный ресурс. Мастер должен сохранять то, что нужно для дальнейшей правки: слои, кадры, выбранную палитру и структуру работы. Конечный файл должен соответствовать требованиям движка, сайта или ретро-конвертера. Если эти роли смешать, следующий цикл правки может начаться с уже «сплющенного» изображения, где неудобно менять отдельные элементы.
Перед экспортом сделайте три проверки. Первая — палитра: фактически используемые индексы, прозрачный индекс и ненужные дубли. Вторая — геометрия: точные размеры холста, сетка тайлов и отсутствие случайного пикселя за рабочей областью. Третья — формат: действительно ли выбранный тип файла сохраняет анимацию, прозрачность и палитровую структуру так, как ожидает принимающая программа.
Для игровых ресурсов особенно полезна воспроизводимость. Если одна и та же операция выполняется перед каждым экспортом — перестановка палитры, замена индексов, построение варианта кисти — её стоит оформить в Lua-скрипт или хотя бы записать как короткую последовательность действий. Ручная «магия» плохо масштабируется: через месяц легко забыть, почему конкретный индекс должен стоять на позиции 12, а не 13.
Если целевой формат чувствителен к индексам, не оптимизируйте палитру после финальной привязки без необходимости. Внешний движок может ожидать, что индекс 0 означает прозрачность, определённый диапазон используется для команды игрока, а другой — для эффекта cycling. Визуально два файла могут быть одинаковыми, но программно иметь разный смысл.
Наконец, проверяйте экспорт в независимой программе. Повторное открытие в GrafX2 подтверждает, что сам GrafX2 понимает созданный файл, но не гарантирует совместимость с конечным потребителем. Для PNG это может быть движок, для GIF — браузер, для ретро-формата — эмулятор или конвертер. Такой короткий тест ловит проблемы раньше, чем они попадут в сборку игры.
Как организовать палитру для долгого проекта
Управляемая палитра приносит больше пользы, если её структура постоянна. Для серии спрайтов разумно зарезервировать блок индексов под общие цвета: прозрачность, контур, нейтральные серые, кожа, интерфейсные акценты. Остальные диапазоны можно отдавать конкретным персонажам или окружению. Тогда Shade, Quick-shade и скрипты работают одинаково во всех файлах.
Не обязательно заполнять все 256 ячеек. Пустой резерв полезен для временного оттенка, альтернативной команды, эффекта повреждения или импорта небольшого элемента. Если палитра занята полностью, любое расширение требует перераспределения и повышает риск сломать индексы.
Цвета, которые должны образовывать диапазон, удобно располагать последовательно от тёмного к светлому либо наоборот. Это упрощает Quick-shade и ручную навигацию. Исключение — когда внешний формат предписывает фиксированные позиции; тогда аппаратное требование важнее удобства редактора.
Для визуальной проверки полезно временно переводить спорные группы в Gray. Если два соседних оттенка имеют почти одинаковую яркость, они могут сливаться в маленьком спрайте даже при разном цветном тоне. После проверки верните исходную палитру через Undo или резервную страницу. Не стоит превращать Gray в необратимую операцию над единственной копией.
Если палитра пришла из другого проекта, сначала проверьте Used и фактические RGB-значения. Нередко один и тот же визуальный серый присутствует дважды из-за старого экспорта. Merge освобождает индекс, но может изменить пиксели, поэтому выполнять его лучше до того, как внешние инструменты начали зависеть от номеров цветов.
Когда использовать слои, а когда Spare page
Оба механизма позволяют держать дополнительное изображение, но предназначены для разных задач. Слой является частью текущей композиции: он виден вместе с другими слоями, имеет порядок и использует общий прозрачный индекс. Spare page — отдельный рабочий лист, который можно использовать как альтернативу, источник палитры, маску или буфер для remap.
Если деталь должна участвовать в финальной картинке и периодически скрываться, выбирайте слой. Если нужно сравнить две версии всей картинки, удобнее Spare. Если требуется защитная маска для Mask mode, нужен Spare. Если нужно временно сохранить объект для дальнейшего объединения с фоном, слой обычно нагляднее.
Не следует хранить на Spare page то, от чего зависит единственная копия проекта. Один неосторожный Copy to spare может перезаписать данные. Для важных альтернатив используйте отдельные файлы. Spare эффективна именно как быстрый рабочий инструмент, а не как архив.
Сравнение с аналогами
GrafX2 имеет смысл сравнивать не по количеству кнопок, а по типу задачи. Он построен вокруг индексной палитры, пиксельного рисования и наследия 256-цветных редакторов. Поэтому в одних сценариях его инструменты оказываются очень точными, а в других сама модель изображения становится ограничением.
GrafX2 и ФотоМАСТЕР
ФотоМАСТЕР и GrafX2 пересекаются только на самом общем уровне — оба изменяют растровые изображения. Практическое назначение у них различается. ФотоМАСТЕР рассчитан на обработку фотографий: автоматическое и ручное улучшение, работу с балансом белого, яркостью и контрастом, шумоподавление и резкость, ретушь портретов, удаление объектов, замену или размытие фона, коррекцию лица и фигуры, эффекты, текст и другие операции над фотоматериалом. Поддержка RAW делает его уместным в сценарии, который начинается с камеры.
GrafX2, напротив, не предназначен для проявки RAW или естественной ретуши портрета. Импортированная фотография должна быть сведена к индексной палитре до 256 цветов, а инструменты Transparency и Smooth всё равно работают через эту палитру. Зато GrafX2 даёт то, что не является центральной задачей фотокорректора: точную работу с индексами, Shade по заданным цветовым сериям, захват фрагмента как кисти, Tiling, Tilemap, Spare page и аппаратные ограничения ретро-систем.
Если задача формулируется как «убрать объект с фотографии, поправить лицо, заменить фон или обработать RAW», логика ФотоМАСТЕР соответствует исходному материалу. Если задача — «нарисовать 32×32 спрайт в шестнадцати цветах, собрать тайлы и не нарушить палитру», логика GrafX2 соответствует ей значительно точнее. Это не вопрос общего уровня программы, а вопрос модели данных.
GrafX2 и Aseprite
Aseprite — прямая альтернатива для пиксель-арта и спрайтовой анимации. В нём слои и кадры собраны в привычную тайм-линейную структуру, есть onion skin, теги анимаций, предпросмотр, работа со sprite sheets, а кроме индексного режима поддерживаются RGB/RGBA и grayscale. Для художника, который постоянно переключается между пиксельным рисованием и современной альфа-прозрачностью, это важное отличие.
GrafX2 сильнее привязан к палитровому мышлению. Его Spare page, пользовательские серии Shade, color cycling, ретро-форматы и аппаратные 8 BIT ограничения ориентированы на задачи, где индекс — осмысленная часть ресурса. В Aseprite тоже есть индексные палитры и развитые инструменты пиксель-арта, но рабочая модель чаще воспринимается как современный sprite editor с таймлайном.
Для аниматора удобство зависит от процесса. Если нужны теги нескольких циклов, onion skin и регулярный экспорт sprite sheet, структура Aseprite ближе к этому сценарию. Если важнее подготовить графику под старое железо, выполнять палитровые трюки и работать в стиле классических Deluxe Paint-подобных редакторов, инструментарий GrafX2 отражает эти задачи непосредственно.
GrafX2 и GraphicsGale
GraphicsGale также ориентирован на пиксельную графику и анимацию. Он поддерживает несколько кадров, слои с прозрачностью, предпросмотр анимации и onion skin, а также экспорт в форматы, используемые для спрайтов и анимированной графики. Его интерфейс больше похож на традиционный Windows-редактор спрайтов.
GrafX2 предлагает другой набор приоритетов: общая 256-цветная модель, Spare page, сильные палитровые операции, Tilemap и профили старых видеосистем. Если проект живёт в современном игровом пайплайне и главная задача — покадровая анимация, GraphicsGale может быть понятнее по организации кадров. Если нужен контроль ретро-палитры и нестандартных старых форматов, у GrafX2 есть специализированные механизмы, которых обычно не ищут в обычном анимационном редакторе.
Есть и платформенная разница: GraphicsGale ориентирован на Windows, тогда как GrafX2 выпускается для нескольких систем. Это влияет не на художественные функции, а на возможность сохранить одинаковый инструмент в смешанной команде. При выборе всё равно важнее проверить формат экспорта и требования проекта.
GrafX2 и LibreSprite
LibreSprite — свободный редактор пиксель-арта с кадрами, слоями, onion skin, предпросмотром анимации, палитрами и тайловыми инструментами. Он ближе к современному sprite-editor подходу: художник видит временную структуру анимации и работает с ней напрямую. Для стандартного набора «нарисовать спрайт — анимировать — экспортировать» это понятная модель.
GrafX2 отличается глубиной классических палитровых приёмов и ориентацией на исторические ограничения. Color cycling, Spare page, специализированный remap, набор Brush FX и профили видеорежимов делают его интересным там, где работа не заканчивается обычным PNG-спрайтом. LibreSprite, в свою очередь, проще встроить в процесс, где важнее слои и кадры современного формата, чем точное воспроизведение правил старого железа.
Краткая таблица различий
| Задача | GrafX2 | Другие варианты |
|---|---|---|
| Индексная палитра и ручной контроль индексов | Центральная модель работы, до 256 цветов | Aseprite и LibreSprite тоже умеют indexed mode, но не строят весь интерфейс вокруг него |
| Покадровая спрайтовая анимация | Кадры и длительность есть | Aseprite, GraphicsGale и LibreSprite дают более выраженный анимационный workflow |
| RAW и ретушь фотографии | Не целевой сценарий | ФотоМАСТЕР ориентирован на фотокоррекцию и RAW |
| Ретро-ограничения видеосистем | Есть специализированные 8 BIT режимы | В обычных sprite editors чаще требуется внешний контроль |
| Color cycling | Поддерживается как палитровая техника | Не является центральным инструментом большинства современных редакторов |
| Тайлы и повторяющиеся блоки | Grid, Tiling, Tilemap | LibreSprite и Aseprite имеют собственные тайловые возможности |
| Полный RGB/RGBA workflow | Нет, работа индексная | Aseprite поддерживает RGB/RGBA; фоторедакторы работают с полноцветными данными |
| Скрипты внутри редактора | Lua через Brush Factory | Возможности автоматизации зависят от конкретного редактора |
Из таблицы видно, почему сравнение только по наличию «слоёв», «кисти» или «экспорта PNG» мало информативно. Эти функции есть у многих программ, но их роль различается. В GrafX2 слой существует внутри индексного проекта, палитра является частью логики изображения, а кисть может быть захваченным фрагментом с собственными индексами и специальными трансформациями.
Когда GrafX2 подходит лучше всего
Программа особенно уместна, когда конечный результат уже по определению палитровый. Это пиксель-арт для игры, графика демосцены, ресурсы старых компьютеров и консолей, иконки или иллюстрации с намеренно небольшим набором цветов. В таких проектах ограничение до 256 цветов не мешает, а заставляет работать в той же модели, которую использует итоговый ресурс.
GrafX2 полезен художнику, который любит превращать части изображения в кисти. Захватить фрагмент, отразить, повернуть, обвести, перекрасить и поставить обратно можно без отдельного объектного слоя. Для тайлов, орнаментов и небольших игровых элементов это очень быстрый способ работы.
Ещё один подходящий сценарий — ретро-графика с техническими правилами. Если важно не просто стилизовать изображение под старый компьютер, а соблюдать допустимое число цветов на блок или структуру аппаратных палитр, специальные режимы экономят время на внешней проверке.
Наконец, GrafX2 хорошо подходит для учебного освоения индексной графики. Он наглядно показывает, что палитра — это таблица, а пиксель — ссылка на её ячейку. Операции Spread, Merge, Reduce, Shade и remap становятся понятны именно потому, что результат сразу виден на рисунке.
Когда нужен другой инструмент
Для RAW-фотографии, портретной ретуши, сложного удаления объектов по содержимому и естественной цветокоррекции лучше использовать фоторедактор. Принудительное сведение фотографии к 256 цветам лишает исходник информации и делает дальнейшую тонкую обработку бессмысленной. GrafX2 может превратить фотографию в палитровый референс или стилизацию, но не заменяет фотопроявку.
Если проект требует полноценные RGBA-слои, мягкие полупрозрачные кисти, сложные blending modes и высокую разрядность цвета, индексная модель GrafX2 станет ограничением. Здесь разумнее рисовать в современном полноцветном редакторе, а финальное квантование выполнять только на экспортной копии, если оно вообще требуется.
Для сложной спрайтовой анимации с множеством именованных циклов, onion skin, тегами, событиями и регулярным экспортом атласов удобнее специализированный современный sprite editor. GrafX2 умеет кадры и скорость, но его сильнейшие функции лежат в палитровой и ретро-части рабочего процесса.
Для построения игровой карты со слоями объектов, коллизиями, триггерами и пользовательскими свойствами нужен tilemap-редактор. GrafX2 умеет рисовать тайлы и находить повторяющиеся блоки, но не является редактором логики уровня.
Контроль перед передачей ресурса в проект
Перед тем как отдавать спрайт, тайлсет или палитровую сцену программисту, полезно сделать короткую техническую проверку. Сначала откройте Statistics и Palette: подтвердите размеры изображения, фактическое число используемых цветов и назначение прозрачного индекса. Затем включите изображение в масштабе 1:1 и осмотрите край холста — случайный пиксель на границе часто незаметен при увеличении, но портит тайлинг или bounding box.
Для spritesheet проверьте Grid с теми же X, Y, dX и dY, которые ожидает импортёр. Каждый кадр или тайл должен занимать ровно свою ячейку. Если ресурс анимированный, проиграйте цикл и отдельно пройдите кадры вперёд и назад: воспроизведение показывает ритм, а покадровое сравнение легче выявляет дрожащий контур и единичные лишние точки.
После сохранения закройте рабочую копию либо откройте экспорт как отдельный файл и убедитесь, что палитра, прозрачность и размеры пережили запись. Для аппаратного режима дополнительно прогоните ресурс через реальный конвертер проекта или эмулятор. Такой контроль занимает меньше времени, чем поиск причины после интеграции и отделяет ошибки рисунка от ошибок последующей конверсии.
Итог
GrafX2 стоит воспринимать как специализированную рабочую среду для индексной пиксельной графики, а не как уменьшенную копию современного фоторедактора. Его сила раскрывается, когда художнику нужны осмысленные палитры, быстрый захват изображения в кисть, Shade и Quick-shade, Stencil и Mask, Grid/Tiling/Tilemap, Spare page, color cycling, слои и кадры в пределах 256-цветной модели, а также проверка ограничений старых видеосистем.
Для первого проекта достаточно освоить несколько вещей: Fore/Back color, кисть 1×1, Grab brush, Magnifier, Palette, Grid, Shade и Spare page. Остальные инструменты имеет смысл подключать по задаче. Такой порядок лучше, чем пытаться выучить все пиктограммы сразу: интерфейс GrafX2 плотный, но действия хорошо группируются и быстро переходят в горячие клавиши.
Главное практическое правило — планировать палитру и целевой формат заранее. Тогда ограничения программы работают в пользу проекта: цвета не расползаются, индексы имеют смысл, а экспорт предсказуем. Если же исходная задача требует миллионов оттенков и полного RGBA, лучше не бороться с моделью GrafX2 и выбрать инструмент другого класса.
