Papazol » 13 мар 2014, 13:58
Нет, меня ничего не сбило с толку, я понимаю отличия децимального представления чисел от hex. Ну вот пример. Я создал метку с чёрным цветом подписи. Все составляющие RGB по нулям, прозрачность тоже сделал 0. В файле marks.sml вижу следующее значение: color1="-16777216". Беру calc и перевожу это десятичное число в hex: FFFF FFFF FF00 0000. Если бы цвет кодировался 8-разрядным hex-числом, то оно было бы равно FF00 0000 = 4278190080, что отличается от -16777216. В принципе, полезная инфа в любом случае заключена в 8 младших разрядах шестнадцатиричного числа, возможно, на каком-то этапе программы происходит наложение маски 0000 0000 FFFF FFFF, и тогда всё получается правильно.
Кстати, у вновь созданной метки и цвет тени color2 равен такому же числу (отрицательному), что и color1. А вот у меток, созданных давно, цвет тени кодируется 8-разрядными (положительными) числами. На работоспособность это не влияет.
PS Попробовал сделать эксперимент: изменил некоторые разряды с целью проверить, влияют ли они: FF3A 1234 FF00 0000=18391032047146631168. Последнее число записал в файл marks.sml. Метка отображается точно таким же чёрным цветом, что и раньше. И то же самое происходит, если присвоить значение FF00 0000 = 4278190080. Значит, точно маска накладывается.
PPS Это всё теория, а на практике, если куча (большая) меток с разными цветами, а нужно поменять на один, в текстовом редакторе (простом) это будет сделать тяжело, надо использовать регэкспы.
Последний раз редактировалось
Papazol 13 мар 2014, 14:07, всего редактировалось 1 раз.
- За это сообщение автора Papazol поблагодарил:
- ingener (29 сен 2024, 19:39)