Форум программистов, компьютерный форум, киберфорум
Наши страницы
C# Windows Forms
Войти
Регистрация
Восстановить пароль
Другие темы раздела
C# Сеть Фейстеля (.des) https://www.cyberforum.ru/windows-forms/thread2519683.html
Есть код, стандартного шифра Фейстеля, необходимо переделать, как на картинке, не понимаю что и где именно надо изменить. Возможно код не особо верен, но работает 100%. Подскажите пожалуйста!...
Разработать класс для работы с обыкновенными дробями C#
Разработать класс для работы с обыкновенными дробями, числителем и знаменателем которых являются длинные числа (используем класс «Длинные числа»). В модуле должны быть представлены следующие...
C# Написать программу для вычисления таблицы значений функции
Написать программу для вычисления таблицы значений функции: d=10(3x+xy+2)при x=3,02 y=2; Помогите пожалуйста очень прошу. Визуальное представление экрана должно выглядеть следующим образом:
C# Как перезаписать открытый файл? Открыл картинку, поместил в pictureBox, изменил в ней что-то. Как перезаписать файл без ошибок gdi и с тем же форматом файла? https://www.cyberforum.ru/windows-forms/thread2519527.html
C# Экспорт в Word и Excel https://www.cyberforum.ru/windows-forms/thread2519526.html
Как прописать код, чтобы экспортировать из dataGridview в формате doc и xls
Создание графика в формате ЕГЭ C#
Добрый вечер, появилась проблема, надеюсь поможете, в чем суть, вообще при нажатии на кнопку вызывается функция task(), которая генерирует 2 массива, xy (который отвечает за наглядность графика) и...
C# Как вывести текст из richtextBox при нажатии на button вывести текст в ComboBox
Здравствуйте.Как вывести текст из richtextBox при нажатии на button вывести текст в ComboBox в виде нового элемента?
C# Не работает оператор if Делаю парс фото из группы в вк. Не судите за код, так как это мое первое приложение в подобной тематике. В чем смысл: у каждой фотки есть описание, мне нужно спарсить это описание и ссылку на фотку.... https://www.cyberforum.ru/windows-forms/thread2519447.html
C# Создайте приложение, отображающее увеличивающиеся окружности, центры которых лежат на спирали https://www.cyberforum.ru/windows-forms/thread2519442.html
Создайте приложение, отображающее увеличивающиеся окружности, центры которых лежат на спирали
C# Ошибка в коде CS0649. Не понятно почему выдает данную ошибку.Также ошибка в форме со словом ref Код Класса using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; namespace Лабораторные_работы { https://www.cyberforum.ru/windows-forms/thread2519414.html
Keramer82
2 / 1 / 1
Регистрация: 30.07.2019
Сообщений: 63
0

Как сделать так, чтобы линия "тянулась" за мышью?

27.10.2019, 04:34. Просмотров 3486. Ответов 25
Метки (Все метки)

Доброго времени суток! При написании графического редактора столкнулся с проблемой, никак не получается решить.
В общем линия у меня рисуется в локальных координатах открытого изображения (нужно именно так), за мышкой тянется, но прорисовывается каждый шаг движения мыши, а мне нужно удалить только что нарисованное и нарисовать линию заново при событии MouseMove. Метод Clear не помогает, так как линия должна идти поверх открытого рисунка, а не на однородном фоне.
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
        private void zoomPictureBox1_MouseDown(object sender, MouseEventArgs e)
        {
            if (e.Button == MouseButtons.Left)
                {
                    //открытый рисунок
                    canvas = new Bitmap(zoomPictureBox1.Image); 
                    // холст для рисования линии
                    canvas2 = new Bitmap(zoomPictureBox1.Image.Width, zoomPictureBox1.Image.Height);
                    //стртовая точка в локальных координатах открытого изображения
                    StartPositionLassoScreen = new Point(zoomPictureBox1.ClientToImagePoint(e.Location).X,
                        zoomPictureBox1.ClientToImagePoint(e.Location).Y);
                    //признак начала рисования
                    pressedLasso = true;
                }
        }
 
        private void zoomPictureBox1_MouseMove(object sender, MouseEventArgs e)
        {
            if (pressedLasso)
                {
                    canvas2 = canvas;
                    Graphics graph = Graphics.FromImage(canvas2);
                    //-----------------------------------------------------
                    // Здесь нужно удалить только что нарисованное, если оно есть, но не трогать открытый рисунок...
                    //graph.Clear(Color.Empty); //так работает, но открытый рисунок исчезает
                    //-----------------------------------------------------
                    //вторая точка линии (тянется за курсором)
                    NextPositionLassoScreen = zoomPictureBox1.ClientToImagePoint(e.Location);
                    //метод рисования линии попиксельно
                    Bresenham_Line(graph, Color.Violet,
                        (int)(StartPositionLassoScreen.X), (int)(StartPositionLassoScreen.Y),
                        (int)(NextPositionLassoScreen.X), (int)(NextPositionLassoScreen.Y));
                    zoomPictureBox1.UpdateImage(canvas2);
                }
Помогите, пожалуйста, решить данную проблему. Может быть можно как-то очистить графику не цветом, а рисунком? Очень нужно...

Вернуться к обсуждению:
Как сделать так, чтобы линия "тянулась" за мышью?
0
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.10.2019, 04:34
Готовые ответы и решения:

Сделать так, чтобы линия "тянулась" за курсором мыши
Делаю маленький граф редактор. По щелчку мыши задаются начальные координаты, по отпусканию...

Написать графический редактор - как сделать, чтобы элемент (например, линия или прямоугольник) был объектом?
Здравствуйте! Передомной стоит задача написать графический редактор, собственно подскажите...

Как сделать так, чтобы в анимации за точкой рисовалась линия
Как сделать так,чтобы в анимации за точкой рисовалась линия?

Как сделать так, чтобы линия разрыва страницы НЕ ПРОХОДИЛА через объединенные ячейки?
Братья и сёстры, кто подскажет - как сделать так, чтобы линия разрыва страницы НЕ ПРОХОДИЛА через...

Сделать так, чтобы форма не двигалась когда берут её мышью за название
здравствуйте, собственно сабж, Ворд ВБА, спасибо

25
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.