Главная страница
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.031 c
2-1151081404
Зм1й
2006-06-23 20:50
2006.07.09
Вопросы по регистрации расширения


2-1150543445
Gon
2006-06-17 15:24
2006.07.09
Фокус DBGrid


3-1147342800
Igor666
2006-05-11 14:20
2006.07.09
Помогите плз с транзакциями!!!


2-1150729557
Gizza
2006-06-19 19:05
2006.07.09
Колическтво дней в месяце.


8-1138452664
Universe
2006-01-28 15:51
2006.07.09
Большие изображения