С Новым годом! Форум программистов, компьютерный форум, киберфорум
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.97/141: Рейтинг темы: голосов - 141, средняя оценка - 4.97
21 / 21 / 8
Регистрация: 07.01.2009
Сообщений: 556

Рисование с Canvas

10.05.2009, 12:18. Показов 28257. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Подскажите новичку в Delphi-рисовании, как можно стереть с формы всё, что было нарисовано с помощью Canvas.MoveTo(); Canvas.LineTo(); Canvas.Ellipse().
В учебниках не нашёл.
3
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
10.05.2009, 12:18
Ответы с готовыми решениями:

Рисование с canvas
Итак, в чем в общем суть моей проблемы я ввожу скажем две координаты точки, надо проверить принадлежность ее к треугольнику, который в...

Рисование на canvas в цикле
имеется какой-то массив. например, 1 250 2 250 3 250 4 125; 4 125 5 250 6 250 7 250; 8 250 9 250 10 250 11 125; 11 125 12 250 13 250 14...

Рисование квадрата, работа на canvas
Рисование квадрата, работа на canvas Создать приложение, позволяющее: 1) рисовать квадрат в середине формы (размер стороны квадрата...

7
 Аватар для Otaka
1857 / 714 / 55
Регистрация: 11.12.2008
Сообщений: 1,019
10.05.2009, 13:35
Лучший ответ Сообщение было отмечено как решение

Решение

Delphi
1
2
Canvas.Brush.Color:=clWhite;
Canvas.FillRect(Rect(0,0,W,H));//W H- размеры прямоугольника
4
21 / 21 / 8
Регистрация: 07.01.2009
Сообщений: 556
13.05.2009, 02:36  [ТС]
Цитата Сообщение от Otaka Посмотреть сообщение
Canvas.Brush.Color:=clWhite;
Canvas.FillRect(Rect(0,0,W,H));//W H- размеры прямоугольника
Спасибо! Помогло. Только я использовал Canvas.Brush.Color:=clBtnFace, т.к. рисовал на форме с цветом по умолчанию.

Теперь есть ещё один актуальный вопрос по рисованию с Canvas:
Любые окна, проходящие над рисунком на форме - стирают этот рисунок. Как с этим бороться?
2
Эксперт С++
 Аватар для Phantom
3189 / 869 / 39
Регистрация: 29.12.2008
Сообщений: 951
13.05.2009, 09:15
Чтобы с этим бороться, нужно помещать код рисования (или вызовы функций и процедур рисования) в событие OnPaint формы. Оно отвечает за перерисовку.
2
2 / 2 / 0
Регистрация: 15.03.2009
Сообщений: 15
18.05.2009, 20:52
Спасибо, все помогли
2
2 / 2 / 0
Регистрация: 25.03.2012
Сообщений: 4
29.04.2012, 20:53
Delphi
1
2
Canvas.Brush.Color := clWhite;
Canvas.FillRect(Canvas.ClipRect);
Это очищает ВСЮ форму!
0
Заблокирован
30.04.2012, 02:59
Phantom,
А смысл? Зачем сто раз рисовать одно и тоже? Это нужно делать если сам рисунок меняется.
Обычно рисуют на отдельном битмапе а при событии паинт, этот самый битмап рисуют на приёмнике.

pivogol,
Самый быстрый способ очистить канвас формы
PatBlt(Form1.Canvas.Handle, 0, 0, Form1.ClientWidth, Form1.ClientHeight, WHITENESS);
1
Эксперт С++
 Аватар для Phantom
3189 / 869 / 39
Регистрация: 29.12.2008
Сообщений: 951
30.04.2012, 20:00
Цитата Сообщение от Phantom Посмотреть сообщение
Чтобы с этим бороться, нужно помещать код рисования (или вызовы функций и процедур рисования) в событие OnPaint формы.
Цитата Сообщение от Lirrk Посмотреть сообщение
Обычно рисуют на отдельном битмапе а при событии паинт, этот самый битмап рисуют на приёмнике.
А битмап отрисовывается или появляется по щучьему велению? Просто если отрисовывается, то Ваш вопрос не понятен.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
30.04.2012, 20:00
Помогаю со студенческими работами здесь

image canvas рисование прямоугольника
procedure Timg_brd.FormCreate(Sender: TObject); begin image:=Tbitmap.Create; image.LoadFromFile('out.bmp'); ...

Canvas, рисование мишени с N окружностями и равноизменяющимся радиусом
Задача заключается в рисовании мишени с N окружностями и равноизменяющимся радиусом, но в нете не могу найти решения проблемы такой, что...

Рисование Canvas, не могу понять, где ошибка в коде
Всем привет, помогите разобраться, не понимаю, где у меня противоречия в условии, что шарик не может сдвинуться unit Unit1; ...

рисование в DELPHI, используя свойство Canvas
Привет Всем!!! Ребята, помогите доделать лабораторную работу, пожалуйста!!! Задание: 1. После запуска DELPHI необходимо создать...

Рисование в canvas
Здравствуйте. Как закруглить углы квадрата который нарисован на объекте canvas и как потом на этом квадрате нарисовать вопросительный знак?...


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение. И на уровне агентов добавится между грибами или бактериями взаимодействий. До того я пробовал подход через многомерные массивы,. . .
Учёным и волонтёрам проекта «Einstein@home» удалось обнаружить четыре гамма-лучевых пульсара в джете Млечного Пути
Programma_Boinc 01.01.2026
Учёным и волонтёрам проекта «Einstein@home» удалось обнаружить четыре гамма-лучевых пульсара в джете Млечного Пути Сочетание глобально распределённой вычислительной мощности и инновационных. . .
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
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-динозавры, а новое поколение лёгких потоков. Откат?. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru