Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.07.09;
Скачать: CL | DM;

Вниз

Можно ли как-то адрес памяти цвета в формате RGB, присваиваемый с   Найти похожие ветки 

 
vacek ©   (2006-06-22 23:57) [0]

Можно ли как-то адрес памяти цвета в формате RGB, присваиваемый свойству color вот так:
$00BBGGRR, где BB, GG, RR - шестнадцатиричные числа соответственно синего, зелёного,
красного цвета. Можно ли каким-то образом менять (ученьшать, поскольку  ш. ч. цвета
наибольшее (ff)) шестнадцатиричное число цвета в цикле, чтобы, например, для RR  ш. ч.
ff во втором исполнении цикла стало ef, а в третьем - df..., при этом присваивать, как адрес
памяти цвета. Это если работать с цветом, как шестнадцатиричным числом.

Если позволить пользователю задать уменьшение десятичным числом (меняющимся от 0
до 255), тогда с помощью чего можно перевести это д. ч. в ш. ч., которое будет аккуратно
заменяться в адресе (менятся RR: в $0000GGff вместо ff стало ef).

Скажем есть адрес, в котором меняется только одна составляющая цвета, например красная
(Red), в формате красный зелёный синий (Red Green Blue). Если бы адрес был строкой, то
получилось бы просто: пусть строка имеет имя a, и значение "$000000ff" ,тогда a[8]:="e"
поменяет строку на "$000000ef". Но адрес это не строка. Выход: одномерный массив из 256
значении (от 0 до 255, где, соответственно, д. ч. 0 означает ш. ч. 00, а 255 - ff). И тогда,
заданное пользователем уменьшение, позволит проскакивать это число значений в массиве. А
как задать тип массива - память?

Изначально, цвет задаётся через своё название (например, clWindow). Можно узнать его
десятиричное число (ColorToRGB), а потом шестнадцатиричное (IntToHex). Теперь поставив
перед $00 станет похоже на адрес, но не адрес. Как сделать чтоб стал адресом?

Наверное можно перебирать адрес за адресом, с помощью какой-нибудь функции, которую
присваиваю свойству color? И так перебрать цвет за цветом.


 
unknown ©   (2006-06-23 00:16) [1]

C:Cardinal;
GetRValue(c) //red
GetBValue(c) //blue
GetGValue(c) //green
function RGB(r, g, b: Byte)


 
Gero ©   (2006-06-23 01:46) [2]

> Теперь поставив
> перед $00 станет похоже на адрес, но не адрес. Как сделать
> чтоб стал адресом?

Каким еще адресом?



Страницы: 1 вся ветка

Текущий архив: 2006.07.09;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.041 c
6-1141248626
Yegorchic
2006-03-02 00:30
2006.07.09
Не получается правильно переслать файл по сети


4-1143884265
Malik
2006-04-01 13:37
2006.07.09
Прописание программы в автозагрузку после первого включения


2-1150823105
Vacek
2006-06-20 21:05
2006.07.09
Как можно в компоненте combobox выбрать, используя код, какую-н


3-1147349577
Nirvana
2006-05-11 16:12
2006.07.09
Как скопировать одну ADO таблицу в другую?


2-1151101235
arturich
2006-06-24 02:20
2006.07.09
определение индекса строки по найденному слову