![]() |
|
Модераторы: Partizan, gambit |
![]()
|
|
| GLeBaTi |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 129 Регистрация: 1.2.2008 Где: г.Чебоксары Репутация: нет Всего: 0 |
Вопрос: у меня есть линия(e.DrawLine(...)) при щелчке мыши, как узнать, я на линию щелкнул или нет ?
|
|||
|
||||
| Partizan |
|
|||
![]() Let's do some .NET ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 2828 Регистрация: 19.12.2005 Где: Санкт-Петербург Репутация: 18 Всего: 67 |
сверить принадлежат ли координаты щелчка линии...элементарная алгебра, 10-й класс...
-------------------- СУВ, Partizan. |
|||
|
||||
| GLeBaTi |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 129 Регистрация: 1.2.2008 Где: г.Чебоксары Репутация: нет Всего: 0 |
У меня там сложный график из мн-ва линий)
Ну тогда как проверить каким цветом пиксель, на который я нажал ? |
|||
|
||||
| Partizan |
|
|||
![]() Let's do some .NET ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 2828 Регистрация: 19.12.2005 Где: Санкт-Петербург Репутация: 18 Всего: 67 |
Получаете объект типа Graphics для нужной области, а затем на его основе создаёте объект Bitmap, у которого есть метод GetPixel
-------------------- СУВ, Partizan. |
|||
|
||||
| Idsa |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2086 Регистрация: 5.12.2006 Где: Томск Репутация: 14 Всего: 62 |
* Проходил мимо * WPF всему голова: там геометрические фигуры выполнены в виде контролов, поэтому для них уже реализованы события Click, MouseDown, MouseUp и т. д. Хотя впринципе можно реализовать подобные контролы и в WinForms...
Способ, предложенный Partizan, позволяет работать с "легкой" графикой (все же контролы будут больше тормозить), но требует затраты ресурсов на просчет принадлежности пиксела к тому или иному объекту. Способ с контролами более тяжеловесный (и поэтому может не подходить в случае real-time графиков), но зато не требует затрат на определение, по какому объекту был осуществлен клик (он будет храниться в переменной sender обработчика клика). |
|||
|
||||
| GLeBaTi |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 129 Регистрация: 1.2.2008 Где: г.Чебоксары Репутация: нет Всего: 0 |
мне надо на Win Forms
|
|||
|
||||
| GLeBaTi |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 129 Регистрация: 1.2.2008 Где: г.Чебоксары Репутация: нет Всего: 0 |
в чём у меня проблема ?) |
|||
|
||||
| Partizan |
|
|||
![]() Let's do some .NET ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 2828 Регистрация: 19.12.2005 Где: Санкт-Петербург Репутация: 18 Всего: 67 |
GLeBaTi, в том, что какого-то из объектов в той строке не существует...
скорее всего GetPixel вернул null... -------------------- СУВ, Partizan. |
|||
|
||||
| GLeBaTi |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 129 Регистрация: 1.2.2008 Где: г.Чебоксары Репутация: нет Всего: 0 |
у меня pictureBox1.Image == null - почему ? Так не должно быть(((
|
|||
|
||||
| Rififi |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1254 Регистрация: 9.3.2008 Репутация: 5 Всего: 36 |
GLeBaTi,
у меня pictureBox1.Image == null - почему ? Так не должно быть((( а у меня полное отсутствие джин-тоника в холодильнике. так не должно быть, однако он пуст. "Life sucks, and then you die" © Dead Like me. почему? неправильно инициализировал PictureBox или вообще забил на инициализацию. |
|||
|
||||
| GLeBaTi |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 129 Регистрация: 1.2.2008 Где: г.Чебоксары Репутация: нет Всего: 0 |
неужели никто не сталкивался с этим ?
|
|||
|
||||
| Exai1e |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 908 Регистрация: 3.12.2006 Где: Moscow Репутация: 3 Всего: 30 |
GLeBaTi, ну дык проверьте что вам возвращает:
ведь вам в "лоб" говорят что то с чем вы пытаетесь работать ( а скорей всего это битмап ) его не существует. Это сообщение отредактировал(а) Exai1e - 18.4.2009, 17:00 -------------------- "Решение зависит от выбранного геморроя" © Snowy "у нас как в армии - либо работает, либо так и задумано" |
|||
|
||||
| DragonFire |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 725 Регистрация: 14.8.2005 Где: Москва Репутация: 1 Всего: 9 |
Если ян е путаю - Image это изображение которое ты загружаешь в него... если же ты изображение не загружаешь а просто рисуешь на нем надо юзать Graphics...
|
|||
|
||||
| -Mikle- |
|
|||
![]() Невидимка Vingrad'а ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 1672 Регистрация: 22.6.2003 Где: Казахстан, Астана Репутация: 17 Всего: 59 |
GLeBaTi, видимо ты рисуешь вызывая метод Graphics.DrawLine(...), используй вместо этого GraphicsPath.AddLine(...).
Вот пример (добавь панель):
Добавлено через 3 минуты и 23 секунды Если ты делаешь нечто вроде графического редактора, то полезно будет разделить графические объекты по классам. -------------------- Если тебе плюют в спину, значит ты впереди... |
|||
|
||||
| GLeBaTi |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 129 Регистрация: 1.2.2008 Где: г.Чебоксары Репутация: нет Всего: 0 |
мне надо просто узнать цвет пикселя на PictureBox.Вот только как ?)
|
|||
|
||||
![]()
|
| Прежде чем создать тему, посмотрите сюда: | |
|
|
Используйте теги [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. |