|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
06.01.2011, 02:16 | #1 |
Пользователь
Регистрация: 08.04.2010
Сообщений: 19
|
Как напрямую обращаться к видеопамяти?
Насколько я разбираюсь в графике, то цвет одного пикселя хранится в четырёх байтах: байт яркости (т.е. альфа, или как-то так называется), дальше три байта - красный, зелёный и синий. Следовательно, нужно знать адрес первого байта, чтобы определить цвет пикселя. Вот меня и интересует, как можно получить адрес первого байта цвета конкретного пикселя, а также как к нему обращаться? И ещё: возможно так ли на прямую обращаться к видеопамяти в обход всех драйверов, и насколько это опасно? В смысле, не будет ли каких-то глюков с видеокартой или с системой и драйверами?
|
06.01.2011, 02:25 | #2 |
Заблокирован
Регистрация: 21.11.2008
Сообщений: 4,986
|
Ничего не понял, причем тут Delphi?
Юзай TCanvas и RGB и будет тебе счастье... |
06.01.2011, 02:30 | #3 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
под ОС про это лучше забыть(исключение полноэкранное приложение(как игры))
а так, просто считывайте пиксель и потрошите на составные. Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
06.01.2011, 02:30 | #4 |
Форумчанин
Регистрация: 30.08.2010
Сообщений: 224
|
эт тебе надо не делфи а асм
|
06.01.2011, 02:33 | #5 | |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
Цитата:
не надо из асма делать панацею. я подобное делал и на С(можно и на паскале было) когда своей ОС занимался. а под виндой всетаки у нас свое адресное пространнство и куча шареных ресурсов(один из них видеопамять) доступ к которым осуществляется под контролем ОС. Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
|
06.01.2011, 05:27 | #6 |
Старожил
Регистрация: 31.05.2010
Сообщений: 13,543
|
Напрямую нельзя (вернее можно но оооооч геморройно), а вот через драйвера DirectX можно. Через буфер поверхности, например. Или через DirectDraw.
Скачайте DirectX ToolKit, там всё найдёте.
Пиши пьяным, редактируй трезвым.
Справочник по алгоритмам С++ Builder |
06.01.2011, 13:30 | #7 |
Старожил
Регистрация: 03.01.2011
Сообщений: 2,508
|
"Когда приходит положенное время, человек перестаёт играть в пинбол. Только и всего."
|
06.01.2011, 14:57 | #8 | |||
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Цитата:
Цитата:
Цитата:
I'm learning to live...
|
|||
06.01.2011, 15:38 | #9 |
Старожил
Регистрация: 03.01.2011
Сообщений: 2,508
|
"Когда приходит положенное время, человек перестаёт играть в пинбол. Только и всего."
|
06.01.2011, 15:47 | #10 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
А-а-а ну да.. В графических не везде... Теперь припоминаю, читал когда то про эмуляцию яркости при написании игр.
I'm learning to live...
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
как к BIOS обращаться. Нужно чтение/запись BIOS. | Dethon_ASM_Scarel | Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM | 7 | 26.10.2011 11:40 |
Количество свободной видеопамяти | _-Re@l-_ | Общие вопросы Delphi | 7 | 25.08.2010 20:53 |
Как напрямую читать\писать | Alex Cones | Общие вопросы Delphi | 1 | 14.08.2010 13:39 |
Как в RichEdit обращаться к символам | Lissisa | Компоненты Delphi | 2 | 19.02.2009 08:01 |