А не написать ли нам свой собственный графический редактор?

Публичный форум для http://www.nedopc.org/nedopc

Moderator: Shaos

Как бы такой редактор мог называться?

photoshaos
0
No votes
nedopixels
7
35%
nedopx
5
25%
hmyra
1
5%
ikzin
1
5%
ixyba
0
No votes
kyosq
2
10%
wmazo
0
No votes
xirip
0
No votes
yojog
0
No votes
никак - всё равно нифига не сделаешь...
4
20%
 
Total votes: 20
User avatar
Shaos
Admin
Posts: 23887
Joined: 09 Jan 2003 06:22
Location: Silicon Valley
Contact:

Re: А не написать ли нам свой собственный графический редакт

Post by Shaos »

Что-то плохо народ голосует за названия - голосуем кто ещё не голосовал!
Можно до 3 вариантов выбирать и можно перевыбирать... :rotate:
Я тут за главного - если что шлите мыло на me собака shaos точка net
User avatar
Xom
Fanat
Posts: 68
Joined: 25 Sep 2021 06:31

Re: А не написать ли нам свой собственный графический редакт

Post by Xom »

Shaos wrote:голосуем кто ещё не голосовал!
Я за NedoPixels.
Last edited by Xom on 05 Nov 2023 19:28, edited 2 times in total.
User avatar
Shaos
Admin
Posts: 23887
Joined: 09 Jan 2003 06:22
Location: Silicon Valley
Contact:

Re: А не написать ли нам свой собственный графический редакт

Post by Shaos »

Xom wrote:
Shaos wrote:Что-то плохо народ голосует за названия - голосуем кто ещё не голосовал!
Можно до 3 вариантов выбирать и можно перевыбирать... :rotate:
Я за NedoPixels!
Ну надо бы побольше голосов, а то вон уже nedopx его почти догнал :roll:
Я тут за главного - если что шлите мыло на me собака shaos точка net
User avatar
shiny
Maniac
Posts: 324
Joined: 14 Oct 2023 13:59

Re: А не написать ли нам свой собственный графический редакт

Post by shiny »

Как лодку назовешь, так она и поплывет.
User avatar
Shaos
Admin
Posts: 23887
Joined: 09 Jan 2003 06:22
Location: Silicon Valley
Contact:

Re: А не написать ли нам свой собственный графический редакт

Post by Shaos »

shiny wrote:Как лодку назовешь, так она и поплывет.
Безусловно :idea:

Ещё момент - т.к. я планирую использовать wxWidgets, то получается это заведомо будет C++ и никаких голимых сей :no:
И причём C++ современный - C++14 или даже C++17 (у меня в дебияне стоит g++ 8.3.0 и оно уже даже кое-что из C++20 умеет).

Чтобы двигаться быстрее мне будет нужна "помощь зала" и чтобы эта помощь была активнее надо выбрать правильную лицензию - если идти под зонтик nedoPC, то я там исторически GPLv3 использовал, а если надо что-то не такое строгое, то можно выбрать из нижеследующего:
  • MIT License - я под ней свои личные проекты обычно делаю :)
  • 3-Clause BSD License - это для нелюбителей "несвободы" GPL ;)
  • Public Domain (aka "Unlicense") - это экстрим, означающий что кто угодно может это взять, обозвать своим и вперёд...
P.S. Я сам склоняюсь к GPLv3
Я тут за главного - если что шлите мыло на me собака shaos точка net
User avatar
Shaos
Admin
Posts: 23887
Joined: 09 Jan 2003 06:22
Location: Silicon Valley
Contact:

Re: А не написать ли нам свой собственный графический редакт

Post by Shaos »

Shaos wrote:Более точная формула будет такая:

INDEX=INT((R+25.5)/51)+INT((G+21.25)/42.5)*6+INT((B+25.5)/51)*42

Цветовые составляющие R, G и B сдвигаются влево на половину цветовой полосы, чтобы яркий вариант (255) покрывал столько же, сколько и самый тёмный (0), что в 2 раза меньше всех остальных диапазонов (т.е. оно выглядит примерно так 000111111222222333333444444555). А вообще чтобы оставаться полностью в целых числах можно вот так вот сделать:

INDEX=INT((R+25)/51)+INT((2*G+43)/85)*6+INT((B+25)/51)*42
Ещё один вариант урезанной равномерной палитры - Uniform566 (5 уровней красного и по 6 уровней зелёного и синего), которая даёт 180 цветов:

PastaGirl-Uniform566.png
PastaGirl-Uniform566.png (121.53 KiB) Viewed 16208 times

Её плюс в том, что её можно совместить с 64 уровнями серого и 16 цветами EGA (правда часть из которых придётся найти в самой универсальной палитре - типа вместо этого будет это, а вместо этого - это), создав составную универсальную палитру для 256-цветного режима DOS для использования в программах обработки цветных и чёрно-белых изображений с GUI по типу вот такой:

viewtopic.php?f=46&t=22166

Да, пожалуй добавлю её как вариант в свой GRAPHIN :mrgreen:
Я тут за главного - если что шлите мыло на me собака shaos точка net
User avatar
Shaos
Admin
Posts: 23887
Joined: 09 Jan 2003 06:22
Location: Silicon Valley
Contact:

Re: А не написать ли нам свой собственный графический редакт

Post by Shaos »

Shaos wrote:Ещё один вариант урезанной равномерной палитры - Uniform566 (5 уровней красного и по 6 уровней зелёного и синего), которая даёт 180 цветов... Её плюс в том, что её можно совместить с 64 уровнями серого и 16 цветами EGA (правда часть из которых придётся найти в самой универсальной палитре - типа вместо этого будет это, а вместо этого - это), создав составную универсальную палитру для 256-цветного режима DOS для использования в программах обработки цветных и чёрно-белых изображений с GUI по типу вот такой:

viewtopic.php?f=46&t=22166

Да, пожалуй добавлю её как вариант в свой GRAPHIN :mrgreen:
Добавил на пробу - вот чего получается (цветная картинка увеличена в 3 раза, чтобы было больше места для дизеринга, а 3 маленькие картинки слева это цветовые каналы - красный, зелёный и синий):

rgb_view_002.png
rgb_view_002.png (24.96 KiB) Viewed 16005 times

Дизеринг "ручной" с постепенным гашением накапливаемой ошибки (иначе все цвета разъезжаются).

А вот вариант по старому, когда отдельные цветовые каналы рисуются в отдельных пикселах через изначальную палитру GRAPHIN, в которой четыре части: 64 градации красного, 64 градации зелёного, 64 градации синего и 64 градации серого:

rgb_view_001.png
rgb_view_001.png (26.67 KiB) Viewed 16014 times

Да, темновато, но зато без дизеринга :roll:

Это вот эта картинка (TIFFANY), только уменьшенная до 64х64:

tiffany.png
tiffany.png (443.34 KiB) Viewed 16007 times

P.S. Кстати TIFFANY также как и LENA в настоящее время не считается пригодной для исследователей...

P.P.S. С самодельным дизерингом я игрался ещё осенью 1996 года, учась в аспирантуре (задача была показывать полноцветные RGB-фотки на 256-цветном SVGA мониторе) - вот вариант с разделением цветов на пикселы (как в тёмном примере выше):

rlv_g1___000.png
rlv_g1___000.png (133.42 KiB) Viewed 16013 times

Вот с накапливаением ошибки (самодельный дизеринг) - тоже осень 1996:

rlv_g2___000.png
rlv_g2___000.png (113.24 KiB) Viewed 16013 times

А летом 1997 я создал вот такой ещё более лучший вариант :)

rlv_g3___000.png
rlv_g3___000.png (116.25 KiB) Viewed 16013 times

К сожалению исходники всех этих экспериментов находятся в зашифрованном RAR-архиве, пароль к которому я давно забыл :oops:

rar_000.png
rar_000.png (8.6 KiB) Viewed 16011 times

Есть только EXE-шники и экспериментальные файлы картинок (я игрался с 24-битными BMP-файлами и собственным файловым форматом представления полноцветных изображений RLV который расшифровывался примерно как ReaL-View) и теперь могу запускать их в DOSBox, снимать скриншоты и подглядывать за палитрами - вот палитра из версии от осени 1996:

Screenshot from 2023-11-18 19-41-00.png
Screenshot from 2023-11-18 19-41-00.png (56.12 KiB) Viewed 16013 times

А вот палитра из версии от лета 1997:

Screenshot from 2023-11-18 19-41-19.png
Screenshot from 2023-11-18 19-41-19.png (55.81 KiB) Viewed 16013 times

Как можно видеть, осенью 1996 я игрался с равномерной палитрой 6x6x6=216 (не зная тогда, что это есть так называемая Web Safe Palette) с несколькими накиданными до кучи цветами (216 и далее до 255), а летом 1997 перешёл на более полную палитру 8x8x4=256, которая хоть и имела недостаток уровней в синем цвете, но позволяла рисовать более качественные картинки с дизерингом из-за более полного покрытия (и никаких подробностей написания этих программ я уже не помню совсем, помню лишь что я их писал, причёсывая алгоритм дизеринга, и помню как крутил эти несколько картинок так и эдак)...

P.P.P.S. Оцените иронию - 27 лет назад я игрался с фоткой моста Золотые Ворота через залив Сан-Франциско, живя в Екатеринбурге (Россия), а теперь сам тут живу, сам по нему езжу фоткаю и затем экспериментирую с нафотканным :lol:

Image
Я тут за главного - если что шлите мыло на me собака shaos точка net
User avatar
Shaos
Admin
Posts: 23887
Joined: 09 Jan 2003 06:22
Location: Silicon Valley
Contact:

Re: А не написать ли нам свой собственный графический редакт

Post by Shaos »

Shaos wrote:
Shaos wrote:Ещё один вариант урезанной равномерной палитры - Uniform566 (5 уровней красного и по 6 уровней зелёного и синего), которая даёт 180 цветов... Её плюс в том, что её можно совместить с 64 уровнями серого и 16 цветами EGA (правда часть из которых придётся найти в самой универсальной палитре - типа вместо этого будет это, а вместо этого - это), создав составную универсальную палитру для 256-цветного режима DOS для использования в программах обработки цветных и чёрно-белых изображений с GUI по типу вот такой:

viewtopic.php?f=46&t=22166

Да, пожалуй добавлю её как вариант в свой GRAPHIN :mrgreen:
Добавил на пробу - вот чего получается (цветная картинка увеличена в 3 раза, чтобы было больше места для дизеринга, а 3 маленькие картинки слева это цветовые каналы - красный, зелёный и синий):

Image

Дизеринг "ручной" с постепенным гашением накапливаемой ошибки (иначе все цвета разъезжаются).
Ещё один пример 64x64:

rgb_view_003.png
rgb_view_003.png (30.11 KiB) Viewed 16005 times

Картинка позаимствована из набора тестовых фоток для исследователей (взят кусочек и уменьшен до 64х64):

Female-4.1.04.png
Female-4.1.04.png (114.37 KiB) Viewed 16005 times

https://sipi.usc.edu/database/database.php?volume=misc&image=4#top
Я тут за главного - если что шлите мыло на me собака shaos точка net
User avatar
shiny
Maniac
Posts: 324
Joined: 14 Oct 2023 13:59

Re: А не написать ли нам свой собственный графический редакт

Post by shiny »

Shaos wrote:К сожалению исходники всех этих экспериментов находятся в зашифрованном RAR-архиве, пароль к которому я давно забыл :oops:
nedopassword ?
User avatar
Shaos
Admin
Posts: 23887
Joined: 09 Jan 2003 06:22
Location: Silicon Valley
Contact:

Re: А не написать ли нам свой собственный графический редакт

Post by Shaos »

shiny wrote:
Shaos wrote:К сожалению исходники всех этих экспериментов находятся в зашифрованном RAR-архиве, пароль к которому я давно забыл :oops:
nedopassword ?
Я выдумал движение NedoPC в январе 2002 года, а запароленные архивы где-то 1997-1999 годов, так что там не может быть никакого nedo...
Я тут за главного - если что шлите мыло на me собака shaos точка net
User avatar
Shaos
Admin
Posts: 23887
Joined: 09 Jan 2003 06:22
Location: Silicon Valley
Contact:

Re: А не написать ли нам свой собственный графический редакт

Post by Shaos »

Shaos wrote:Вобщем минимальный набор фич наверное должен быть такой:
- работа только с одним изображением;
- поддержка трёх общеупотребимых форматов: JPG, GIF, PNG (а также дружественных C-программистам форматов XBM и XPM);
- возможность подкрутить яркость и контрастность;
- возможность переключения из RGB в Grayscale, Indexed или Monochrome;
- возможность вырезать прямоугольник из картинки и сделать из него новую картинку (с закрытием предыдущей);
- возможность менять размер изображения и соотношение сторон (с поддержкой неквадратных пикселов);
- возможность повернуть изображение на 90, 180 и 270 градусов, а также отразить его по горизонтали или по вертикали;
- наложение произвольных фильтров (включая размазывание и подчёркивание краёв);
- сохранение в SCR (для Спектрума) и GFF (для Спринтера).

Далее можно поддержать мультиколор (TS2068, ATM Turbo2+, Специалист, Орион), гигаскрин (Спектрум) и Xorya (с показыванием реальной NTSC картинки)...
Разработку редактора можно начать с конца списка хотелок, а именно с рисовалки картинок для XORLib/Xorya - для этого надо иметь 3 квадратных окошка в ряд, внутри которых будет:
  1. 60x24 чёрно-белых пикселов (44x24 если надо видеть пропорции широкого экрана 16:9)
  2. 15x24 цветных пикселов в прямом преобразовании из 4 чёрно-белых в 1 цветной пиксел (11x24 для 16:9)
  3. ну и наконец цветная картинка восстановленная через мой алгоритм с цифровыми фильтрами имитирующий декодер цвета NTSC
Под этими тремя квадратами будет палитра из 16 цветов и переключалка палитр, задающая один из 4 сдвигов фазы - 0, 90, 180 или 270 градусов (которые будут соответствовать композитным палитрам Xorya, CGA, Tandy и PCjr), а также выбиралка пропорций экрана - 4:3 или 16:9. Мышою можно будет тыкать в чёрно-белую картинку (при этом левый клик будет ставить белую точку, а правый - чёрную) либо в среднюю цветную, где будет ставиться цвет предварительно выбранный в палитре (тоже кликом). Любое изменение в первом или втором окне будет перерисовывать симуляцию NTSC в третьем окне, чтобы можно было мгновенно видеть результат. Ну и возможно эти окна будут показывать кусочек большой картинки 640x200 (160x200 в цвете), висящей где-то сверху - вобщем как-то так...
Я тут за главного - если что шлите мыло на me собака shaos точка net
User avatar
Shaos
Admin
Posts: 23887
Joined: 09 Jan 2003 06:22
Location: Silicon Valley
Contact:

Re: А не написать ли нам свой собственный графический редакт

Post by Shaos »

А потом может и Хаос Шаоса сюда добавить? :lol:
Я тут за главного - если что шлите мыло на me собака shaos точка net
User avatar
Shaos
Admin
Posts: 23887
Joined: 09 Jan 2003 06:22
Location: Silicon Valley
Contact:

Re: А не написать ли нам свой собственный графический редактор?

Post by Shaos »

Shaos wrote: 28 Oct 2023 02:52
Xom wrote:
Shaos wrote:Что-то плохо народ голосует за названия - голосуем кто ещё не голосовал!
Можно до 3 вариантов выбирать и можно перевыбирать... :rotate:
Я за NedoPixels!
Ну надо бы побольше голосов, а то вон уже nedopx его почти догнал :roll:
Ой - nedopx таки сравнялся с nedopixels - срочно голосуем, кто ещё не проголосовал! :roll:
Я тут за главного - если что шлите мыло на me собака shaos точка net
b2m
Devil
Posts: 905
Joined: 26 May 2003 13:57
Contact:

Re: А не написать ли нам свой собственный графический редактор?

Post by b2m »

Shaos wrote: 17 Feb 2025 07:58Ой - nedopx таки сравнялся с nedopixels
nedopix - чтобы и тем, и другим угодить :)
Страничка эмулятора наших компьютеров
http://bashkiria-2m.narod.ru/
zooleek
Fanat
Posts: 50
Joined: 31 May 2007 15:23
Location: Украина

Re: А не написать ли нам свой собственный графический редактор?

Post by zooleek »

Yet Another GNU Graphic Editor - yagge :)
Post Reply