0 / 0 / 1
Регистрация: 09.11.2013
Сообщений: 72
|
||||||
1 | ||||||
Выделение прямоугольной области в PictureBox мышкой14.08.2014, 04:03. Показов 10417. Ответов 5
Метки нет Все метки)
(
Делаю простенький редактор изображений для себя.
Нужно сделать что то типа выделения отдельного прямоугольника изображения для дальнейших манипуляций с этим куском изображения. Все как в обычных редакторах. Зажал кнопку мышы протянул прямоугольник нужного размера и отпустил кнопку. Для того чтобы было видно какая область рисунка выделяется я рисую прямоугольник на сомом PictureBox'е поверх изображения при движении мышки с зажатой кнопкой.
я ради теста пробовал обновлять рисунок pictureBox.Image = my_bmp. только на каждое третее срабатывание MouseMove. тогда прямоугольник рисуемый в g1.DrawRectangle() остовался видемым примерно и 66% случаев. Тоесть проблема имено в том что pictureBox.Image = my_bmp рисуется после g1.DrawRectangle();
0
|
|
14.08.2014, 04:03 | |
Ответы с готовыми решениями:
5
|
8927 / 4839 / 1885
Регистрация: 11.02.2013
Сообщений: 10,246
|
||||||
14.08.2014, 04:47 | 2 | |||||
![]() Решение
Если ты назначил рисунок через свойство Image, то его не нужно перерисовывать. Оно находится как бы в бэкграунде и всё рисуется поверх него.
Я предпочитаю переключать события рисования. См. пример:
5
|
Заблокирован
|
||||||
14.08.2014, 05:13 | 3 | |||||
Ну как-то так... Надо рисовать именно на Image. А для этого
Это C++/CLI, но объектная модель, свойства и методы и в C# почти что те же.
1
|
0 / 0 / 1
Регистрация: 09.11.2013
Сообщений: 72
|
|
14.08.2014, 06:04 [ТС] | 4 |
Гранд мерси!!!! Это я рисовал черт знает из какого события.
сделал как в примере через событие Paint и e.graphics и нет проблем =)) ![]()
0
|
0 / 0 / 1
Регистрация: 13.06.2014
Сообщений: 29
|
||||||
13.06.2016, 22:49 | 5 | |||||
Помогите, пожалуйста! Тоже столкнулся с подобной задачей - код, приведенный выше, прекрасно подходит для выделения. Но мне дальше нужно в выделенной области подредактировать цвета.Я написал небольшой кусочек кода, который работает по всей картинке так, как мне нужно:
Добавлено через 1 час 6 минут ViterAlex, можете подсказать решение?
0
|
0 / 0 / 1
Регистрация: 13.06.2014
Сообщений: 29
|
||||||
10.10.2016, 19:29 | 6 | |||||
Здравствуйте, помогите пожалуйста! Приведенный выше код очень помог, но мне нужно чтобы при новом выделении старый прямоугольник не исчезал, чтобы происходило наложение. Не получается это реализовать, можете помочь?
ViterAlex, можете помочь?
0
|
10.10.2016, 19:29 | |
Помогаю со студенческими работами здесь
6
Выделение прямоугольной области в datagridview
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |