nedoPC.org

Electronics hobbyists community established in 2002
Atom Feed | View unanswered posts | View active topics It is currently 26 Apr 2024 23:15



Reply to topic  [ 42 posts ]  Go to page Previous  1, 2, 3
А не написать ли нам свой собственный графический редактор? 

Как бы такой редактор мог называться?
photoshaos 0%  0%  [ 0 ]
nedopixels 29%  29%  [ 5 ]
nedopx 29%  29%  [ 5 ]
hmyra 0%  0%  [ 0 ]
ikzin 6%  6%  [ 1 ]
ixyba 0%  0%  [ 0 ]
kyosq 12%  12%  [ 2 ]
wmazo 0%  0%  [ 0 ]
xirip 0%  0%  [ 0 ]
yojog 6%  6%  [ 1 ]
никак - всё равно нифига не сделаешь... 18%  18%  [ 3 ]
Total votes : 17

А не написать ли нам свой собственный графический редактор? 
Author Message
Online
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22592
Location: Silicon Valley
Reply with quote
Что-то плохо народ голосует за названия - голосуем кто ещё не голосовал!
Можно до 3 вариантов выбирать и можно перевыбирать... :rotate:

_________________
:dj: https://mastodon.social/@Shaos


27 Oct 2023 09:58
Profile WWW
Fanat
User avatar

Joined: 24 Sep 2021 23:31
Posts: 76
Reply with quote
Shaos wrote:
голосуем кто ещё не голосовал!

Я за NedoPixels.


Last edited by Xom on 05 Nov 2023 12:28, edited 2 times in total.



27 Oct 2023 11:37
Profile
Online
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22592
Location: Silicon Valley
Reply with quote
Xom wrote:
Shaos wrote:
Что-то плохо народ голосует за названия - голосуем кто ещё не голосовал!
Можно до 3 вариантов выбирать и можно перевыбирать... :rotate:

Я за NedoPixels!

Ну надо бы побольше голосов, а то вон уже nedopx его почти догнал :roll:

_________________
:dj: https://mastodon.social/@Shaos


27 Oct 2023 19:52
Profile WWW
Senior
User avatar

Joined: 14 Oct 2023 06:59
Posts: 139
Reply with quote
Как лодку назовешь, так она и поплывет.

_________________
uselessretro.blogspot.com


27 Oct 2023 23:02
Profile
Online
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22592
Location: Silicon Valley
Reply with quote
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

_________________
:dj: https://mastodon.social/@Shaos


27 Oct 2023 23:29
Profile WWW
Online
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22592
Location: Silicon Valley
Reply with quote
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 цветов:

Attachment:
PastaGirl-Uniform566.png
PastaGirl-Uniform566.png [ 121.53 KiB | Viewed 14349 times ]

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

http://www.nedopc.org/forum/viewtopic.php?f=46&t=22166

Да, пожалуй добавлю её как вариант в свой GRAPHIN :mrgreen:

_________________
:dj: https://mastodon.social/@Shaos


04 Nov 2023 19:33
Profile WWW
Online
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22592
Location: Silicon Valley
Reply with quote
Shaos wrote:
Ещё один вариант урезанной равномерной палитры - Uniform566 (5 уровней красного и по 6 уровней зелёного и синего), которая даёт 180 цветов... Её плюс в том, что её можно совместить с 64 уровнями серого и 16 цветами EGA (правда часть из которых придётся найти в самой универсальной палитре - типа вместо этого будет это, а вместо этого - это), создав составную универсальную палитру для 256-цветного режима DOS для использования в программах обработки цветных и чёрно-белых изображений с GUI по типу вот такой:

http://www.nedopc.org/forum/viewtopic.php?f=46&t=22166

Да, пожалуй добавлю её как вариант в свой GRAPHIN :mrgreen:

Добавил на пробу - вот чего получается (цветная картинка увеличена в 3 раза, чтобы было больше места для дизеринга, а 3 маленькие картинки слева это цветовые каналы - красный, зелёный и синий):
Attachment:
rgb_view_002.png
rgb_view_002.png [ 24.96 KiB | Viewed 14146 times ]
Дизеринг "ручной" с постепенным гашением накапливаемой ошибки (иначе все цвета разъезжаются).

А вот вариант по старому, когда отдельные цветовые каналы рисуются в отдельных пикселах через изначальную палитру GRAPHIN, в которой четыре части: 64 градации красного, 64 градации зелёного, 64 градации синего и 64 градации серого:
Attachment:
rgb_view_001.png
rgb_view_001.png [ 26.67 KiB | Viewed 14155 times ]
Да, темновато, но зато без дизеринга :roll:

Это вот эта картинка (TIFFANY), только уменьшенная до 64х64:
Attachment:
tiffany.png
tiffany.png [ 443.34 KiB | Viewed 14148 times ]

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

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

Attachment:
rlv_g1___000.png
rlv_g1___000.png [ 133.42 KiB | Viewed 14154 times ]

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

Attachment:
rlv_g2___000.png
rlv_g2___000.png [ 113.24 KiB | Viewed 14154 times ]

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

Attachment:
rlv_g3___000.png
rlv_g3___000.png [ 116.25 KiB | Viewed 14154 times ]

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

Attachment:
rar_000.png
rar_000.png [ 8.6 KiB | Viewed 14152 times ]

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

Attachment:
Screenshot from 2023-11-18 19-41-00.png
Screenshot from 2023-11-18 19-41-00.png [ 56.12 KiB | Viewed 14154 times ]

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

Attachment:
Screenshot from 2023-11-18 19-41-19.png
Screenshot from 2023-11-18 19-41-19.png [ 55.81 KiB | Viewed 14154 times ]

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

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

Image

_________________
:dj: https://mastodon.social/@Shaos


18 Nov 2023 19:26
Profile WWW
Online
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22592
Location: Silicon Valley
Reply with quote
Shaos wrote:
Shaos wrote:
Ещё один вариант урезанной равномерной палитры - Uniform566 (5 уровней красного и по 6 уровней зелёного и синего), которая даёт 180 цветов... Её плюс в том, что её можно совместить с 64 уровнями серого и 16 цветами EGA (правда часть из которых придётся найти в самой универсальной палитре - типа вместо этого будет это, а вместо этого - это), создав составную универсальную палитру для 256-цветного режима DOS для использования в программах обработки цветных и чёрно-белых изображений с GUI по типу вот такой:

http://www.nedopc.org/forum/viewtopic.php?f=46&t=22166

Да, пожалуй добавлю её как вариант в свой GRAPHIN :mrgreen:

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

Image

Дизеринг "ручной" с постепенным гашением накапливаемой ошибки (иначе все цвета разъезжаются).
Ещё один пример 64x64:
Attachment:
rgb_view_003.png
rgb_view_003.png [ 30.11 KiB | Viewed 14146 times ]
Картинка позаимствована из набора тестовых фоток для исследователей (взят кусочек и уменьшен до 64х64):
Attachment:
Female-4.1.04.png
Female-4.1.04.png [ 114.37 KiB | Viewed 14146 times ]
https://sipi.usc.edu/database/database.php?volume=misc&image=4#top

_________________
:dj: https://mastodon.social/@Shaos


19 Nov 2023 00:20
Profile WWW
Senior
User avatar

Joined: 14 Oct 2023 06:59
Posts: 139
Reply with quote
Shaos wrote:
К сожалению исходники всех этих экспериментов находятся в зашифрованном RAR-архиве, пароль к которому я давно забыл :oops:

nedopassword ?

_________________
uselessretro.blogspot.com


11 Dec 2023 22:15
Profile
Online
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22592
Location: Silicon Valley
Reply with quote
shiny wrote:
Shaos wrote:
К сожалению исходники всех этих экспериментов находятся в зашифрованном RAR-архиве, пароль к которому я давно забыл :oops:

nedopassword ?

Я выдумал движение NedoPC в январе 2002 года, а запароленные архивы где-то 1997-1999 годов, так что там не может быть никакого nedo...

_________________
:dj: https://mastodon.social/@Shaos


11 Dec 2023 23:37
Profile WWW
Online
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22592
Location: Silicon Valley
Reply with quote
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 в цвете), висящей где-то сверху - вобщем как-то так...

_________________
:dj: https://mastodon.social/@Shaos


15 Dec 2023 00:56
Profile WWW
Online
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22592
Location: Silicon Valley
Reply with quote
А потом может и Хаос Шаоса сюда добавить? :lol:

_________________
:dj: https://mastodon.social/@Shaos


06 Jan 2024 01:49
Profile WWW
Display posts from previous:  Sort by  
Reply to topic   [ 42 posts ]  Go to page Previous  1, 2, 3

Who is online

Users browsing this forum: No registered users and 104 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Group
Designed by ST Software.