Главная страница
    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.009 c
11-1128946067
BMouradov
2005-10-10 16:07
2006.07.09
Ошибка PBitMap, начиная с 2.13


1-1148889628
Layner
2006-05-29 12:00
2006.07.09
Как принудительно "перерисовать" форму


2-1150648613
mctarik
2006-06-18 20:36
2006.07.09
Почему ничего не происходит при выполнении данного кода ...


2-1150913706
mctarik
2006-06-21 22:15
2006.07.09
Кто сегодня за старшего?


2-1151006254
vacek
2006-06-22 23:57
2006.07.09
Можно ли как-то адрес памяти цвета в формате RGB, присваиваемый с





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский