Реклама i
Стань нашим партнером - зарабатывай с нами!
| Правила | Регистрация | Пользователи | Поиск | Сообщения за день | Все разделы прочитаны |  Справка по форуму | Файлообменник |

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Цвета в палитрах (в Tool Pallettes)

Цвета в палитрах (в Tool Pallettes)

Ответ
Поиск в этой теме
Непрочитано 21.08.2016, 21:34 #1
Цвета в палитрах (в Tool Pallettes)
АлексЮстасу
 
топограф, технолог
 
Москва
Регистрация: 24.05.2009
Сообщений: 3,030

В файлах описания палитр xtp (в Tool Pallettes) цвета описаны в поле mRGB.
Вроде:

Как из mRGB получить значения RGB?
До 255-го цвета это mRGB = 3271557120 + код цвета.

Миниатюры
Нажмите на изображение для увеличения
Название: Цвета_XTP.png
Просмотров: 123
Размер:	34.3 Кб
ID:	175033  

__________________
количество моих сообщений не говорит о знании Автокада

Последний раз редактировалось АлексЮстасу, 22.08.2016 в 12:50. Причина: вернул картинку
Просмотров: 2886
 
Непрочитано 22.08.2016, 10:55
#2
Кулик Алексей aka kpblc
Moderator

LISP, C# (ACAD 200[9,12,13,14])
 
Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,787


1. Картинки нет
2. Ищи на форуме lisp преобразование ACI в RGB - там были решения.
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Автор темы   Непрочитано 22.08.2016, 14:25
#3
АлексЮстасу

топограф, технолог
 
Блог
 
Регистрация: 24.05.2009
Москва
Сообщений: 3,030


1. Картинку восстановил.
2. В одном месте вычитал, что нужно считать 256*256*Red+256*Green+Blue, а в другом - Red+256*Green+256*256*Blue.
3. Цифры не "бьют". В xtp эти mRGB - десятизначное число, а при таких подсчетах получаются шестизначные семизначные, максимум. Плюс, для кодированных цветов метод перевода вообще не годится.

На всякий случай приложил xtp - вдруг я не там смотрел.

----- добавлено через ~25 мин. -----
Индэээээ... А ведь догадался!
Чтобы получить приведенные в таблице (в xtp Tool Pallettes) цифры, нужно как бы инвертировать цвета RGB: (255-red)+(255-green)*256+(255-blue)*256*256+1, и вычесть из 3271557120...
Вроде бы не наврал...
Особенно трогательно это "...+1". (Можно без этого "+1" при переводе RGB, а вычитать из 3271557121. Но тогда кодовые цвета получаем как 3271557121+код-1).
Значения 3221225472 для ByLayer и 3238002688 для ByBlock вычислить не могу. Видимо, нужно просто зазубрить.

Кто-нибудь эти фокусы вообще понимает? Что за пифагорейско-каббалистическое 3271557120 или 3271557121? Нахрена инверсия-пидерсия? И, вообще, нахрена?
Вложения
Тип файла: zip Color_test_mRGB.zip (3.2 Кб, 15 просмотров)
__________________
количество моих сообщений не говорит о знании Автокада

Последний раз редактировалось АлексЮстасу, 23.08.2016 в 05:03.
АлексЮстасу вне форума  
 
Автор темы   Непрочитано 26.08.2016, 15:57
#4
АлексЮстасу

топограф, технолог
 
Блог
 
Регистрация: 24.05.2009
Москва
Сообщений: 3,030


Если кому-то интересно, то я все-таки ошибся. Как ошибались и те, кто считал, что цвет в dxf считается Red + Green*256 + Blue*256*256. Для dxf нужно наоборот: Red*256*256 + Green*256 + Blue.
Подсчет RGB для Tool Pallette нужно тоже "перевернуть".
Т.е.: цвет в Tool Pallette == 3271557120 - ((255-Red)*256*256 + (255-Green)*256 + (255-Blue)+1).
__________________
количество моих сообщений не говорит о знании Автокада
АлексЮстасу вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Цвета в палитрах (в Tool Pallettes)

Размещение рекламы
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Копирование динамического блока и присвоение ему нового цвета Boris0071 Динамические блоки 15 16.12.2016 15:03
Как перенести свой Tool palettes на др. компьютер? dextron3 AutoCAD 33 16.12.2015 09:21
Выделяю все слои, устанавливаю им цвет 0,0,0, но цвета меняются не полностью alldmc AutoCAD 2 06.11.2012 21:48
Unable to execute tool nrn97x2 AutoCAD 1 11.04.2011 08:22
Как перевести цвета автокада в цвета Windows krendel AutoCAD 3 11.02.2009 21:03