Тема: Как заставить работать вместе свойство Color и функцию RGB?

Здравствуйте, уважаемые форумчане!
Наткнулась я на такую неприятность: свойство Color - это байт, а функция RGB возвращает Long. И они не хотят дружить... :( А надо сделать так, чтобы примитивы рисовались цветами RGB, причём цвета любые допустимые, а не только из палитры AutoCAD-a. Буду очень благодарна всем откликнувшимся.

Re: Как заставить работать вместе свойство Color и функцию RGB?

Ой вроде час назад я задал такой же вопрос :D https://www.caduser.ru/forum/topic28403.html masha Вы попрежнему не перестаете нас удивлять :)

Re: Как заставить работать вместе свойство Color и функцию RGB?

А вот и не такой же. :) Вы про палитру спрашиваете, а мне надо не ближайший, а в точности то, что задано. Вопрос ваш я видела, но мне он показался отличным от моего... Ну, если вместе нам быстрее удастся найти выход, то я только за.

Re: Как заставить работать вместе свойство Color и функцию RGB?

masha пишет:

а мне надо не ближайший, а в точности то, что задано

RGB описывает больше чем 256 цветов так, что только в 256/256^3 случаях вы сможете перевести в точно тот же цвет. если же конечно есть какая то закономерность у ACI

Re: Как заставить работать вместе свойство Color и функцию RGB?

Ура!!! Получилось!!!

color As AcadAcCmColor
color.SetRGB CLng(r), CLng(g), CLng(b) 'r,g,b from 0 to 255
pointObj.TrueColor = color 'точка красится в нужный цвет

Re: Как заставить работать вместе свойство Color и функцию RGB?

> masha
в 2000 AcadAcCmColor нема :(

Public Function GrayScale09(ByVal lColor As Long) As Long
' by Donald, donald@xbeat.net, 20011123
  GrayScale09 = ((77& * (lColor And &HFF&) + _
                 152& * (lColor And &HFF00&) \ &H100& + _
                  28& * ((lColor And &HFF0000) \ &H10000)) \ 256&) * &H10101
End Function

вот функция переводит RGB в отенки серого, что то походее должно быть и для ACI

Re: Как заставить работать вместе свойство Color и функцию RGB?

в 2000 AcadAcCmColor нема :(
    А TrueColor есть? И что тогда в него присваивается?
  В приведённом фрагменте кода выражения типа &HFF00& - это маски или что?... Я просто не могу до конца понять, что там написано...

Re: Как заставить работать вместе свойство Color и функцию RGB?

TrueColor тоже нема ;)
&HFF00&=65280

Re: Как заставить работать вместе свойство Color и функцию RGB?

> SmeL
Мне кажется, что тебе следует воспользоваться этой таблицей: https://www.caduser.ru/forum/topic3501.html
Но она для обратного преобразования. Тебе в этой таблице придется найти цвет, у которого R,G,B ближе всего к твоему.

Re: Как заставить работать вместе свойство Color и функцию RGB?

P.S.: Та таблица кажется уже устарела (AutoCAD R14). Попробуй эту: https://www.caduser.ru/forum/topic18878.html

Re: Как заставить работать вместе свойство Color и функцию RGB?

TrueColor появился в Автокаде начиная с 2004-го.