Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.93/29: Рейтинг темы: голосов - 29, средняя оценка - 4.93
8 / 9 / 0
Регистрация: 26.03.2010
Сообщений: 108

Рисование линий

19.07.2010, 14:14. Показов 5575. Ответов 9
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Дорогие друзья! Я создаю что-то типа редактора изображений. Но вдруг у меня из памяти вылетело. Как можно мышкой рисовать по форме! Я использовал Canvas->LineTo и Canvas->MovieTo! Но рисуются только точки! Я помню был другой способ, но я его забыл, а той книги где я его читал под рукой нет! Помогите кому не трудно!
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
19.07.2010, 14:14
Ответы с готовыми решениями:

TImage:рисование линий
проблема такого характера: 1)нужно с помощю мыши нарисовать линию. 2)высчитать длину линии в пикселях Подскажите как это...

Рисование линий и запись координат в файл
Добрый день!!!задание состоит в следующем, есть Image1, на на него выводится сетка(кординаты х,у определяются), на которой рисуем...

Перетаскивание линий на TCanvas, мышью
Посоветуйте пожалуйста, как можно реализовать следующую задачу: например, мы нарисовали линию на TCanvas, затем хотим по нажатию мыши...

9
Программист TH
 Аватар для DanUnited
292 / 147 / 12
Регистрация: 06.01.2009
Сообщений: 537
19.07.2010, 15:39
LineTo используй в событие OnKeyDown а
MoveTo используй в событии OnKeyUp
1
Покинул форум
3189 / 1368 / 109
Регистрация: 29.01.2010
Сообщений: 2,887
19.07.2010, 19:38
Как нарисовать линию
0
8 / 9 / 0
Регистрация: 26.03.2010
Сообщений: 108
19.07.2010, 21:53  [ТС]
DanUnited, Способ хороший, но при перемещении мыши на другое место и если нажать клавишу то линий соединяется с прошлой линией!

Nitan, Спасибо! Но это моя тема! И я имею ввиду карандаш
0
Программист TH
 Аватар для DanUnited
292 / 147 / 12
Регистрация: 06.01.2009
Сообщений: 537
19.07.2010, 22:04
DanUnited, Способ хороший, но при перемещении мыши на другое место и если нажать клавишу то линий соединяется с прошлой линией!
делай запоминание еще в одну переменную, а лучше в массив переменных и обрабатывай через таймер.
1
Покинул форум
3189 / 1368 / 109
Регистрация: 29.01.2010
Сообщений: 2,887
19.07.2010, 22:09
Vladant, можеть быть так:
C++
1
2
3
4
5
6
void __fastcall TForm1::ImageMouseMove(TObject *Sender, TShiftState Shift,
      int X, int Y)
{
Image1->Canvas->Pixels[X][Y]=clBlack;
}
//---------------------------------------------------------------------------
Только этот способ очень плохой.
1
8 / 9 / 0
Регистрация: 26.03.2010
Сообщений: 108
19.07.2010, 22:15  [ТС]
Кажется этот! Спасибо! Только чем он очень плохой!
0
Покинул форум
3189 / 1368 / 109
Регистрация: 29.01.2010
Сообщений: 2,887
19.07.2010, 22:30
Vladant, быстро мышкой поводите и ответите себе на вопрос сами. К тому же, закрашиваться будет только один пиксель, так что он подойдет только в качестве карандаша....
0
Тутошний я
 Аватар для Grey
2147 / 1202 / 225
Регистрация: 03.11.2009
Сообщений: 4,424
Записей в блоге: 2
19.07.2010, 22:59
Лучший ответ Сообщение было отмечено как решение

Решение

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
void __fastcall TForm1::Image1MouseDown(TObject *Sender,
      TMouseButton Button, TShiftState Shift, int X, int Y)
{
if (Shift.Contains(ssLeft))//åñëè íàæàòà ëåâàÿ
{
Image1->Canvas->MoveTo(X,Y);//íà÷àëî ëèíèè
}
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Image1MouseMove(TObject *Sender, TShiftState Shift,
      int X, int Y)
{
if (Shift.Contains(ssLeft))
{
Image1->Canvas->LineTo(X,Y);//ðèñóåì
}
}
4
Покинул форум
3189 / 1368 / 109
Регистрация: 29.01.2010
Сообщений: 2,887
19.07.2010, 23:05
Grey, вот это отличный способ.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
19.07.2010, 23:05
Помогаю со студенческими работами здесь

Создание линий между Image
Доброго времени суток. Проблема в следующем: как, по нажатию кнопки нарисовать линию между изображениями, которые создаются следующим...

Можно ли узнать координаты линий сетки Tchart?
Требуется в canvas TChart'a перерисовать (наложить) линию певерх определённой линии сетки Tchart. Это нужно для выделения. Если брать...

Разная толщина линий при рисовании методом DrawLine
Доброго времени суток. Формирую сетку методом DrawLine вот код: const int X_step = 43; const int Y_step = 43; const int X_count =...

Рисование линий
Подскажите как нарисовать подряд линии? Graphics gr = e.Graphics; Pen p = new Pen(Color.Blue, 5);// цвет линии и ширина ...

Рисование линий
Здравствуйте все. Мой вопрос в том, как нарисовать линии поверх изображения так, чтобы при зумировании изображения линии соответствовали...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK сделайте это, JDK, то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Перейдите по ссылке:. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь(не выше 3-го порядка) постоянного тока с элементами R, L, C, k(ключ), U, E, J. Программа находит переходные токи и напряжения на элементах схемы классическим методом(1 и 2 з-ны. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru