Board.KolibriOS.org http://board.kolibrios.org/ |
|
Теория разработки графического редактора (иконок) http://board.kolibrios.org/viewtopic.php?f=39&t=3607 |
Page 1 of 2 |
Author: | Leency [ Sun Oct 08, 2017 11:55 am ] |
Post subject: | Теория разработки графического редактора (иконок) |
Я уже давно очень хочу две вещи (на самом деле пять). Те, которые я теоретически смогу реализовать это текстовый редактор и редактор иконок (а которые не смогу это unarchiver, wifi и С-- в Колибри). Эта тема посвящена теории разработки графического редактора, для начала иконок. Дабы не велосипедить, я вначале хочу обсудить как правильно его реализовать. Интересует ваше мнение или линка по каждому пункту. Пока что единственный вопрос. 1. Как програмно вывести палитру Как тут http://prntscr.com/gup4ne |
Author: | GerdtR [ Sun Oct 08, 2017 9:25 pm ] |
Post subject: | Re: Теория разработки графического редактора (иконок) |
Блин, похвален твой запал в разработке) 1. Вообще я бы выделил буфер в памяти под картинку, прогнал бы по массиву с формулой, вычисляющей цвет точки. Если в стиле того, как у тебя на картинке, то смотри https://ru.wikipedia.org/wiki/HSV_(цветовая_модель) Особенно преобразование из HSV в RGB. Может и готовые есть алгоритмы. Аргументами будут X,Y в матрице и значение бегунка на цветастой ленте. Ну потом, при клике по матрице просто координату клика и значение бегунка через формулу - и цвет rgb готов. Хм... я оставлял заглушку в icon, на случай добавления возможности выбора сторонней иконки, не из стандартного набора. Там в ini просто путь до иконки писать. Только поддержка ico надо тогда... или в принципе png уже есть, просто доработать немного... Короче повозиться надо будет. |
Author: | 0CodErr [ Mon Oct 09, 2017 5:43 am ] |
Post subject: | Re: Теория разработки графического редактора (иконок) |
А может лучше допилить существующую программу? Ведь никто кроме тебя не будет поддерживать исходники на C--. ![]() А что, собственно, мешает посмотреть в исходники того же ColorDialog? Ну или IconEdit? http://websvn.kolibrios.org/listing.php ... b87958bf22 Attachment: 1.PNG [ 24.13 KiB | Viewed 3901 times ] В крайнем случае берёшь просто готовую картинку и выводишь. То есть, не нужно её заново рисовать программно. |
Author: | Leency [ Mon Oct 09, 2017 11:31 am ] |
Post subject: | Re: Теория разработки графического редактора (иконок) |
GerdtR Я пока лишь собираю информацию и разбираюсь в темах. Рано судить) За линку на HSV спасибо) 0CodErr > А может лучше допилить существующую программу? Ведь никто кроме тебя не будет поддерживать исходники на C--. ![]() На ассемблере тоже никто поддерживать не будет, так что это не аргумент. ![]() Вообще это полная ерунда. В С-- можно писать как на ассемблере, так и на Си. Компилировать программу также просто как программу на Ассемблере - запустил батник и бинарник готов, не нужно разбираться с зависимостями, линковкой и прочей важной ерундой, как в других Си. Количество оберток, упрощающих написание программ - немерено. Начиная от коллекций кончая элементом "список". Писать на нем сможет любой, было бы желание. > В крайнем случае берёшь просто готовую картинку и выводишь. Я тоже так и подумал. |
Author: | 0CodErr [ Tue Oct 10, 2017 11:38 am ] |
Post subject: | Re: Теория разработки графического редактора (иконок) |
Leency wrote: На ассемблере тоже никто поддерживать не будет, так что это не аргумент. А это и не был аргумент. Это скорее ответ на твой ответ, почему я переписал RUN с fasm на MASM-совместимый ассемблер с человеческими высокоуровневыми конструкциями, которые точно так же можно использовать, а можно и не использовать. Если смотрел исходник, то это очень упрощает понимание кода.![]() Leency wrote: Вообще это полная ерунда. В С-- можно писать как на ассемблере, так и на Си. Компилировать программу также просто как программу на Ассемблере - запустил батник и бинарник готов, не нужно разбираться с зависимостями, линковкой и прочей важной ерундой, как в других Си. Количество оберток, упрощающих написание программ - немерено. Начиная от коллекций кончая элементом "список". Писать на нем сможет любой, было бы желание. Согласен, и это касается не только С--. От fasm, считаю, по возможности надо уходить, на нём кроме микроутилит что-то серьёзное писать проблематично, что и подтверждает этот проект: примитивные структуры данных, примитивные алгоритмы, потому что сложно.Могу только посоветовать использовать что-то проверенное, например, libc вместо самописных велосипедов. И программа надёжнее будет, и другим можно будет легче роазобраться в таком коде. Что касается поддерживания исходников, в автосборке куча программ(в основном демо) на fasm, исходники которых давно уже никто не поддерживает и вряд ли кто-то будет поддерживать. Так что, я с тобой согласен, использовать лучше тот инструмент, который удобнее(ведь под каждую задачу свой инструмент). Прикладные программы хотя бы средней сложности нет смысла писать полностью на ассемблере. |
Author: | Pathoswithin [ Wed Oct 11, 2017 4:00 am ] |
Post subject: | Re: Теория разработки графического редактора (иконок) |
Примитивные алгоритмы? А какое это имеет отношение к языку? Как раз fasm - самый мощный из ассемблеров. |
Author: | Kopa [ Wed Oct 11, 2017 4:18 am ] |
Post subject: | Re: Теория разработки графического редактора (иконок) |
0CodErr wrote: От fasm, считаю, по возможности надо уходить, на нём кроме микроутилит что-то серьёзное писать проблематично, что и подтверждает этот проект: примитивные структуры данных, примитивные алгоритмы, потому что сложно. Если уровня примитивных структур хватает, то зачем делать сложнее? И да, как умение владения Fasm соотносится со сложностью алгоритмов (вспоминая о таком эпическом пакете на Fasm, как реализация рантайм поддержки Hiasm) ![]() Вот какого то уровня мета-информации, ихмо, и инструментария работы с ней может и не достаточно в проекте? P.S. В одном прошлом личном моменте мне попался исходник хитрого саморазвёртывающегося макроса на Masm, но даже не используя Masm (немного подумав) получилось изобразить максимально близкое решение к идеям данного макроса, но уже в рамках Форт языка. ![]() |
Author: | 0CodErr [ Wed Oct 11, 2017 4:32 am ] |
Post subject: | Re: Теория разработки графического редактора (иконок) |
Я пожалуй возьму пример с товарища Siemargl и посоветую напрячься и подумать ![]() А то, что вы микроскопом гвозди забиваете, так это ваша проблема. Уметь так — не плохо, а плохо — делать это. |
Author: | Leency [ Wed Oct 11, 2017 12:57 pm ] |
Post subject: | Re: Теория разработки графического редактора (иконок) |
Плиз не холиварте. Тема о другом. |
Author: | Kopa [ Wed Oct 11, 2017 2:02 pm ] |
Post subject: | Re: Теория разработки графического редактора (иконок) |
Leency wrote: Плиз не холиварте. Тема о другом. Хорошо, но слово теория упомянутое в названии топикик предполагает достаточно широкое своё толкование. ![]() P.S. 0CodErr небольшое уточнение по вопросу одного из свойств ассемблера - высокоуровневости озвучивал примерно 14лет назад в такой форме - пункт 6. |
Author: | 0CodErr [ Wed Oct 11, 2017 2:15 pm ] |
Post subject: | Re: Теория разработки графического редактора (иконок) |
Kopa wrote: P.S. 0CodErr небольшое уточнение по вопросу одного из свойств ассемблера - высокоуровневости озвучивал примерно 14лет назад в такой форме - пункт 6. Ну всё правильноИспользование ассемблера данной СР позволяет добиться высокой читаемости и о том и речь быламодифицируемости ассемблерного кода программы. Это достигается, в частности, возможностью ассемблера использовать такие структурные операторы как IF, ELSE, THEN, BEGIN, WHILE, UNTIL, REPEAT, CASE, и мн.др. (т.е. программа структурируется и может не иметь явных меток ) 0CodErr wrote: Это скорее ответ на твой ответ, почему я переписал RUN с fasm на MASM-совместимый ассемблер с человеческими высокоуровневыми конструкциями, которые точно так же можно использовать, а можно и не использовать. Если смотрел исходник, то это очень упрощает понимание кода.
|
Author: | Pathoswithin [ Wed Oct 11, 2017 2:43 pm ] |
Post subject: | Re: Теория разработки графического редактора (иконок) |
А что, fasm не поддерживает человеческие высокоуровневые конструкции? Под него такие скрипты можно написать, что он сишный код скомпилирует. Я как раз начинал с MASM, а потом дорос до fasm и понял, что он лучше во всех отношениях. |
Author: | Leency [ Wed Oct 11, 2017 6:08 pm ] |
Post subject: | Re: Теория разработки графического редактора (иконок) |
Ребят, я ж попросил. Spoiler: Show Админы перенесите плиз часть темы в оффтопик. |
Author: | Leency [ Wed Feb 07, 2018 6:55 pm ] | ||
Post subject: | Re: Теория разработки графического редактора (иконок) | ||
Я долго и адово тупил ходя вокруг да около, прокрастинируя как только мог. Но таки переборол себя и теперь приветствуйте: IconEditor для Колибри, который я мечтал написать сколько знаком с системой.
|
Author: | Siemargl [ Wed Feb 07, 2018 7:41 pm ] |
Post subject: | Re: Теория разработки графического редактора (иконок) |
Хорошо. Надо еще придумать что нибудь с хранением ресурсов для приложений. |
Page 1 of 2 | All times are UTC+03:00 |
Powered by phpBB® Forum Software © phpBB Limited https://www.phpbb.com/ |