roboforum.ru

Технический форум по робототехнике.

Подсветка а-ля Ambilight

Здесь расположены обсуждения и проекты, которые с точки зрения администрации форума представляют наибольший интерес.
Правила форума
В этом форуме новые темы не создаются, однако обсуждение допустимо.

Re: Подсветка а-ля Ambilight

Сообщение Angel71 » 02 мар 2010, 03:22

:) накладненько однако весь экран гонять. :wink: сделай лучше так: получил размер экрана, вычислил нужные блоки, загнал в 3-4 (я все 4 стороны обрабатывал) картинки. и уже с ними работай, например поищи как blur можно применить. непомню, в gdi+ есть он или нет, но в сети явно должны быть примеры реализации или библиотеки. коофициент размытия можно побольше выставить. я в wpf примерно так и делаю. только я сразу указываю исходную область виртуального экрана и оно директиксом уже само аппаратно применяет блур и перемаштабирует (а зачем мне в проге громадный кусок картинки?). очень быстро всё, но доступа к оверлеям я таки и не смог в wpf добиться. так что пока забил

Добавлено спустя 13 минут 48 секунд:
а, забыл. кроме BitBlt есть еще StretchBlt подобные функции
Аватара пользователя
Angel71
 
Сообщения: 10668
Зарегистрирован: 18 апр 2009, 22:18
Предупреждения: -1

Re: Подсветка а-ля Ambilight

Сообщение Kurok » 02 мар 2010, 10:24

Так никто не собирается грабить весь экран , в функции можно указывать любые области и размеры для захвата
Код: Выделить всёРазвернуть
Функция BitBlt выполняет передачу битовых блоков данных о цвете,
соответствующих прямоугольнику пикселей из заданного исходного контекста
устройства в целевой контекст устройства.
Kurok
 
Сообщения: 21
Зарегистрирован: 24 фев 2010, 00:26
Откуда: Moc

Re: Подсветка а-ля Ambilight

Сообщение boez » 02 мар 2010, 13:06

Там самое главное в работе с битамапами - не пользоваться GetPixel - потому что она делает вызов ядра, и на каждый пуксель мы получаем 2 переключения контекста юзер/ядро, такой процесс проц жрет по взрослому. А клипбоард там не особо нужен (из него все равно потом битмап получится), я например, когда мне надо было пошаманить с пикселями оптом, использовал GetDIBits() из WinAPI - возможно в делфях есть к ней обертка, а нету - так просто вызвать. Она из виндового битмапа может сделать массив RGB-значений, при этом делается только конечное число системных вызовов (может вообще один), в результате время выполнения функции намного меньше, чем цикла с GetPixel.
boez
 
Сообщения: 1981
Зарегистрирован: 27 авг 2008, 10:45
Откуда: Харьков
прог. языки: С/С++

Re: Подсветка а-ля Ambilight

Сообщение Angel71 » 02 мар 2010, 17:03

Kuroks, пока я вижу это:
Код: Выделить всёРазвернуть
bmp.Width := Screen.Width;
bmp.Height := Screen.Height;
BitBlt(bmp.Canvas.Handle, 0, 0, Screen.Width, Screen.Height, GetDC(GetDesktopWindow), 0, 0, SRCCopy);

:) лан, я свои мысли высказал
Аватара пользователя
Angel71
 
Сообщения: 10668
Зарегистрирован: 18 апр 2009, 22:18
Предупреждения: -1

Re: Подсветка а-ля Ambilight

Сообщение Kurok » 02 мар 2010, 17:25

Нашел инфу по DirectDraw
http://www.realcoding.net/articles/dire ... denie.html

Добавлено спустя 9 минут 3 секунды:
Angel71 писал(а):Kuroks, пока я вижу это:
Код: Выделить всёРазвернуть
bmp.Width := Screen.Width;
bmp.Height := Screen.Height;
BitBlt(bmp.Canvas.Handle, 0, 0, Screen.Width, Screen.Height, GetDC(GetDesktopWindow), 0, 0, SRCCopy);

:) лан, я свои мысли высказал

Только лучше использовать GetDcEx

Добавлено спустя 2 минуты 31 секунду:
boez писал(а):Там самое главное в работе с битамапами - не пользоваться GetPixel - потому что она делает вызов ядра, и на каждый пуксель мы получаем 2 переключения контекста юзер/ядро, такой процесс проц жрет по взрослому. А клипбоард там не особо нужен (из него все равно потом битмап получится), я например, когда мне надо было пошаманить с пикселями оптом, использовал GetDIBits() из WinAPI - возможно в делфях есть к ней обертка, а нету - так просто вызвать. Она из виндового битмапа может сделать массив RGB-значений, при этом делается только конечное число системных вызовов (может вообще один), в результате время выполнения функции намного меньше, чем цикла с GetPixel.

Спасибо!
Есть в Delphi такая фунция , нужно попробовать. http://delphi7.info/?module=winapi&l=g&f=GetDIBits
Kurok
 
Сообщения: 21
Зарегистрирован: 24 фев 2010, 00:26
Откуда: Moc

Re: Подсветка а-ля Ambilight

Сообщение Angel71 » 02 мар 2010, 17:27

:) может и лучше. я уже слабо рзбираюсь в фичах, тянущихся еще со времён винды 3.11
:wink: как никак уже давно появилась второе поколение граф подсистемы, да и директикс уже 12 маячит, "я весь там"
Аватара пользователя
Angel71
 
Сообщения: 10668
Зарегистрирован: 18 апр 2009, 22:18
Предупреждения: -1

Re: Подсветка а-ля Ambilight

Сообщение Kurok » 04 мар 2010, 20:55

Написал свою программу .
Поразился в различии скорости обработки, у меня с Boblight на HTPC с процем Atom при проигрывании HD-1080 было отставание цвета на 1-5 сек. Теперь же все четко без каких либо отставаний и реакция мгновенная, появился эффект обьема при динамических сценах. Работает в Win 7 с темой AERO без тормозов.
Прогу сделал без всяких надстроек одним файлом, корректно работает со спящим режимом и гибернацией.
Есть ползунок яркость и насыщеность,планирую добавить регулировку температуры цвета.
Прога пока работает только с Carduino по USB , доведу до ума сделаю для выших девайсов и выложу.
Последний раз редактировалось Kurok 06 мар 2010, 10:50, всего редактировалось 3 раз(а).
Kurok
 
Сообщения: 21
Зарегистрирован: 24 фев 2010, 00:26
Откуда: Moc

Re: Подсветка а-ля Ambilight

Сообщение NYKLE » 04 мар 2010, 22:55

Здрасте. Вот хотел сделать амбилайт наткнулся на этот форум.
Возник вопрос. можно ли сделать работу агрегата не програмную а апаратную и ставить на вход не COM или USB, а VGA или RGB?

Добавлено спустя 2 минуты 6 секунд:
Нашёл вот такую микросборку, но немогу понять можно ли из неё что либо получить?
http://www.analog.com/static/imported-f ... D9882A.pdf
NYKLE
 
Сообщения: 1
Зарегистрирован: 04 мар 2010, 22:45
Откуда: Королёв

Re: Подсветка а-ля Ambilight

Сообщение sandro » 05 мар 2010, 00:29

NYKLE ,про RGB вам сюда http://steffenschuette.de/steffenschuet ... index.html Удачи! Она не помешает ,это точно !
Аватара пользователя
sandro
 
Сообщения: 67
Зарегистрирован: 01 апр 2008, 02:29
Откуда: Тирасполь

Re: Подсветка а-ля Ambilight

Сообщение Yurik » 05 мар 2010, 02:45

Загорелся желанием повторить сей девайс, но как начинающий электронщик, в этом деле знаний у меня маловато.Особенно по части микроконтроллеров. Надеюсь на вашу помощь. Подскажите чем можно прошить ATMEGA8. Дайте ссылку на схемку простого и рабочего программатора, если таков существует.
Yurik
 
Сообщения: 11
Зарегистрирован: 27 фев 2010, 02:10
Откуда: Запорожье

Re: Подсветка а-ля Ambilight

Сообщение sandro » 05 мар 2010, 02:51

Аватара пользователя
sandro
 
Сообщения: 67
Зарегистрирован: 01 апр 2008, 02:29
Откуда: Тирасполь

Re: Подсветка а-ля Ambilight

Сообщение -= Александр =- » 05 мар 2010, 15:43

NYKLE писал(а):q.3Нашёл вот такую микросборку, но немогу понять можно ли из неё что либо получить?
http://www.analog.com/static/imported-f ... D9882A.pdf


Из нее можно получить пиксели в цифровом виде на дикой скорости. Получить их довольно просто, а вот обработать... :roll:
Ниндзя - круче всех. Они умеют ходить по воде, делить на ноль и угадывать шаффл в АйПоде.
Аватара пользователя
-= Александр =-
Мастер Самоделкин
 
Сообщения: 3678
Зарегистрирован: 11 окт 2004, 19:20
Откуда: Россия, СПб
прог. языки: C/C++, Python, asm
ФИО: Курмис Александр Андреевич

Re: Подсветка а-ля Ambilight

Сообщение Duhas » 05 мар 2010, 16:34

а хде ее купить бы ?

дык с обработкой в любом случае придется повозиться.. а так после нее нужен тока шустрый камень...
«Как сердцу выразить себя? … Мысль изреченная есть ложь!»
В этом мире меня подводит доброта и порядочность...
"двое смотрят в лужу, один видит лужу, другой отраженные в ней звезды"
Аватара пользователя
Duhas
 
Сообщения: 6338
Зарегистрирован: 15 сен 2007, 13:03
Откуда: Красноярск
прог. языки: ASM(МК), C(PC)
ФИО: Гагарский Андрей Александрович

Re: Подсветка а-ля Ambilight

Сообщение -= Александр =- » 05 мар 2010, 16:37

Ищи там: http://www.efind.ru/
Или обратись к ремонтникам мониторов - они популярный аналог подскажут.
После нее по-хорошему ПЛИС надо. На ней и параллельную обработку и ШИМ сразу замутить можно.
Ниндзя - круче всех. Они умеют ходить по воде, делить на ноль и угадывать шаффл в АйПоде.
Аватара пользователя
-= Александр =-
Мастер Самоделкин
 
Сообщения: 3678
Зарегистрирован: 11 окт 2004, 19:20
Откуда: Россия, СПб
прог. языки: C/C++, Python, asm
ФИО: Курмис Александр Андреевич

Re: Подсветка а-ля Ambilight

Сообщение Duhas » 05 мар 2010, 16:43

тоже вариант... как рас для продолжения проекта )
«Как сердцу выразить себя? … Мысль изреченная есть ложь!»
В этом мире меня подводит доброта и порядочность...
"двое смотрят в лужу, один видит лужу, другой отраженные в ней звезды"
Аватара пользователя
Duhas
 
Сообщения: 6338
Зарегистрирован: 15 сен 2007, 13:03
Откуда: Красноярск
прог. языки: ASM(МК), C(PC)
ФИО: Гагарский Андрей Александрович

Пред.След.

Вернуться в Золотой фонд

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 2