ZX Spectrum Graphics FAQ


По многочисленным просьбам начинаю этот пост, в котором буду публиковать вопросы и ответы по специфике создания графики для ZX Spectrum.

Ниже пойдет речь именно о специфике ZX Spectrum прежде всего потому, что нет смысла заново излагать всю теорию рисования и растровой графики. Любой tutorial, пример рисования или урок о рисовании на ZX Spectrum на 80% будет состоять из стандартной теории, в которой, честно говоря, мало кто из нас силен :). Поэтому более честно, да и более интересно поговорить именно об аспектах графики, которые являются для спектрума эксклюзивными, по крайней мере по отношению к обычной растровой графике без ограничений на палитру и количество цветов на знакоместо.

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

В подготовке FAQ также участвовали: Al-Rado , sq , prof4d , introspec , moroz1999 .


Все вопросы я разбил на 3 блока:
1. Основы графики ZX Spectrum
— Графические режимы
— Палитры цветов (Pulsar, Alone, Orthodox, Electroscale)
— Графические редакторы

2. Технические приемы рисования на ZX Spectrum
— Как бороться с клэшингом атрибутов? Цветовые переходы
—- каким образом сделать перетекание цвета из одного в другой?
—- сочетаемость цветов
—- классические переходы и основные ошибки при работе с цветом
—- использование черного цвета при переходах
— Использование яркости
— Экономия на пикселях — стоит ли применять технику заливки однородных областей paper-ом для экономии занимаемой памяти либо наоборот, стараться рисовать так, чтобы и без атрибутов скрин сохранял все детали?
— Подгонка картинки под знакоместа — как, в чем и когда это лучше делать?

3. Обработка и трансфер графики между различными форматами
— Конвертация изображений в формат ZX Spectrum
— Обратное преобразование изображений для ZX Spectrum из png/gif/bmp в scr
— Преобразование scr с использованием FLASH-атрибута в анимированный gif?

1. Основы графики ZX Spectrum


Графические режимы

Основные режимы, используемые в работах на графических конкурсах для ZX Spectrum:

1. Не мерцающие графические режимы:
Standard (SCR = 6912 байт)
— Multicolor 8x4/8x2/8x1 (MC4/MC2/MC1)
Standard + Border (BSC)
Multicolor 8x4 + Border (BMC4)
53C
Macroscreen (CHR$)
2. Графические режимы с мерцанием:
Gigascreen (IMG=2xSCR)
— Multigigascreen 8x4/8x2/8x1 (MG4/MG2/MG1)
Macrogigascreen (CHR$)
ATTR Gigascren
Tricolor (RGB)


Standard (SCR)
Стандартный графический экран для ZX Spectrum, 256х192 точек, палитра из 15 цветов. 2 цвета на знакоместо 8х8 пикселей. Представляет из себя монохромный экран (6144 байта) и область атрибутов 32x24 знакоместа (768 байт). Всего в сумме 6912 байт.


Multicolor (MCX)
То же самое, что и стандартный экран, но по ходу движения электронного луча по экранной области программным способом записываются различные значения атрибутов. В результате получаем возможность задать отдельные атрибуты для ячеек меньше, чем 1 знакоместо: 8x4 пикселей, 8x2 пикселей. Для ячеек 8x1 на стандартном ZX Spectrum задать произвольные атрибуты можно лишь для части экрана.


Border (BXX)
Примерно то же самое, что и мультиколор, но для области вокруг экрана – бордюра. Программно задавая цвет бордюра на стандартном ZX Spectrum можно использовать цветные полоски минимального размера 24x1 пиксель для рисования в области бордюра. Более подробно это будет освещено в отдельной статье.


53С
Видеорежим, в котором нет никаких палитровых ограничений для минимального элемента изображения. Минимальным элементом является 1 знакоместо 8x8 пикселей, экран залит шахматной текстурой через 1 пиксель, меняются только атрибуты INK, PAPER, BRIGHT, FLASH для каждого знакоместа. Соответственно хранится всего 768 байт атрибутов. Всего палитра в этом случае состоит из 53 усредненных цветов, отсюда и название формата.


Macroscreen (CHR$)
Формат, созданный для хранения изображений размером больше, чем 256x192. На сегодня есть примеры стандартной и гигаскрин графики размером более, чем 256x192. При этом на экране мы видим только часть картинки.


Gigascreen (IMG)
Режим графики, в котором с частотой 50 кадров в секунду показываются последовательно 2 различных стандартных экрана. Изображение при этом мерцает, но визуально мы получаем смешанные цвета. Всего палитра состоит из 102 усредненных результирующих цветов. Результат наложения 2 экранов без мерцания доступен в эмуляторе Unreal в режиме noflic.


Tricolor (RGB)
Видеорежим, в котором сменяются и визуально накладываются уже не 2 экрана, а целых 3. При этом для простоты конверсии графики выбран принцип суммирования 3 каналов: R, G и B. То есть все три экрана представляют из себя монохромные изображения красного, зеленого и синего цвета. Таким образом каждый пиксель независим от других и имеет 3 бита R, G и B. Общий результат смотрится достаточно бледно, т.к. даже самый яркий цвет – белый, состоит из последовательного показа 3 разноцветных пикселей. Всего 8 результирующих цветов.

Комбинации графических режимов
Как уже было сказано выше, возможны практически любые произвольные комбинации упомянутых видеорежимов в рамках программных ограничений. Например, GIGABORDER-GIGASCREEN или MACRO-MULTI-GIGASCREEN и т.п.

Кроме того, не исключено, что существуют и другие простые, а может быть и сложные, способы программного формирования элементов изображения на ZX Spectrum, позволяющие добиться более высокого цветового разрешения для меньших ячеек экрана, чем описано выше. Например, мультиколор 8x3 или 3color с произвольными, не-RGB атрибутами и т.п.

Палитры цветов (Pulsar, Alone, Orthodox, Electroscale):
— стоит ли на них ориентироваться, или выбрать понравившуюся и всегда рисовать в ней.
— откуда они взялись и зачем?




Исторически сложилось так, что оригинальный ZX Spectrum и разные его клоны согласно схемотехнике имеют разные соотношения уровня сигнала для неярких (BRIGHT 0) и ярких (BRIGHT 1) цветов. Каждый графический редактор, конвертор и эмулятор ZX Spectrum для другой платформы содержит в себе как минимум одну палитру в виде набора RGB-коэффициентов для каждого из 15 стандартных цветов. При этом очень трудно найти хотя бы пару программ с одинаковой палитрой. Именно поэтому были предприняты попытки разработать какие-то стандартные палитры.

— палитра alone возникла в начале 2000х, в эмуляторе Unreal. Её коэффициенты были подобраны таким образом, чтобы наиболее корректно отображалась картинка «Alone» с её странным переходом от яркого зеленого цвета к неяркому зеленому цвету через 50% (шахматную) текстуру.

— коэффициенты палитр pulsar и orthodox родились в ходе обсуждения на форуме zx.pk.ru (ссылка).

Достаточно широко в последнее время используется палитра pulsar. Она используется по умолчанию на портале ZX Art, в онлайн-конвертере SCR графики от nyuk, в системе Events. Тем не менее на конкурсы регулярно приходят работы, нарисованные, например, в дефолтной палитре ZX Paintbrush или какой-то другой. Для большинства работ выбор палитры не критичен, хотя иногда различия довольно заметны. Из 4 перечисленных палитр, палитра pulsar больше всего напоминает, то что видно на большинстве старых реальных машин.


Графические редакторы

а) Огромное количество нативных редакторов для ZX Spectrum, среди которых наиболее продвинутые:
Burial Graphics Editor (BGE)
Excess Deluxe Paint (EDP)
Art Studio (+различные модификации)

б) Редакторы для нативного формата под Windows:
ZX Paintbrush
ZXGFX
SevenuP
— Редактор в RETRO-X
— Painter — редактор, встроенный в BMP2SCR
— SCREEN$ Paintbox — редактор, встроенный в BASin

в) Растровые редакторы под различные платформы:
Graphics Gale (Free, Win)
GRAFX2 (Free, Win/OS X/Linux)
Cosmigo Pro Motion (Commercial, Win)
Adobe Photoshop (Commercial, Win/OS X)
EdgeTouch (Commercial, iOS)
Pixly (Android)


2. Технические приемы рисования на ZX Spectrum


Как бороться с клэшингом атрибутов? Цветовые переходы:
— каким образом сделать перетекание цвета из одного в другой?
— сочетаемость цветов,
— классические переходы и основные ошибки при работе с цветом,
— использование черного цвета при переходах.


Как бороться с клэшингом:
— прежде всего подгоном самых критичных мест под границы атрибутов ДО начала раскрашивания.
Например: перед наложением цвета набросок был сдвинут таким образом, чтобы зрачок зеленого цвета и блик белого цвета как можно более точно попадали в границы знакомест:


— нанесением отвлекающих пикселей и линий, которые будут маскировать квадратность атрибутов (можно рассматривать как частный случай текстурирования) за счет повторения форм основного объекта:


— текстурированием, т.к. клэшинг на текстуре менее заметен. Например, переход между голубым цветом воды и зеленым цветом шкуры дельфина сделан через черную текстуру и практически не заметен:

Как раз в этом приеме возникает тема сочетаемости или взаимозаменяемости/близости цветов. Цвета с номерами 0-3 (черный, синий, красный, магента) — темные, цвета с номерами 4-7 (зеленый, голубой, желтый, белый) — светлые. Соответственно, почти все переходы от темного к темному цвету или от светлого к светлому цвету сделанные через контрастную текстуру (текстуру темного цвета для светлых цветов, как в данном примере — переход через черную текстуру; и текстуру светлого цвета для темных), выглядят плавно. Хотя есть и пары цветов, с которыми такие переходы выглядят чуть хуже: синий-магента или зеленый-белый.

«Цветовые переходы». Не самое удачное словосочетание. Его можно понять как:
а) Борьбу с клэшингом при необходимости резкого перехода к другому цвету. Соответствено сюда попадают 3 вышеперечисленных приема.
б) Реализацию плавных цветовых переходов. В этом случае переходы традиционно могут быть сделаны чаще всего через произвольную текстуру. Плавное перетекание из цвета в цвет возможно между любыми цветами одной яркости, но чем ближе цвета по светимости, тем более незаметным для глаза будет этот переход (например перетекание из красного цвета в магенту, из голубого в зеленый или из желтого в белый).

Резкие переходы цвета, без использования текстуры так же могут выглядеть естественно, если они соответствуют реальному освещению объекта и его форме. Например, переход между ярким и неярким желтыми цветами на черепе или раскраска шипов на картинке «Skull» by DAP:


Использование яркости
Использование одновременно в одной картинке ярких и неярких цветов дает возможность придать изображению глубину, расставить определенные акценты, усилить эффекты освещения, разделить передний и задний план.

Борьба с клэшингом в этом случае усложняется в том случае, если на картинке используются по большей части плавные переходы между цветами.

Например, легко выделить яркостью некоторые объекты, если переходы между цветами сделаны через контрастную (в данном случае сплошную черную текстуру):

То есть на картинке почти не используются плавные цветовые переходы. О таких картинках ещё иногда говорят, что они нарисованы одним только INK'ом, что недалеко от реальности, без атрибутов картинка выглядит вполне естественно:


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



Как с этим бороться? Методы аналогичны обычной борьбе с клэшингом атрибутов.



Экономия на пикселях — стоит ли применять технику заливки однородных областей paper-ом для экономии занимаемой памяти либо наоборот, стараться рисовать так, чтобы и без атрибутов скрин сохранял все детали?
Особой разницы нет. Хотя есть несколько случаев, когда это может играть небольшую роль:

1) Загрузка картинки в стандартном формате с магнитофона. Если картинка без атрибутов будет выглядеть максимально корректно, то загрузка будет смотреться красиво.

2) При подключении реального ZX Spectrum к телевизору встречался дефект изображения, когда между знакоместами отображались вертикальные серые полоски в случае если была выключена яркость и в знакоместах соседствовали PAPER и INK одного цвета. Для этих случаев были написаны оптимизаторы графики, которые специальным образом инвертировали знакоместа и атрибуты для устранения дефекта вертикальных полосок. Это Screen Optimizer v4.2, Screen Visual Optimizer от psndcj/tbk, функция Optim в Painter/BMP2SCR и другие. Кроме устранения дефекта они некоторым образом упорядочивают и атрибуты, что в целом улучшает сам экран без атрибутов.

3) При создании графики для игр, демо или других программ нередко необходимо точно знать, где на картинке INK, а где PAPER и совершенно четким образом их задавать. Поскольку вручную такие вещи не очень просто контролировать даже в процессе создания экрана с нуля, то для этих целей можно рекомендовать всё тот же Screen Optimizer v4.2, в котором есть ручной режим познакоместного инвертирования картинки с выключенными атрибутами.


Подгонка картинки под знакоместа — как, в чем и когда это лучше делать?
1) Если вы работаете с монохромным наброском, то достаточно включить сетку и подвинуть изображение попиксельно, выбирая наиболее подходящий для раскрашивания вариант. Это можно сделать как в нативном редакторе для ZX Spectrum, так и в любом пиксельном редакторе на других платформах.

2) Если речь о цветном наброске без учета ограничений ZX Spectrum, то двигать придется в BMP2SCR. Проблема BMP2SCR в отсутствии четкого попиксельного перемещения, управляемого с клавиатуры. Для цветного наброска 256x192 можно рекомендовать расширить его до 264x200 для того чтобы можно было в BMP2SCR попробовать все возможные сдвиги.

Альтернативой BMP2SCR может быть генерация 64 вариантов сдвига цветного наброска (пример BAT-скрипта, BAT-скрипт вместе с необходимыми программами), с сохранением в BMP, конвертирование их в AVI (например с помощью BMP2AVI) и пакетное конвертирование AVI-файла через BMP2SCR с сохранением в PNG и последующим выбором оптимального варианта смещения исходного цветного наброска.


Обработка и трансфер графики между различными форматами


Конвертация изображений в формат ZX Spectrum

Автоматическое конвертирование в формат ZX Spectrum можно выполнить с помощью:
Image Spectrumizer
BMP2SCR
CON18
RETRO-X
ZX Paintbrush


Обратное преобразование изображений для ZX Spectrum из png/gif/bmp в scr

По поводу обратной конверсии PNG>SCR — в случае картинки с использованием одновременно и ярких и неярких цветов вы можете воспользоваться следующими конверторами:
1) «PXL2SCR» by introspec (Windows) — распознает палитры и попутно оптимизирует SCR, обрабатывает ошибки в исходном файле (больше 2 цветов на знакоместо) и выделяет их с помощью FLASH в результирующем файле.
2) Just.SCR by Oleg Origin (Windows) — имеет графический интерфейс, позволяет выбрать цвет фона (PAPER) результирующей картинки, распознает картинки с бордером, FLASH.
3) «Speccy Viewer beta» от SimbolBit & Debris под iOS — умеет распознавать палитры и корректно обрабатывать яркость в большинстве случаев.
4) Для картинок одного уровня яркости достаточно конверсии в BMP2SCR с соответствующим параметром BRIGHT. Попытка конвертирования картинок с использованием разных градаций яркости через BMP2SCR в режиме «BRIGHT: intelligent» дает результат, схожий с оригиналом, но отличающийся в знакоместах с малым количеством пикселей, что было проверено не один раз. Если для случая переноса собственной графики в процессе её создания автор может посчитать это приемлемым, то для 100%-адекватной конверсии чужой графики из BMP/PNG в SCR этот режим не совсем подходит ввиду своей неточности.


Преобразование scr с использованием FLASH-атрибута в анимированный gif

Самый простой способ — онлайн конвертор от nyuk по адресу http://nyuk.retropc.ru/gfx_converter.
1) Загружаем SCR, выбираем формат GIF, остальные параметры по вкусу, кликаем на имя загруженного файла, смотрим результат в открывшемся окне. Если устраивает — нажимаем Download под картинкой.
либо
2) Загружаем SCR, выбираем картинку, выбираем output type: GIF, жмем кнопку «Convert & Download ZIP archive».

Другой способ: через сохранение картинки в формат GIF из редактора SCREEN$ Paintbox (встроен в BASin).
  • avatar
  • [просмотров: 32891]
  • +21

151 комментарий

avatar
Ура, наконец-то!
Я уже начал готовить свою порцию вопросов!
  • sq
  • +1
avatar
Где можно скачать свежую версию автодайвера?
  • G.D.
  • +2
avatar
Где-то тут.
avatar
В ответе на вопрос №7 есть ссылка на скрипт, который я использую.
avatar
Для конвертации и редактирования можно также использовать ZX PaintBrush
avatar
1. «Если вы работаете с монохромным наброском, то достаточно включить секту [...]» — дальше читать не стал!

2. Я понимаю что вопрос о палитрах вызывал (вызывает?) разнообразные споры и разногласия. Но у меня было такое впечатление, что более-менее все «прогрессивные» художники согласились, что палитра pulsar наиболее точна, как для 6912, так и для гигаскрина. Если это верно, то наверное нужно как-то чётче написать об этом в FAQ. Если это неверно, то наверное нужно сказать что спор остался неразрешённым.

3. Конверсия png/bmp/etc в scr. Насколько это актуально на самом деле? Мне представляется, что написать такой инструмент должно быть довольно несложно. Кому-то вообще нужна такая утилита с интерфейсом командной строки?

4. «Проблема BMP2SCR в отсутствии попиксельного перемещения, управляемого с клавиатуры.» Да, меня это тоже раздражает. Попробовать добавить?
avatar
1) Мы тут все секта в секте :-D.
2) Не хотелось бы прям уж навязывать палитру, может быть кому-то нравится рисовать не в pulsar. Пусть рисуют.
3) Это очень актуально: а) часть художников рисует изначально не в zx редакторах, а scr потом как-то получить надо. б) у некоторых работ утеряны исходники, scr необходим для загрузки на zxart. Задача довольно нетривиальная, т.к. уровни неярких цветов пляшут иногда в районе от 120 до 210, причем яркий может находиться в том же диапазоне и быть ниже чем другой неяркий цвет. ЯРКИЙ пример — синий цвет в ZX Paintbrush. Задача решена в Speccy Viewer, но и он иногда сбоит.
4) Было бы очень неплохо.
avatar
3) Хорошо, я подумаю. По идее, как конвертировать мне понятно. Вопросы в основном как сделать надёжный импорт (сами по себе графические файлы достаточно сложно устроены; нужно разбираться в стандартных библиотеках).

4) Попробую.
avatar
фиксировать входной формат. BMP 8 bit или PNG 8 bit.
avatar
Мне даже самому неудобно бы это было. Нет, по-хорошему нужно подцепить одну из монструазных универсальных библиотек для импорта. С экспортом, понятно, вопросов нет.
avatar
Лёша, для номера 3 было бы крайне полезно если бы ты мог закинуть мне 5-10 изображений, которые плохо конвертируются существующими конверторами. Чтобы можно было осознанно тестировать на них.
avatar
5-10 с ходу нет. Но вот пример, который некорректно обрабатывается в Speccy Viewer: www.dropbox.com/s/y5cf5sbxmwgwesq/false_bright_pack.zip?dl=0
avatar
Спасибо, это то что нужно. Если будут ещё примеры — кидай их, пожалуйста, мне тоже.
avatar


Вот об эту работу от Oleg Origin у меня споткнулись BMP2SCR, CON18 и ZX Paintbrush.
avatar
Saboteur 2 by Oleg Origin — хороший пример того, когда используется яркий белый и, казалось бы, темный желтый. Аналогично с голубыми цветами. Это именно палитра с различными коэффициентами яркости для разных цветов. В палитре pulsar эта же работа, как мы видели на ZX-Art выглядит немного по-другому:



Пусть и чуть менее интересно отображается желто-белый переход, но тем не менее в целом работа выглядит вполне корректно.
avatar
Вот ещё подборка из 4-5 разных палитр www.dropbox.com/s/pexohhoobguolle/different_bright_pack.zip?dl=0
avatar
Спасибо за примеры, всё пойдёт в дело. Лёша, твои эстетические чувства выдержат, если эта утилита командной строки будет требовать для своей работы 5-10 разных .dll? Или это зависит от её работоспособности, т.е. если будет хорошо работать, можно и потерпеть, но вот если не будет — тогда точно крышка? :)
avatar
Та выдержат, чо нет. Вон мой автодайвер так и работает в виде bat-скрипта. Выше вон лежит. А если не будет у тебя работать оно, так Speccy Viewer есть в телефоне, да BNB конвертор на васике.
avatar
Лёш, я сейчас пишу конвертор, есть несколько вопросов.
1. Я подразумеваю, что исходное изображение дано как BMP, PNM (PPM/PGM/PBM), XPM, LBM(IFF ILBM), PCX, GIF, PNG, TGA или TIFF. Поддержать JPG легко, но это создаст проблему в пункте 3, поэтому пока что я подразумеваю, что у нас не JPG. Это то, ради чего мне хочется много DLLлек.
2. Я подразумеваю, что изображение имеет разрешение 256х192. Иначе программа матерится.
3. Я подразумеваю, что в изображении не более 15 различных цветов, иначе программа ругается матом. Т.е. писать bmp2scr я пока что не созрел. Насколько жёсткое это ограничение? Сталкивался ли ты с изображениями, как бы спектрумовскими, но нарушающими это правило?
avatar
Нет, эти все ограничения ок для zx-скрина в формате PNG/etc.

Бывают следующие случаи, когда конвертор будет бессилен:
1) мультиколор
2) экран нарисован в растровом редакторе с ошибками, т.е. ошибочно в некотрых местах не выполняются ограничения
avatar
Первая версия конвертора вроде работает; ждём результаты внутренних тестов.
Пока что я сделал чисто 6912; поддержку мультиколоров планирую добавить позже.
Гигу поддерживать не планирую, т.к. не вижу сейчас вменяемых способ определять палитры в этом случае. Пока что оптимизатор изображений не добавлен, но добавлю, когда пойму как это правильно сделаеть.
avatar
Пользовался пульсаром. до того как в zx-paint не словил глюк в виде дописывания лишних 64 байт в длине картинки. Впервые такое появилось у Тзерры а потом у меня. Пришлось откатиться обратно на стандартную и глюк исчез. С чем он был связан так и не удалось выяснить
avatar
Это не баг, это фича.


ZX-Paintbrush при использовании недефолтной палитры приписывает эту палитру к каждой SCR картинке, я тоже на эти грабли натолкнулся однажды.
avatar
Если вспомнить как тогда с этим боролись (впервые это было замечено на картинке Тзерры «горячая точка»), сколько раз оно заливалось преде чем Дайвер отследил лишние байты (я тогда их и не заметил), то уж лучше как есть чем такие хлопоты XD
avatar

Прикольно )
А сами палитры для ZX-Paintbrush у тебя есть? Конкретно Pulsar, Alone, Orthodox, Electroscale.
avatar
Палитра pulsar (вроде бы) для ZX-Paintbrush
avatar
Спасибо.
Странная палитра — bright не корректно отображает.
avatar
2. Проблема с палитрой такая, что, какую бы палитру не выбрал, всё будет зависеть еще и от дисплея.
То есть, лично у меня использование палитры «alone» не гарантирует, что на всех мониторах будет корректен переход в картинке «alone».
Пример той самой картинки в разных палитрах. Вангую, что у кого-то будет лучше верхняя, у кого-то нижняя.
Pulsar:


Alone:


Так что выбор палитры — дело вкуса и дело случая. Художнику надо быть просто готовым к тому, что при показе/просмотре все увидят какой-то свой вариант, в том числе и на пати на большом экране.
avatar
Именно так и есть. И чтобы не попасть впросак при просмотре на другом мониторе или, ещё того хуже, на произвольном проекторе на демопати, переходы между яркими и неяркими цветами лучше как можно сильнее маскировать неоднородной контрастной текстурой. Я на эти грабли наступал много раз в начале 2000х.
avatar
Отдельные вопросы тянут на отдельную статью — попробую изложить свой взгляд как-нибудь попозже.
avatar
— палитра alone возникла в начале 2000х, в эмуляторе Unreal. Её коэффициенты были подобраны таким образом, чтобы наиболее корректно отображалась картинка «Alone» с её странным переходом от яркого зеленого цвета к неяркому зеленому цвету через 50% (шахматную) текстуру.

так вот почему именно такое название! (а я догадывался… :)
avatar
При подключении реального ZX Spectrum к телевизору раньше в некоторых случаях встречался дефект изображения, когда между некоторыми знакоместами отображались вертикальные серые полоски (кто-то дополнит?).

Этот артефакт был на большинстве отечественных клонов (на скорпионе, пентагоне и профи, на всех или некоторых — не знаю). Этот артефакт проявлялся между двумя знакоместами, если они: 1) были с выключенной яркостью; 2) если одно знакоместо по границе артефакта было пустым, а другое заполненным, или же с контрастными инком и папером, например одно знакоместо пустое с красным папером, а второе заполненное с красным инком.

И до появления screen-optimizer'ов это обычно лечилось включением брайта)
  • sq
  • +2
avatar
Забавно. Не знал про BRIGHT, у меня была версия о смене PAPER или о соседствовании PAPER и INK одного цвета в соседних знакоместах. «Лечилось включением брайта)» — скорее уж тогда колечилось!
avatar
о соседствовании PAPER и INK одного цвета в соседних знакоместах
Вот да, это я и пытался сформулировать, но не смог)
avatar
Al-Rado, вопрос по вопросу «3. Особенностям применения дитеринга.»
Какие такие особенности дизеринга есть на спектруме, которых нет в обычной растровой графике?
avatar
Дизеринг одного инка на одном пейпере — да, как и в современном пиксель-арте.
Но мне кажется такие особенности должны быть и они связаны с ограничениями палитры/знакомест и сочетаемостью цветов.
Думаю их можно найти исследуя лучшие цветные заставки — скажем, определенные сильные решения. Но вот в чем они заключаются я сформулировать не могу — для меня это магия, отсюда и вопрос )
avatar
Тогда дай список магических скринов. Попробуем разобрать из чего она складывается.

Имхо дизеринг тот же, что и в обычном пиксельарте с ограниченной палитрой. Да, применить дизеринг сложнее из-за ограничений на знакоместа. Но это вопрос к борьбе с клэшингом, а не к дизерингу.
avatar
Да собственно, топ цветных работ в стандартном формате графики на ZxArt.ee
Наверно ты прав и все дело в клэшинге. Умелая работа всегда оставляет за собой нечто таинственное.
avatar
пункт 5: Палитра «Pulsar» больше всего напоминает, то что видно на большинстве старых реальных машин (классика и наши отечественные клоны).

пункт 6: Не совсем понятный вопрос…
Самый популярный формат обычного спектрумовского экрана, это *.scr
Грубо говоря 6144bytes из него отведено под пикселы, а оставщиеся 768bytes под атрибуты. 6144+768=6912. Формат не пакованый. То есть ты можешь сохранить абсолютно чистый экран, или же наоборот экран целиком залитый инком (то есть пикселами)и все равно получишь в *.scr эти же самые 6912bytes. В большинстве редакторов и конвертеров, которые работают с *.scr, еще есть возможность сохранить черно-белый экран, без атрибутов — это те самые 6144bytes.
Хочешь меньшего размера файла, это актуально например для игровой графики или же программ/демо, то тогда прийдется дополнительно пользоваться отдельными упаковщиками экранов или же спрайт-редакторами, которые имеют собственные форматы хранения данных. Чем больше пикселов, тем хуже пакуется картинка. Если же просто рисуешь и хочешь, чтобы большинство легко это посмотрело, не парься и пользуйся *.scr как есть.

пункт 10: + ZXGFX для windows — vtrdos.ru/pcutilz/ZXGFX07.ZIP
avatar
Да, точно, стандартный screen$ ведь не пакованный! Сбило столку то, что заставки с меньшим количеством пикселей грузились быстрее. Но это уже специфика аппаратной части.
avatar
Добавлено немного графики. Постоянно редактирую FAQ, жду ещё вопросов.
avatar
Как сохранить скрин содержащий мерцание в анимированный gif?
avatar
Внес 11ым вопросом в FAQ
avatar
Выяснил, что редактор графики встроенный в BASin также умеет сохранять картинку содержащую flash в gif-анимацию.
avatar
Самый простой способ — онлайн конвертор от nyuk по адресу nyuk.retropc.ru/gfx_converter.
Загружаем SCR, выбираем картинку, выбираем output type: GIF, жмем кнопку «Convert & Download ZIP archive».


Этот способ больше подходит для конвертирования серии картинок. Для преобразования одной картинки проще делать так:
1. Загружаем SCR
2. Выбираем формат GIF, остальные параметры по вкусу
3. Кликаем на загруженный файл, смотрим результат в открывшемся окне. Если устраивает — нажимаем Download под картинкой.
avatar
это просто два экрана, которые постоянно меняются. так что любой гиф-аниматор.
avatar
А еще бывает гигаскрин+флэш :)
avatar
Ну это понятно, сначала заскриншотить обе фазы, загрузить в гиф-аниматор, там подрезать, экспортировать как анимацию не забыв выставить время отображения кадров. Но это никому не нужные затраты времени и сил. Как выяснилось есть и более удобные варианты.
avatar
Именно
avatar
И снова про flash )
Есть ли программа, позволяющая из двух экранов содержащих атрибуты «слепить» один экран содержащий оба через применение flash-атрибутов?
avatar
Не встречал такой программы. Можно написать, но в общем случае придется сверять еще и пиксели, не только атрибуты.
avatar
Опишу для чего все это надо.
Делал двукадровую анимацию через применение атрибута флеш и столкнулся с проблемой: раскраска знакомест мерцающими цветами просто выносит мозг.
Когда смотришь на результат все нормально, но редактировать тяжко — ни переместить атрибут отдельного кадра, ни «поставить на паузу» мерцание не выйдет.
Все нужно делать «попиксельно», причем Ink и Paper при совпадении/несовпадении пикселей из первого и второго кадра будет разный.
Так можно и в эпилептический припадок свалиться как от некоторых японских мультиков ))

Опишу как можно реализовать простейший алгоритм рисования двух кадров по отдельности.
Например, каждый рисуется в своем экземпляре ZX-PaintBrush, затем слияние двух атрибутных картинок в одну.
Используются только восемь цветов Paper, в одной яркости, без применения Ink.

Как можно реализовать на zx.
1. загрузить обе картинки в неэкранную область памяти
2. пробежаться по каждому значению с адреса начала атрибутов(куда загрузил + 6144), всего 768 ячеек
3. сравнить Paper первой и второй картинки,
— если отличаются, то записать в экранную область атрибутов:
папер = цвет первой
инк = цвет второй
брайт = яркость первой
выставить атрибут мерцания
— если не отличаются, записать папер и брайт первой картинки
4. выгрузить экран как screen$

P.S. Вот картинка на которой я попробовал сделать простую двукадровую анимацию через флэш. Я вижу в ней косячки, но переделывать не стану ибо мозг дороже ))
avatar
Это всё понятно. Совершенно несложно написать такую процедуру для себя на бейсике. Но она будет налагать жесткие требования на оба кадра: FLASH в результирующей картинке будет включаться только в том случае, если (BRIGHT1=BRIGHT2) AND (INK1=PAPER2) AND (INK2=PAPER1).
Любая ошибка (внезапная инверсия пикселей в знакоместе или включенный BRIGHT или несоответствующий INK на черном PAPER при отсутствии пикселей) приведет к необходимости вручную править исходные кадры.
avatar
Чего-то не вьеду — что мне нужно сделать в BasIn и эмуляторе, чтобы я мог из эмулятора запустить бейсик-скрипт, который загрузит скрин? Понимаю что вопрос нубский )
avatar
Разобрался — нужно всего лишь сохранить свой бейсик-скрипт и картинку в одну папку, а дальше просто:
10 LOAD «MyScreen.scr»SCREEN$
avatar
Написал бейсик-скриптик, который совмещает две атрибутные картинки(без флеш) в одну с использованием атрибута flash.
Также есть возможность вытащить из флэш-анимашки оба кадра.
Архив с примерами тут
TwoScreensToFlash — совмещает две атрибутные картинки в одну с использованием атрибута flash.
FlashToFirstFrame — из картинки содержащей flash сохраняет первый кадр.
FlashToSecondFrame — из картинки содержащей flash сохраняет второй кадр.

Кам он ))
avatar
Шикарно!
avatar
мне определённо нравятся ваши картинки!
avatar
Спасибо!
Только отчего же вы их не оцениваете на zxart.ee? )
avatar
Я сразу оценил, у меня 100% картинок в коллекции оценено, работа обязывает :)
avatar
Касаемо скрин оптимайзеров, есть ли версии для пц? а то как то с эмулятором, не охота работать )
avatar
Функция автооптимизации точно есть в графредакторе, встроенном в BMP2SCR Painter'е. Он делает следующее:



Навскидку, это должно помогать в лечении глюка с вертикальными полосками, но не более того.
avatar
avatar
Brilliance же забыли для амиги!
avatar
Ты на нем рисуешь?! :-o
avatar
Не, просто вспомнил, незаслуженно забытый! Раньше активно им пользовались.
avatar
я брильянс как-то обошёл стороной, негде было взять в те времена. сначала на а600 пробовал deluxe paint, потом уже на a1200 влюбился в personal paint. до сих пор им пользуюсь для любых работ с палитрой до 8 бит.
avatar
скачать можно здесь. версия 7.1 распространяется бесплатно (в самом низу страницы), более свежие версии — за денежку. помнится в фидо даже ловил плагин для работы с SCR-картинками.
avatar
Кстати, не так давно вышел прекрасный новый конвертор графики от sol/hsa: image spectrumizer, наверное превосходящий по своим возможностям модификации исходной картинки все остальные конверторы. Статья о конверторе: sol.gfxile.net/spectrumizer/, обсуждение на pouet.net: www.pouet.net/topic.php?which=10581&page=1
avatar
в ссылке точка лишняя
avatar
К слову об оптимизации изображения. Текущее положение дел таково: www.dropbox.com/s/hv7vah5hh0igjev/zxscr_optimizers_comparison_2015.png?dl=0
1. Оптимизатор в BMP2SCR двухпроходной, в оба прохода результаты никуда не годны.
2. SO4.2 — отлично работает на картинках, нарисованных только одним INK, и сносно на более сложных.
3. SVO1.0 — не очень хорошо работает на некоторых простых картинках, но довольно интересно выглядит на более сложных.

Вывод: потенциально возможно написать почти идеальный оптимизатор, если взять все лучшее от SO4.2 и SVO1.0
avatar
а если обработанное одним через другой прогнать потом? я в бытность помню, что тот же SO4.2 надо было пару раз запускать для достижения полного результата
avatar
SO4.2 очень редко дает другой результат на втором проходе.
Прогонять результаты оптимизаторов один через другой особо смысла нет, на 99% должно быть то же самое.

Вот бы инвертировать некоторые горизонтальные полосы в результатах SVO1.0 и был бы почти идеальный оптимайзер.
avatar
Вот первый бета-релиз конвертора стандартной спектумовской графики:
http://introspec.retroscene.org/util/pxl2scr%20ver.0.1%20beta1.zip
Встречайте и жалуйте. Что он сейчас может?

• Довольно эффективная работа с палитрами; надуть робота, конечно, можно, но вы обычно будете знать, почему он не справился.
• Встроенный оптимизатор примерно сопоставимого качества со старыми спектрумовскими оптимизаторами; чудес пока не делает, просто на уровне.

В будущем надеюсь повысить качество оптимизации и добавить поддержку мультиколора (только его, без гиги!). Когда появится необходимость и найдётся время.

С новым годом, ребята!
avatar
Спасибо, пригодится! Как раз надо добить на ZX-Art недостающие работы с Artcity. Оригиналы искать времени ни у кого не будет (и не надо, имхо), поэтому потестим как следует.
Было бы круто еще бордер детектить и выкидывать по возможности, но это совсем не факт, что легко сделать универсально.
avatar
moroz1999, с любыми глюками и непонятками — дай знать. Буду очень рад любой информации и, конечно, тестовым изображениям.

Я не написал, но там есть ещё одна полезная фича, которую я буду развивать. Сейчас конвертор не просто ругается на ошибках, в случае лишних цветов на знакоместо или конфликтов яркости, он пытается в меру сил проинтерпретировать результат и подсвечивает знакоместа где это не удалось используя flash (в случае лишних цветов он заменяет все более редкие цвета вторым по распространённости цветом). Про конфликт яркости я пока не решил как лучше сделать. Т.е., это делается чтобы стать дежурным инструментом для людей рисующих не на нативных инструментах.
avatar
Мороз, мне кажется, я знаю как можно по крайней мере попробовать добавить автомат. М.б. он не сможет обработать всё что угодно, но даже если он обработает простые случаи, будет, наверное, полезно. Записал себе в ТУДУ.
avatar
Годно! С подсветкой — очень удобно, запустил, посмотрел, продолжаешь рвать волосы оставшиеся на голове за свою невнимательность и безалаберность =)
avatar

если конвертору дать яркий цвет, уровень которого снижен до неяркого (в данном случае яркий синий с уровнем 205), то конвертор в результате разбивает 1 цвет на 2: там где возможно, оставляет цвет неярким, там, где невозможно делает его ярким. А по идее должен бы был везде поднять статус цвета до яркого.
avatar
Эта стратегия выбрана как раз после работы с изображением ER, на которое я просил тебя обратить особое внимание. Проблема такая: всеядность в плане палитр достигнута за счёт того, что цвета сравниваются друг с другом. Т.е. яркость определяется в относительном смысле, а не в абсолютном. Но это работает только в тех случаях, когда цвет дан с 2мя яркостями. Если яркость одна — конвертор определяет яркость в абсолютном плане (что ненадёжно), а при работе со знакоместами — даёт приоритет яркостям в которых он уверен. Понимаешь в чём проблема?

Я пробовал так же сделать 2й проход, для того, чтобы попробовать уточнить настоящую яркость глядя на знакоместа. Но в случае с изображением ER это дало просто кучу конфликтов по яркости.
avatar
Понимаешь, lossy-изображение с потерянной яркостью бесполезно «восстанавливать» стратегией, которую ты использовал для ER. Знакоместа с 1 цветом в этом случае восстанавливаются лишь с 50% вероятностью. Для изображений без потерь цвета, пример которого я привел выше, подобная стратегия приводит к появлению артефактов яркости — новым цветам, которых быть не должно.
avatar
ОК, возражение принято. Сделаю по умолчанию 2х проходную схему и добавлю опцию разрешать конфликты яркости отдельно.
avatar
avatar
Хотелось бы ещё узнать о такой технике, как anti aliasing или сглаживание с пикселями одного цвета. Насколько я понимаю, это довольно редкая техника и в старых заставках игр не использовалась.
avatar
Ты об этом:

То что у нее на спине слева и на руке/ноге с другой стороны?
avatar
Все верно, именно об этом.
avatar
Простой обман глаз, для визуального «смягчения» длинных линий с углами отличными от 90/45 градусов, на которых при небольшом разрешении видна так называемая «лестница». Однако, это не АА, в его привычном понимании. Последний на спектруме вообще не возможен из-за ограничений.
avatar
Нашел еще один очень приличный редактор пиксельной графики для PC: Aseprite

Сетка, палитры, анимация, слои и пр.

avatar
На самом деле очень хороший пиксельный редактор, причем скин особо приятен — он тоже пиксельный )
Триалка не умеет всего лишь сохранять файлы, что не смертельно.
avatar
Да и лицензия там недорого стоит. В стиме по распродаже можно очень приятно удивиться скидкой.

avatar
она доступна в исходниках можно и компильнуть
даже выкоряв Steam
avatar
Хорошая вещь, спасибо за наводку!
avatar
Редактор, в котором хочется рисовать!
Еще бы можно было палитры выносить за пределы основного окна — на второй монитор. Хоть другой моник покупай…
avatar
И еще кроссредактор: Multipaint

Поддержка нативного формата, сито, определяемые кисти, зеркальное рисование и еще некоторые интересные фишечки!

avatar
Не разобрался, как paper включить. Это реально?
avatar
Не подскажете какая палитра самая контрастная? а то на новом мониторе совсем брайт не вижу. Даже у белого с трудом различаю
avatar
Так сделай сам, любой же пиксельный редактор позволяет цвета менять. В эмуляторе тоже можно самостоятельно палитру изменить. Только помни, что на других мониторах твои картинки из-за этого несколько иначе будут выглядеть.
avatar
Спасибо. Собралась палитра из алоновской темной и пульсаровской яркой. Вроде нормально теперь. А картинка будет нормально выглядеть если scr передавать а не png ;-)
avatar
От формата файла индексированная палитра не меняется.
Разница по яркости будет, то что ты видишь у себя и то как это будет выглядеть на других мониторах.

Выше в комментариях есть картинка дайвера «alone» в двух разных палитрах. По ней как раз это и видно.
avatar
все понял. Благодарю. Но все одно, это лучше чем вечные косяки с яркостью то тут то там
avatar
Рисовать в любой палитре, а потом воспользоваться любой программой из пункта (9).
avatar
Да есть такие штуки в виндах как цветороррекция, цветокалибровка… чтоб на разных мониторах одинаково выглядело.
avatar
Может просто выбрать другой режим картинки на мониторе. Или не помогло?
avatar
Проверь настройки контрастности или режимы работы монитора (игровой/кино/и т.п.). Разница между bright теряется при задранной контрастности.
avatar
пробовал все режимы и на ручной выкручивал контрастность в обе стороны до упора глядя на скрин. не помогало. Палитра новая решали проблему. Спасибо
avatar
Вопрос по оптимизации конверсии

Оригинал картинки:


после применения описанного алгоритма:


может, кто-нибудь знает, как оптимизировать лучше?
avatar
Заюзать конвертор Олега Оригина, он позволяет выбрать папер и в случае этой картинки должен дать ожидаемый результат.
avatar
Кому превьюшки?

Здесь. Возможно, не новость, давно искал сайт.

Зацените RetroEditor
avatar
Прикольно. Надо будет заняться на досуге и переструкторировать FAQ из потока сознания в понятную структуру с оглавлением.
avatar
Ой! забыл еще один момент. Существует утилита, которая из картинки делает .GIF с двумя кадрами, т.е. мерцанием атрибута Flash:
SCR2GIF

На основе исходников я делал свою утилитку:zx2gif.Разобраться с ней не сложно.
avatar
в) Растровые редакторы под различные платформы:
— Graphics Gale (Free, Win)
А программа freeware? что-то мне часто попадается комплект с кейгеном.
avatar
Есть платная версия, но ее отличие только в поддержке *.gif, *.ico и *.ani форматов, остальное все тоже самое
avatar
В ней, кстати, кисти есть как в zxgfx. И да, за мной мини-статья, хотя там всё довольно банально.
avatar
Pixel Polizei:
www.pouet.net/prod.php?which=67398

афтары как всегда немногословны.
avatar
Java нужна, функционал бедный, но результат можно хоть текстом для ASM выгрузить хоть на кассету.
avatar
это каменный век.
avatar
Наглядное пособие всем желающим научиться рисовать максимально быстро.

avatar
Разрази меня гром!

Много раз пробовал, но получается что-то такое:


ну или такое:
avatar
По мне, так супер!!! На первом рисунке волна прямо выплескивает с плоскости картины, я даже сначала подумал, что бумажка приклеена полукругом, а вода перетекающая в небо, огонёк маяка, такое настроение классное.. Ты это с натуры писал? Восторг!!!
А на второй корова!!!!!!! Вроде заборчик простой, домашний, а корова, когда её боишься в детстве, она ж именно такая!!!!!! И ракурс из детских глаз именно такой! Так она ж еще и кричит и копытом бьет (звук слева) — шедевральность работ зашкаливает, ну на мой обывательский вкус!!! СПАСИБО!!!!!!!!!!!!!!!!!!!!! :-)
avatar
Конечно с натуры!
Приезжай в Пермь, там и природа такая, и коровы!
И ВСЁ ТАКОЕ ЯРКОЕ!
avatar

и дамы знойные(: эта мамзель запросила больше фоток… Только не спрашивайте где.
avatar
Ну, я имел в виду, конечно, не цвета, а линию берега и общую компоновку картины, но всё равно спасибо, постараюсь побывать
avatar
из больной головы все, иногда получается, хоть и очень примитивно.
avatar
Не прибедняйся, получается афигенно классно!!! Конечно, иной критик и найдет, как можно всё улучшить, если его самомнение, приставить к твоему мастерству, но факт остается фактом — то что ты делаешь восхитительно прекрасно и замечательно!!! Такие работы на любом пати будут среди сильнейших, а в спектрумовских компо и подавно зашкалят!!! Именно о таких работах я и мечтал, споря о (замазано цензурой), глядя на филигранно выполненные другие твои работы!!! Спасибо!!! СУПЕР!!!!!!!!!!!!!!! :-)
avatar
Любопытный результат. Это акварель? Фломастеры-маркеры?
avatar
акварель не акварельная
avatar
а что первично? или ты уже и на бумаге рисуешь с учетом будущих знакомест?)
avatar
«nice day» от и до на реальном спектруме был сделан, в те годы мой «Profi» еще хоть как-то работал, но с тех пор у меня и реала никакого нет… «great wave» нечто переходное, как и например «wood»:



То есть контурный ч/б рисунок, иногда достаточно подробный (если это копия в которой сразу видно где что будет), который был в обычном пиксельном редакторе сделан и затем раскрашивался в «BGE».

Ну и, как вариант, можно рисовать все в обычном пиксельном редакторе цветом, не забывая про атрибуты:



Причем удобно, если пиксельный редактор поддерживает слои, которые можно независимо попиксельно двигать, подгоняя части. В любом случае о атрибутной сетке нужно думать и желательно на ранних этапах, во избежании дальнейшего геморроя и головной боли.

Последовательность действий, лично для меня, такая: ч/б контур или же рисунок цветом, затем подгонка его «самых важных» частей под атрибуты (конвертер за вас это не сделает, откуда ему знать что вы хотите) и окочательная пиксельная доводка в BGE.

Естественно, что это не единственно правильная последовательность действий. Можно забить на атрибутную сетку, нарисовав все изначально цветом как есть, сконвертить и доводить полученное (сглаживание контуров, борьба с клешингом, добавление мелких деталей etc). Способ довольно экстремальный, поскольку изначальной привязки под атрибуты нет и приходится на ходу все как-то утрясать, переделывать и прятать. Но и он имеет место быть, главное изначально очень мелких деталей, в рисунок, не вводить.

P.S. Насчет бумаги. Это очень хорошее подспорье, с точки зрения набросков, которым я сам к сожалению очень часто не пользуюсь. Достаточно простейших, не детализированных набросков, хотя бы для того чтобы утрясти общюю композицию (которая у меня хромает на все имеющееся ноги). Ну например могу я нарисовать персонажа из головы, А дальше тупик… Нужно ведь ему какое-то действие придать, окружение, детали. Как это дальше все развивать понятия не имею. И очень надеюсь, что художник присутствующий среди нас,
сможет что-то посоветовать. Мы же ведь хотим как лучше, а как правильно не знаем :(
avatar
до боли знакомая бида.
напишешь минуту-полторы, уже ну всё развил что только мог, а куда дальше переходить, что-бы толково — ступор.
чем лечится я пока хз.
спец. образованием, наверное.
или больной фантазией)
avatar
Удваиваю насчет бумаги, это самый простой вариант. Каждый рисовал по крайней мере в детстве и все мы умеем рисовать как минимум примитивные схемы на бумаге. Этого уже достаточно для того чтобы придумать первоначальную композицию. Рисовательные скиллы на этом этапе влияют только на то, насколько художественно будет выглядеть набросок.
avatar
Набросок и не обязан высокохудожественно выглядеть. Если с натуры рисуется, то это масимум 15минут. Главная задача набросков, это быстро схватывать самые существенные вещи и развивать глазомер. Но для этого надо делать наброски регулярно и много.
avatar
Я про наброски из головы.
avatar
Если рисуешь с натуры, то основу композиции ты уже выбрал — найдя точку, в которой ты находишься и рисуешь или разместив определенным образом объекты рисования или модель.
avatar
такие штуки все же лучше кроющей краской делать, сила акварели в полупрозрачности.

вот например гуашь:

ну и до кучи, все таки тут про спектрум речь, цветные карандаши:

Это рисовалось в момент создания «кpacku deluxe». Была мысль оформить конверт 5' дискеты и раздавать их на CC'2015, но не срослось. Один из набросков, аля концепт-арт.
avatar
клёво!
avatar
Господа, у кого-нибудь работает эта тулза?
www.retrotechy.co.uk/SpeccyBitViewer.html
avatar
У меня вполне себе заработала, спасибо!
avatar
FAQ переструктурирован в 3 раздела, добавлено краткое описание основных программных видеорежимов.
avatar
Спасибо, стало лучше!
avatar
Знатоки, подскажите, как быть с этим фрагментом? спасибо
avatar
Если речь о красных торчащих углах, то я бы пожертвовал магентой в клэшащих знакоместах и убрал бы синий папер, вместо него сделал бы черный.
avatar
Ну или оставлять прослойку чистого синего цвета и выравнивать черную текстуру чтобы ее край был внешне похож на край красного цвета. А вообще, нужно смотреть, как картинка в целом смотрится.
avatar

примерно вот: углов убирать еще много.
avatar
Под нижней губой всегда есть очень активная тень, думаю и здесь черный цвет в виде тени будет в самый раз. Не бойся экспериментировать, иногда приходится что-то от себя добавлять, чтобы клешинг спрятать.
avatar
а с лучом внизу и слева желтый цвет тоже выровнять? а то ступеньки получились…
avatar
Конечно.
Точее я так бы и сделал, но картинка твоя, так что в итоге только тебе это решать.
avatar
лучи конечно выравнивай. они на то и лучи, у них форма — прямая.
avatar
Может, кто знает, как в ZX Paintbrush поменять preview со 175 % до 100%?
avatar
Эм… А что клавиши "+" и "-" на нумпаде не помогают? Кликнув предварительно на окошке превью.
avatar
спасибо, заработало. Наверное, потерялся в справочной системе.
avatar
Border (BXX)
Примерно то же самое, что и мультиколор, но для области вокруг экрана – бордюра. Программно задавая цвет бордюра на стандартном ZX Spectrum можно использовать цветные полоски минимального размера 24x1 пиксель для рисования в области бордюра. Более подробно это будет освещено в отдельной статье.
ждём-с.
до кучи реквестирую редактор для бордюра. и конкурс на ближайшем демопати :)
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.