|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
26.08.2010, 21:47 | #1 |
Форумчанин
Регистрация: 04.07.2007
Сообщений: 549
|
[C# + WPF] Выделение области экрана. Способ жуткий тормоз.
Привет всем. Написал класс для выделения области на экране, всё работает но как мне кажется жутко тормозит. Подозреваю это из за перерисовки всего экрана, то есть надо бы переделать вообще это. И мне хотелось бы узнать как это можно сделать? Что то на ум ничего толкового не приходит. Может кто, что нибудь посоветует? Я ещё не закончил с этим классом, поэтому там пока полный хаос, я аж сам иногда путаюсь, что к чему, мне главное сделать, чтобы работало как надо, а красоту и удобство навести можно потом.
Я имею ввиду, какими классами для работы с изображениями можно воспользоваться и хотябы в общих словах, как сделать, чтобы не так тормозило? Можно скачать проект с этим классом (72.5 кб) Код огромный для этого форума. Так что приведу лишь небольшую часть кода из класса: Код:
Последний раз редактировалось Casper-SC; 26.08.2010 в 21:52. Причина: Нечайно создал тему с названием - ыыыыыыыыыыыыы |
26.08.2010, 21:55 | #2 |
Android Developer
Старожил Подтвердите свой е-майл
Регистрация: 19.02.2007
Сообщений: 3,708
|
Сам когда только начала использовать WPF тоже начал ручками рисовать )) сглупил. Выбросьте этот код и используйте компонент Rectangle или тот же Border. Прозрачность окна где надо и не надо все настраивается в Blend или ручками в xaml in VS пробуйте
|
26.08.2010, 22:20 | #3 |
Форумчанин
Регистрация: 04.07.2007
Сообщений: 549
|
Что-то я не совсем понимаю как это сделать. В этом коде я просто делаю скриншот всего экрана, записываю в BitmapImage, потом просто закрашиваю скриншот кистью с сплошным цветом и с прозрачностью. Получается затенённый скриншот:
Короче 2 скриншота одинаковых, только один затенённый из них. А так я использую Rectangle. |
27.08.2010, 14:50 | #4 |
Форумчанин
Регистрация: 04.07.2007
Сообщений: 549
|
Так что, знает кто нибудь как это сделать? Вот набросал я примерно так как было посоветовано. И как теперь выделять область так, чтобы внутри выделения картинка была видна нормально? Что-то я не понимаю, много перепробовал всего, не выходит и всё. В результате надо то, что на скриншоте выше в прошлом моём сообщении.
Код:
|
28.08.2010, 21:17 | #5 |
Форумчанин
Регистрация: 04.07.2007
Сообщений: 549
|
Короче это не реально, что только я не пробовал. Ну никак не делается по другому. И OpacityMask использовал и прямоугольники заливал разными способами, вообще ничего толкового не вышло, тупо разными цветами заливается 2 прямоугольника, один которым выделяешь, а второй растянутый по верх формы, типа затеняющий картинку. Уже терпения нет. Пожалуй заброшу эту идею.
|