![]() |
|
Модераторы: Partizan, gambit |
![]()
|
|
| Specialistvlad |
|
||||
|
Новичок Профиль Группа: Участник Сообщений: 14 Регистрация: 20.10.2010 Репутация: нет Всего: нет |
Доброй ночи.
Решил собрать свой вариант ambilight т.к. из инета примеры не понравились. Вот фото(кликабельно) ![]() ![]() ![]() Видео http://www.youtube.com/watch?v=8_zCedHGcak http://www.youtube.com/watch?v=D75QGyhxvIc Вообщем проблема видна на втором видео, скриншоты снимает программа очень медленно, а в ручном режиме все летает и цвета меняются очень быстро и плавно. Погуглив нашел парочку способов, но все они работают примерно также тормознуто. Сразу скажу, что с .Net и C# знаком 5 дней. Пытаюсь разковырять это все, трудно дается. Вот так я снимаю скриншот
Потом мне нужно разбить скрин на 4 штуки указанных размеров.
Интуитивно понятно, что код ну совсем кривой Подскажите пожалуйста, как мне можно снимать скриншоты быстрее? Весь материал и исходники после того как все адекватно заработает я размещу у себя в блоге. Заранее спасибо за помощь. |
||||
|
|||||
| jonie |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5613 Регистрация: 21.8.2005 Где: Владимир Репутация: 22 Всего: 118 |
а тупит снятие скрина или его обработка? Проверяли что не обработка?
-------------------- Что-то не поняли? -> Напейтесь до зеленых человечков... эта сверхцивилизация Вам поможет... |
|||
|
||||
| CYBERDREAM |
|
|||
![]() I think, there4 I am ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1096 Регистрация: 31.10.2006 Где: CyberLand Репутация: 11 Всего: 28 |
Приветствую Specialistvlad,
По поводу разбивки, лучше не попиксельно а через DrawImage объекта графикс. Так что не прийдется бегать тысячи раз по пикселям - дорогостоящая операция выходит. http://msdn.microsoft.com/en-us/library/sy...e(v=VS.80).aspx А по поводу скриншота посредством директX, увы не знаю, попробуй http://blog.bobcravens.com/2009/04/fastest...-vista-vs-win7/ Операция по идее не сильно тормознутая - 50милисикунд выходит примерно Добавлено через 48 секунд jonie, по идее именно обработка и тормозит его процесс -------------------- Ищем .Net, Java, Javascript разработчиков, Кипр, Лимассол. (знание английского необязательно) Telegram, skype: kuchuk.artiom |
|||
|
||||
| Specialistvlad |
|
||||||||||
|
Новичок Профиль Группа: Участник Сообщений: 14 Регистрация: 20.10.2010 Репутация: нет Всего: нет |
Пытаюсь использовать исходники из приведенной вами ссылки. Пока не получается, две ошибки.
Подскажите как их решить, не могу понять, что от меня хочет. Что делал: 1. Перетянул папку(ScreenCapture) с тремя файлами в "Обозреватель решений" (CaptureScreen.cs, GDIStuff.cs, Win32Stuff.cs) 2. Открыл файл Form1.cs из того проекта и посмотрел, что есть строка
Добавил её к себе вместе с методом
Исходник файла CaptureScreen.cs
Изпользую функцию Display(CaptureDesktopWithCursor()); как в том проекте - ругается на вложенную функцию. Где-то не добавил я чего-то... ( И по поводу разбивки. Как мне использовать один из методов Graphics.DrawImage Method Для моего изображения?
Кстати, забыл написать, что микроконтроллер(PIC 18F46J50) управляется через USB HID, не требующий сторонних драйверов, вообщем все удобно, позже хочу написать статью как это все собрать. Это сообщение отредактировал(а) Specialistvlad - 15.12.2010, 18:02 |
||||||||||
|
|||||||||||
| jonie |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5613 Регистрация: 21.8.2005 Где: Владимир Репутация: 22 Всего: 118 |
а не баян ли это будет ?) http://habrahabr.ru/blogs/DIY/100085/ -------------------- Что-то не поняли? -> Напейтесь до зеленых человечков... эта сверхцивилизация Вам поможет... |
|||
|
||||
| Specialistvlad |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 14 Регистрация: 20.10.2010 Репутация: нет Всего: нет |
Там используется Atmega контроллер, а я делаю на PIC. В целях саморазвития.
|
|||
|
||||
| Specialistvlad |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 14 Регистрация: 20.10.2010 Репутация: нет Всего: нет |
Люди, ауу..
|
|||
|
||||
| Дрон |
|
|||
![]() Java-ненавистник :) ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3179 Регистрация: 29.12.2002 Где: Санкт-Петербург Репутация: 24 Всего: 93 |
Я думаю, что тормозит SetPixel/GetPixel в цикле.
У меня сейчас времени нет, да и с графикой я в .NET плотно не работал, хотя с предметом знаком Метод CutZoneFromImage, как я понимаю, вырезает прямоугольную область из картинки. Зачем это надо? Как сказал CYBERDREAM это можно сделать через DrawImage, но я вообще не совсем понимаю зачем это. Тебе ведь наверно нужен средний цвет для какой-то области, так? Это сообщение отредактировал(а) Дрон - 16.12.2010, 16:04 -------------------- Да. Именно так. |
|||
|
||||
![]()
|
| Прежде чем создать тему, посмотрите сюда: | |
|
|
Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов. Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :) Так же не забывайте отмечать свой вопрос решенным, если он таковым является :) Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |