Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Гамма, яркость, констрастность монитора - как их изменять на Delphi 5

1.3K
16 сентября 2002 года
Vid
8 / / 20.06.2000
Как изменить гамму, яркость, констрастность монитора из Delphi, если можете дайте пожалуйста UNIT(PAS, TPU) или кусочек кода.
Заранее длагодарен. Если есть какието вопросы можете обратится лично ко мне, чем смогу тем помогу!!! ICQ:169406011 (vid)
609
20 сентября 2002 года
lpt
23 / / 20.01.2000
Цитата:

On 2002-09-16 0441, Vid wrote
Как изменить гамму, яркость, констрастность монитора из Delphi, если можете дайте пожалуйста UNIT(PAS, TPU) или кусочек кода.
Заранее длагодарен. Если есть какието вопросы можете обратится лично ко мне, чем смогу тем помогу!!! ICQ169406011 (vid)


Вопрос конечно интересный. Признаюсь, в первый момент я хотел ответить "а UNIT для вытаскивания сетевого шнура из розетки Вам не надо?"...
Если никто не предложит ничего лучше, попробуте залезть в реестр. Я через Registry Editor у себя в Win2000 задал поиск по фразе "contrast" и наткнулся на ветку HKEY_CURRENT_USER \ Control Panel \ Accessbility \ HighContrast \High Contrast Sheme , которая по-видимому хранит настройки схемы контрастности. Это корявое решение, но всё же...

1.3K
23 сентября 2002 года
Vid
8 / / 20.06.2000
Цитата:

On 2002-09-20 1231, lpt wrote
[quote]
On 2002-09-16 0441, Vid wrote
Как изменить гамму, яркость, констрастность монитора из Delphi, если можете дайте пожалуйста UNIT(PAS, TPU) или кусочек кода.
Заранее длагодарен. Если есть какието вопросы можете обратится лично ко мне, чем смогу тем помогу!!! ICQ169406011 (vid)


Вопрос конечно интересный. Признаюсь, в первый момент я хотел ответить "а UNIT для вытаскивания сетевого шнура из розетки Вам не надо?"...
Если никто не предложит ничего лучше, попробуте залезть в реестр. Я через Registry Editor у себя в Win2000 задал поиск по фразе "contrast" и наткнулся на ветку HKEY_CURRENT_USER Control Panel Accessbility HighContrast High Contrast Sheme , которая по-видимому хранит настройки схемы контрастности. Это корявое решение, но всё же...
[/quote]
В том то и дело, что мне надо это делать инерактивно, гоп изменил, гоп еще изменил, а вообще можно как нибудь перевести экран в текстовой режим и чего-нибуть там напечать, чего нибудь ввести (writeln/readln), но так, что вывести из этого режима могла только моя программа, но ни как не пользователь!

609
23 сентября 2002 года
lpt
23 / / 20.01.2000
Ну если интерактивно, тогда ищите WinAPI - функции. Например, если в хелпе по Delphi выйти на раздел Win32 Programmer`s Reference,
то поиск по индексу слова HIGHCONTRAST выведет Вас на т.н. Accessibility Structures
и в частности на структуру tagHIGHCONTRAST.

Боюсь, что никаких других возможностей больше не существует, так как скорее всего поставленная Вами проблема - аппаратнозависимая (т.е. зависящая от "железа"), а значит связанная с написанием драйверов. А это, согласитесь в Вашей ситуации бессмысленно, так как заранее неизвестно, с каким оборудованием Вашей программе придется работать в будущем.

Жалко, но HIGHCONTRAST решит Вашу проблему лишь частично.
Аноним
Цитата:

On 2002-09-23 1359, lpt wrote
Ну если интерактивно, тогда ищите WinAPI - функции. Например, если в хелпе по Delphi выйти на раздел Win32 Programmer`s Reference,
то поиск по индексу слова HIGHCONTRAST выведет Вас на т.н. Accessibility Structures
и в частности на структуру tagHIGHCONTRAST.

Боюсь, что никаких других возможностей больше не существует, так как скорее всего поставленная Вами проблема - аппаратнозависимая (т.е. зависящая от "железа"), а значит связанная с написанием драйверов. А это, согласитесь в Вашей ситуации бессмысленно, так как заранее неизвестно, с каким оборудованием Вашей программе придется работать в будущем.

Жалко, но HIGHCONTRAST решит Вашу проблему лишь частично.



Я прочитал хелп по HIGHCONTRAST - это связанно с с высококонтрастными цветовыми схемами, для полховидящих под 95.

1.3K
07 октября 2002 года
Vid
8 / / 20.06.2000
УРА НАШЕЛ!!! APIшная функция и гамма и контраст и яркость и все, что угодно... Причем есть и GET и SET функции:

SetDeviceGammaRamp
GetDeviceGammaRamp
Там массиф используется:
[1..3,0..255] of WORD;
1..3 - это R,G,B;
а 0..255 это для кождого цвета "точки" графика функции, как в дополнительных настройках экрана.
Но я заметил следующее
Пусть
var a:array[1..3,0..255] of word;
begin
GetDeviceGammaRamp(getdc(0),a);
a[1,2]:=123 * 255;
SetDeviceGammaRamp(getdc(0),a);
end;
то все цвета экрана которые имею красную составляющую 2 будут отабражатсья, как будто они имеют красную составляющую ((123 * 255) div 255);

Естественно если вы захотите делать плавные переходы, то вы заменете GetDC(0) чем нибудь другим... Пишите: vid@sakhgu.sakhalin.ru
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог