Главная страница
    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
5-1135093004
asd
2005-12-20 18:36
2006.07.09
Есть ли в Delphi 7 компонент, похожий на Edit?


2-1150812270
resuS
2006-06-20 18:04
2006.07.09
модуль для работы с динамическими типами данных


2-1150790849
zdm
2006-06-20 12:07
2006.07.09
глупый вопрос


2-1150861560
resuS
2006-06-21 07:46
2006.07.09
Проблема с модулем(Паскаль)


2-1150898583
vacek
2006-06-21 18:03
2006.07.09
С помощью чего можно получить доступ к не списку компонента com





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