|
87 / 22 / 6
Регистрация: 29.12.2015
Сообщений: 1,904
|
||||||
Парсинг hex значений29.06.2018, 05:47. Показов 4776. Ответов 62
Метки нет (Все метки)
Здравствуйте. В ASM файле есть такая строка к примеру
dc.w 0, $8CE, $6AC, $48A, $268, $46, $224, 2 ; earth Я помещаю это в виде строкового массива $8CE $6AC $48A $268 $46 $224 2 Короче это цвета. Например 8CE это своеобразная шестнадцетеричная BGR палитра если перевести в RGB то приблизительно будет 255, 219, 146 Так вот в некоторых местах Есть $46 к примеру что будет как $046 Перевод в rgb палитру делается по формуле r = b * 255 / 14 g = g * 255 / 14 b = r * 255 / 14 Так вот вот в этой своеобразной палитре если цвет начинается на 0 то его не пишут. Только если заканчивается Как мне сделать парсинг палитры чтобы получить дополнительные 0 Добавлено через 48 минут В принципе и самому дошло как
0
|
||||||
| 29.06.2018, 05:47 | |
|
Ответы с готовыми решениями:
62
Парсинг большого количества hex значений из текстового файла Парсинг XML значений для получения значений Double Замена hex значений |
|
87 / 22 / 6
Регистрация: 29.12.2015
Сообщений: 1,904
|
|||||||||||||||||||
| 04.07.2018, 07:22 [ТС] | |||||||||||||||||||
|
Хотя мой вариант при такомже результате ошибку не вызывал. Я кажется гдето видел такую схема. Хотя вспомнил. Я ее видел для применение к такому виду палитры к примеру $FF0022 Но у меня не HTML. Там не 6 а 3 значения $F02 а не $FF0022 col[0] = 0.0; col[1] = 2.0; col[2] = 4.0; col[3] = 6.0; col[4] = 8.0; col[5] = 10.0; col[6] = 12.0; col[7] = 14.0; 10 - A 12 - C 14 - E Вот рисование самой SEGA палитры
Я не нашел другого способа как шестнадцетеричный символ превести в десятичный вид кроме как так var hb = Convert.ToInt16(sb, 16); var hg = Convert.ToInt16(sg, 16); var hr = Convert.ToInt16(sr, 16); По сути не надо переводить систему счисления из шестнадцетеричной в десятичную Нужно букву представить в виде цыфры
Формула здесь следущая 8 * 255 / 14 12 * 255 / 14 14 * 255 / 14 Я протестировал этот код что выше и там нету чисел 12 и 14 Добавлено через 9 минут Вродебы сделал
Нет. Блин не знаю. Как быть не работает.
0
|
|||||||||||||||||||
|
475 / 294 / 29
Регистрация: 01.06.2018
Сообщений: 3,676
|
|||
| 04.07.2018, 07:40 | |||
|
Добавлено через 4 минуты 255 * 255 / 14 > 255
0
|
|||
|
87 / 22 / 6
Регистрация: 29.12.2015
Сообщений: 1,904
|
|
| 04.07.2018, 07:41 [ТС] | |
|
Я лишь знаю что
(colorCode & 0xff) ((colorCode >> 8) & 0xff) / 14; ((colorCode >> 16) & 0xff) / 14; Дают в итоге неправильные значения которые нужно перемножать на 255 и / на 14
0
|
|
|
475 / 294 / 29
Регистрация: 01.06.2018
Сообщений: 3,676
|
||||
| 04.07.2018, 07:45 | ||||
|
0
|
||||
|
87 / 22 / 6
Регистрация: 29.12.2015
Сообщений: 1,904
|
|||||
| 04.07.2018, 08:02 [ТС] | |||||
|
Никаких 255 там и в помине быть не должно 0 * 255 / 14 2 * 255 / 14 4 * 255 / 14 6 * 255 / 14 8 * 255 / 14 10 * 255 / 14 12 * 255 / 14 14 * 255 / 14 Все Наверное ктоо неправильно понял суть этого Convert.ToInt16(sb, 16); Я думаете зачем ставил 16 число Да все очень просто чтобы подтвердить что символ является числом в шестнадцетеричной системе счисления Так как A Это 10 C Это 12 E Это 14 Добавлено через 2 минуты Это 8 12 14 И никаких 36 там и в помине нет Добавлено через 6 минут Это переводит в rgb палитру в десятичный вид Добавлено через 5 минут Честно говоря логику работы этого сдвига по примеру я так и не понял.
0
|
|||||
|
475 / 294 / 29
Регистрация: 01.06.2018
Сообщений: 3,676
|
|||||
| 04.07.2018, 08:12 | |||||
|
0 * 255 / 14 1 * 255 / 14 2 * 255 / 14 3 * 255 / 14 4 * 255 / 14 5 * 255 / 14 6 * 255 / 14 7 * 255 / 14 8 * 255 / 14 9 * 255 / 14 10 * 255 / 14 11 * 255 / 14 12 * 255 / 14 13 * 255 / 14 14 * 255 / 14 15 * 255 / 14 "& 0xFF" делает логическое И с целью отсечь всё что не входит в первые 8 бит, а ">> 8" и ">> 16" делают битовый сдвиг на 8 и 16 бит соответственно, с целью добраться до 2-го и 3-го цвета.
0
|
|||||
|
6691 / 4102 / 1607
Регистрация: 09.05.2015
Сообщений: 9,576
|
||||||
| 04.07.2018, 08:13 | ||||||
|
Что-то мне подсказывает что код который выложил Usaga должен выглядеть как-то так
1
|
||||||
|
475 / 294 / 29
Регистрация: 01.06.2018
Сообщений: 3,676
|
|||||||
| 04.07.2018, 08:54 | |||||||
Сообщение было отмечено Alexandr_7 как решение
Решение
1
|
|||||||
|
14790 / 9563 / 1367
Регистрация: 21.01.2016
Сообщений: 36,058
|
|
| 04.07.2018, 11:53 | |
|
Someone007, belalugoci, да, ошибся я)
1
|
|
|
87 / 22 / 6
Регистрация: 29.12.2015
Сообщений: 1,904
|
|||||||||||
| 04.07.2018, 20:57 [ТС] | |||||||||||
|
Итоговый вариант
Добавлено через 4 минуты
Точнее желательно вообще не присваивать возврату если B и G присвоины нули
0
|
|||||||||||
|
87 / 22 / 6
Регистрация: 29.12.2015
Сообщений: 1,904
|
|
| 04.07.2018, 21:07 [ТС] | |
|
Хотя нет. Код цвета $224
Отображается неверно Даже в рисуемой мною палитре цвет верный Следовательно в данном методе есть погрешнсть которая недопустима
0
|
|
|
87 / 22 / 6
Регистрация: 29.12.2015
Сообщений: 1,904
|
|
| 04.07.2018, 21:27 [ТС] | |
|
Да нет. Я проверил
$224 переводит в 72, 36, 36 Но по какимто причинам PictureBox именно тот что на против отображает цвет не верно. Даже фотошоп по заданию rgb отобразил верно. Но это еще не самое странное. Странно что другая программа отлавлвает этот цвет верно. Походу баг в c#
0
|
|
|
87 / 22 / 6
Регистрация: 29.12.2015
Сообщений: 1,904
|
|
| 04.07.2018, 21:35 [ТС] | |
|
0
|
|
|
87 / 22 / 6
Регистрация: 29.12.2015
Сообщений: 1,904
|
|
| 04.07.2018, 21:36 [ТС] | |
|
Даже фотошоп распозное это как 1 тотже цвет
0
|
|
|
475 / 294 / 29
Регистрация: 01.06.2018
Сообщений: 3,676
|
||||
| 05.07.2018, 03:57 | ||||
0
|
||||
|
14790 / 9563 / 1367
Регистрация: 21.01.2016
Сообщений: 36,058
|
|
| 05.07.2018, 06:07 | |
|
0
|
|
|
475 / 294 / 29
Регистрация: 01.06.2018
Сообщений: 3,676
|
||
| 05.07.2018, 06:21 | ||
|
0
|
||
|
87 / 22 / 6
Регистрация: 29.12.2015
Сообщений: 1,904
|
|||||||
| 05.07.2018, 10:10 [ТС] | |||||||
|
Но если конвентировать из Color в Sega то может получится вот так 000 002 004 027 0A4 Так вот в таких случаях первый ноль и 2 ноль ставить не обязательно. Ничего страшного если ноль поставить не будет но для красоты лучше их убирать Добавлено через 8 минут Мне в голову только такой вариант приходит
0
|
|||||||
|
475 / 294 / 29
Регистрация: 01.06.2018
Сообщений: 3,676
|
|||
| 05.07.2018, 10:23 | |||
|
Мне кажется было бы логично оперировать int, а если нужно вывести на экран, то в коде вывода сделать ToString()
0
|
|||
|
87 / 22 / 6
Регистрация: 29.12.2015
Сообщений: 1,904
|
|||||||||
| 05.07.2018, 10:40 [ТС] | |||||||||
Добавлено через 7 минут Да и кому это нужно вообще будет.
0
|
|||||||||
| 05.07.2018, 10:40 | |
|
Редактор hex-значений нетипизированного файла через Memo Отображение на экране значений головного и хвостового указателей кольцевого буфера в виде hex строк [Dendy] Увеличить начальную скорость падения блоков в tetris.1989 (редактирование значений в HEX редакторе) Парсинг значений Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Nekobox - outbounds[0].transport: unknown transport type: raw
damix 01.10.2026
Фикс ошибки
Правым кликом по серверу -> отладочная информация -> edit
Заменить "net": "raw", на "net": "tcp",
Нажать кнопку reload.
|
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js.
В помощники взял Яндекс-Алису.
Было создано три зала на разные интересы.
исторические и ретро
сериал Хичкок. . .
|
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
|
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#.
Название изменил на ColorStep.
Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
|
|
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами:
- ВидТО (СправочникСсылка. ВидыТО);
- ВидГСМ. . .
|
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала.
Ниже прикреплён. . .
|
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F
Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU.
Опрашиваются регистры. . .
|
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка:
Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
|