Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2006.07.09;
Скачать: [xml.tar.bz2];

Вниз

Можно ли как-то адрес памяти цвета в формате 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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.008 c
6-1141146769
ftpnoob
2006-02-28 20:12
2006.07.09
Организация FTP-сервера


2-1150624494
T54
2006-06-18 13:54
2006.07.09
непрерывное видео... как ?


2-1150475321
fast2
2006-06-16 20:28
2006.07.09
Подскажите, как "разложить" строку на части.


15-1149823126
Tirael
2006-06-09 07:18
2006.07.09
индикатор флешки


15-1149750520
StriderMan
2006-06-08 11:08
2006.07.09
Уважаемый модератор





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский