Форум программистов, компьютерный форум, киберфорум
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.78/18: Рейтинг темы: голосов - 18, средняя оценка - 4.78
1 / 1 / 0
Регистрация: 25.11.2009
Сообщений: 35

Стирание всех LineTo

07.05.2011, 10:05. Показов 3385. Ответов 19
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Есть картинка, на ней по нажатию кнопки рисуется несколько линий с помощью LineTo. Как сделать чтоб при следующем нажатие старые линии стирались? Там просто от введенных данных линии в разных местах располагаются. И получается хрень в итоге. Пробовал с картинкой в начале процедуры Image.Refresh; и Image.Repaint; Не помогает!
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
07.05.2011, 10:05
Ответы с готовыми решениями:

LineTo
Здравствуйте! Кто-нибудь может показать пример только с LineTo (а то все примеры с графиками косинуса и синуса, а я только начинаю с WinApi...

Не рисует (LineTo)
int x1 = StrToInt(Edit1->Text); int y1 = StrToInt(Edit1->Text); int x2 = StrToInt(Edit1->Text); int y2 = StrToInt(Edit1->Text);...

Canvas->LineTo(X,Y);
как я понимаю функция Canvas->LineTo(X,Y); проводит прямую с текущей координаты в заданную(т,е в данном случае в X-Y вопрос как...

19
 Аватар для Arcor
5709 / 2300 / 466
Регистрация: 20.11.2009
Сообщений: 7,721
Записей в блоге: 1
07.05.2011, 11:57
всегда пользовался и не знаю в чем у вас проблемаО_о
Delphi
1
Repaint
в обработчике который должен стирать старые линии

стереть картинку
Delphi
1
Image1.Pickture := nil;
0
121 / 109 / 29
Регистрация: 18.12.2010
Сообщений: 378
07.05.2011, 12:03
Может быть, можно попробовать использовать что-то вроде буфера.
Например:
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
var
  Buff : TBitMap; // переменная, в которой картинка без всяких линий
...
procedure TForm1.Button1Click(Sender: TObject);
begin
Image1.Picture.Bitmap := Buff; // Он не стирает нарисованные линии -
                               // он заменяет картинку на ту, которая была раньше.
// Здесь рисуются Ваши LineTo
end;
// Я не знаю, что у Вас за программа и что она делает, 
// но теперь где-нибудь пропишите сохранение исходного рисунка, например, в событие OnCreate
procedure TForm1.FormCreate(Sender: TObject);
begin
Buff := Image1.Picture.Bitmap;
end;
0
 Аватар для Arcor
5709 / 2300 / 466
Регистрация: 20.11.2009
Сообщений: 7,721
Записей в блоге: 1
07.05.2011, 12:36
Цитата Сообщение от Parenek34 Посмотреть сообщение
Image.Refresh; и Image.Repaint
просто Repaint или Refresh
0
1 / 1 / 0
Регистрация: 25.11.2009
Сообщений: 35
07.05.2011, 12:52  [ТС]
в обработчике который должен стирать старые линии

стереть картинку
Delphi
1
Image1.Pickture := nil;
А как потом следующим шагом вернуть картинку?
Ну не помогает repaint или refresh. Картинка моргает при нажатие на кнопку, а линии все равно не исчезают. Мож че надо здесь прописать procedure TForm1.FormCreate(Sender: TObject); А то у меня все по нажатию на кнопку procedure TForm1.Button1Click(Sender: TObject);
0
 Аватар для Arcor
5709 / 2300 / 466
Регистрация: 20.11.2009
Сообщений: 7,721
Записей в блоге: 1
07.05.2011, 14:37
Цитата Сообщение от Parenek34 Посмотреть сообщение
в обработчике который должен стирать старые линии

стереть картинку
Delphi
1
Image1.Pickture := nil;
А как потом следующим шагом вернуть картинку?
Ну не помогает repaint или refresh. Картинка моргает при нажатие на кнопку, а линии все равно не исчезают. Мож че надо здесь прописать procedure TForm1.FormCreate(Sender: TObject); А то у меня все по нажатию на кнопку procedure TForm1.Button1Click(Sender: TObject);
ну думай же дальше немного, стер ты картинку а затем загрузил ее заново, то есть ты прописываешь где-то чтобы загрузить картинку например ты по нажатии на кнопку ее грузишь, ну поставь перед этим на 1 строку вышел удалить картинку, то есть удалил по нажатию и снова вставил...
0
1 / 1 / 0
Регистрация: 25.11.2009
Сообщений: 35
07.05.2011, 14:42  [ТС]
Так в том то и дело что я её не подгружаю, она сразу на форме есть, ну т.е. я её поставил. Поэтому как её подгрузить?
0
 Аватар для Arcor
5709 / 2300 / 466
Регистрация: 20.11.2009
Сообщений: 7,721
Записей в блоге: 1
07.05.2011, 14:46
мда... программеры блин....

Delphi
1
Image1.Picture.LoadFromFile('название каталога\ название файла.bmp');
если картинка хранится в той же папки что и проект то не надо название каталога писать
0
1 / 1 / 0
Регистрация: 25.11.2009
Сообщений: 35
07.05.2011, 14:49  [ТС]
Да это я знаю! Мне надо чтоб без всяких каталогов, вот сунул на форму картинку и все. Чтоб в итоге один .exe файл был и ему не надо было ничего грузить!

Добавлено через 1 минуту
Я понять не могу почему repaint не работает. Есть ещё какие-нибудь способы очистить картинку?
0
 Аватар для Arcor
5709 / 2300 / 466
Регистрация: 20.11.2009
Сообщений: 7,721
Записей в блоге: 1
07.05.2011, 14:54
а ты линии тоже в том же обработчике пишешь где у тебя вся прога обрабатывается?
может быть я и дятел... что -то не так делаю, ну у меня все получается...
Вложения
Тип файла: rar cvxy.rar (280.8 Кб, 35 просмотров)
0
 Аватар для Arcor
5709 / 2300 / 466
Регистрация: 20.11.2009
Сообщений: 7,721
Записей в блоге: 1
07.05.2011, 14:58
и чтобы картинка не мигала, если это так важно, поставь в создание формы вот такое
Delphi
1
DoubleBuffered := True;
0
1 / 1 / 0
Регистрация: 25.11.2009
Сообщений: 35
07.05.2011, 15:07  [ТС]
Делал и для отдельной кнопки как у тебя в проге. Они все равно остаются.
0
 Аватар для Arcor
5709 / 2300 / 466
Регистрация: 20.11.2009
Сообщений: 7,721
Записей в блоге: 1
07.05.2011, 15:09
ну может быть ты все же уже выложишь свой проект чтобы тут не гадали и не писали 1000 вариантов а нашли бы что у тебя не так...
0
1 / 1 / 0
Регистрация: 25.11.2009
Сообщений: 35
07.05.2011, 15:11  [ТС]
Вот прога эта.
Вложения
Тип файла: rar Диаграмма Парето.rar (375.1 Кб, 15 просмотров)
0
1 / 1 / 0
Регистрация: 25.11.2009
Сообщений: 35
07.05.2011, 15:13  [ТС]
Проект)))

Добавлено через 55 секунд
Я наверно тут уже многих достал)))
0
 Аватар для Arcor
5709 / 2300 / 466
Регистрация: 20.11.2009
Сообщений: 7,721
Записей в блоге: 1
07.05.2011, 15:20
так у тебя не 1 Image !!! Сразу сказать можно было?
0
1 / 1 / 0
Регистрация: 25.11.2009
Сообщений: 35
07.05.2011, 15:22  [ТС]
Да я хрен знает))) Че у меня там)))

Добавлено через 44 секунды
А че есть разница сколько их?
0
 Аватар для Arcor
5709 / 2300 / 466
Регистрация: 20.11.2009
Сообщений: 7,721
Записей в блоге: 1
07.05.2011, 15:23
Цитата Сообщение от Parenek34 Посмотреть сообщение
Да я хрен знает))) Че у меня там)))

Добавлено через 44 секунды
А че есть разница сколько их?
ну ты не на 1 рисуешь, а на нескольких сразу по очереди ...
0
1 / 1 / 0
Регистрация: 25.11.2009
Сообщений: 35
07.05.2011, 16:34  [ТС]
Не почему, только на первом столбе и на вот фоне т.е. на Image1 и на Image10

Добавлено через 38 секунд
Одна линия на Image1 и 7 на Image10

Добавлено через 1 час 7 минут
Чет походу сложное заданице мне доверили?
0
1 / 1 / 0
Регистрация: 25.11.2009
Сообщений: 35
08.05.2011, 22:46  [ТС]
Народ зацени почти готовый вариант проги, ну если интересно конечно.
Вложения
Тип файла: rar Диаграмма Парето.rar (927.4 Кб, 10 просмотров)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
08.05.2011, 22:46
Помогаю со студенческими работами здесь

функция LineTo
нужно нарисовать некий объект, совершено любой по координатам точек, которые задаются из поля Memo, при помощи LineTo. я пропустил тот...

LineTo: исходник
Здравствуйте, вообщем понятия не имею в какой раздел сувать вопрос: исходники canvas.lineTo, не получается написать штуковину (типа...

LineTo - начальная позиция
всюду написано,выводит линию из начальной позиции, а как задать эту начальную позицию??

~MoveTO, ~LineTO, ~CvLine
Есть рисунок, пока я рисую мне нужны Undo, Redo. Рисую соответственно на экране с помощью LineTo и MoveTo, а записываю в файл с помощью...

GDI (Moveto, LineTo)
Нарисовать с помощью MoveTo и LineTo (две точки - координаты обязательные (P1, P2), остальные - произвольные)


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
Фото: Daniel Greenwood
kumehtar 13.11.2025
Расскажи мне о Мире, бродяга
kumehtar 12.11.2025
— Расскажи мне о Мире, бродяга, Ты же видел моря и метели. Как сменялись короны и стяги, Как эпохи стрелою летели. - Этот мир — это крылья и горы, Снег и пламя, любовь и тревоги, И бескрайние. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru