Форум программистов, компьютерный форум, киберфорум
Delphi: Графика, звук, видео
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.70/20: Рейтинг темы: голосов - 20, средняя оценка - 4.70
 Аватар для KeLLeR_2
2 / 2 / 1
Регистрация: 01.06.2009
Сообщений: 134
Записей в блоге: 1

заливка фигур.

30.06.2010, 09:19. Показов 4378. Ответов 13
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Дали задание нарисовать лодку с парусом. но для полной сдачи сказали чтобы она была раскрашена.
Никак не получается залить. помогите кто может.

Delphi
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
procedure Titanik(x, y: integer; // координаты базовой точки
  color: TColor); // цвет корабля
const
  dx = 5;
  dy = 5;
var
  buf: TColor;
begin
  with form1.canvas do
  begin
    buf := pen.Color; // сохраним текущий цвет
    pen.Color :=color; // установим нужный цвет
    // рисуем ...
    arc(x +15 * dx, y - 8 * dy, x + 5 * dx,y,x+10*dx,y,x+15*dx,y-4*dy);
    arc(x + 12 * dx, y - 14 * dy, x, y, x + 12 * dx, y - 6 * dy, x + 6 * dx, y - 14 * dy);
    arc(x + 6 * dx, y - 5 * dy, x + 12 * dx, y - 7 * dy, x + 12 * dx, y - 6 * dy,x+6*dx, y-6*dy );
    arc(x + 4 * dx, y - 6 * dy, x + 8 * dx, y - 14 * dy,x+6*dx,y-4*dy,x+6*dx,y-14*dy);
 
    MoveTo(x, y);
    LineTo(x, y - 4 * dy);
    LineTo(x + 15 * dx, y - 4 * dy);
    MoveTo(x + 10 * dx, y );
    LineTo(x,y);
 
    MoveTo(x + 6 * dx, y - 4 * dy);
    LineTo(x + 6 * dx, y - 14 * dy);
    MoveTo(x + 6 * dx, y - 6 * dy);
    LineTo(x + 12 * dx, y - 6 * dy);
    pen.Color := buf; // восстановим старый цвет карандаша
  end;
end;
Вложения
Тип файла: rar Лодка с парусом.rar (168.4 Кб, 55 просмотров)
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
30.06.2010, 09:19
Ответы с готовыми решениями:

Заливка Image
Продскажите пожалуста как зделать в Image чтобы его заливка менялась то в черный то в белый через каждие 5 сек

Градиентная заливка
Помогите , пожалуйста! Мне нужна следующая программа: на форме расположены два текстбокса, в которые вводятся коды rgb для создания...

Заливка градиентом
В программе должно быть 4 кнопки. При нажатии на кнопку происходит соответствующая заливка градиентом. (на рисунке указаны 4 фигуры залитые...

13
7 / 7 / 1
Регистрация: 30.06.2010
Сообщений: 27
30.06.2010, 21:39
как в пэйнте надо

Добавлено через 33 минуты
областями заливать, только чуток оптимизировать видимо нужно
0
240 / 218 / 46
Регистрация: 17.04.2010
Сообщений: 526
30.06.2010, 22:33
KeLLeR_2, FloodFill должен тебе помочь.
0
 Аватар для KeLLeR_2
2 / 2 / 1
Регистрация: 01.06.2009
Сообщений: 134
Записей в блоге: 1
01.07.2010, 04:06  [ТС]
пытался им.. что то не выходит. два варианта.. не заливается и видимых эфектов нету.. и заливается но картинка чуть притормаживать с прорисовкой начинает.
0
 Аватар для snake32
3502 / 1685 / 236
Регистрация: 26.02.2009
Сообщений: 8,385
Записей в блоге: 6
01.07.2010, 11:21
Чтоб не тормозило при следующих отрисовках одного и тогоже объекта, можно в самом начале создать Битмап в памяти, нарисовать объект в этом битмапе, а при прорисовке, выводить только этот битмап в нужном месте экрана. Таким образом отображение заметно ускорится(в зависимости от сложности объекта)
0
240 / 218 / 46
Регистрация: 17.04.2010
Сообщений: 526
01.07.2010, 12:57
KeLLeR_2, подправил твой проект и прикрепил.
Вложения
Тип файла: zip Лодка с парусом.zip (6.9 Кб, 92 просмотров)
0
 Аватар для KeLLeR_2
2 / 2 / 1
Регистрация: 01.06.2009
Сообщений: 134
Записей в блоге: 1
01.07.2010, 14:15  [ТС]
snake32, проблема в том что тормоза есть а заливки не видно. ни в одном случае.

Добавлено через 3 минуты
x128, Спасибо.. возьму на вооружение =)
0
 Аватар для Козырь
39 / 38 / 6
Регистрация: 11.05.2010
Сообщений: 141
01.07.2010, 14:17
А brush.color- кто-нибудь отменял, или его нельзя использовать?
0
 Аватар для KeLLeR_2
2 / 2 / 1
Регистрация: 01.06.2009
Сообщений: 134
Записей в блоге: 1
01.07.2010, 14:20  [ТС]
насколько помню он при рисование прямоугольников помогает... а тут кучка линий и дуг..
0
 Аватар для Козырь
39 / 38 / 6
Регистрация: 11.05.2010
Сообщений: 141
01.07.2010, 14:23
ой, точно. Сел в лужу.
0
 Аватар для KeLLeR_2
2 / 2 / 1
Регистрация: 01.06.2009
Сообщений: 134
Записей в блоге: 1
01.07.2010, 14:29  [ТС]
Бывает =)) все когда то учимся и делаем ошибки =)
0
7 / 7 / 1
Регистрация: 30.06.2010
Сообщений: 27
01.07.2010, 19:56
и все же я бы попробовал все нарисовать единожды а потом рисунок выводить, должно быстрее работать
0
 Аватар для KeLLeR_2
2 / 2 / 1
Регистрация: 01.06.2009
Сообщений: 134
Записей в блоге: 1
02.07.2010, 08:06  [ТС]
Перемещение заранее нарисованой картинки отверг преподователь. =)
0
7 / 7 / 1
Регистрация: 30.06.2010
Сообщений: 27
02.07.2010, 11:41
Заранее нарисованной твоей же программой - то есть твоя программа при запуске ее рисует и хранит в памяти а потом выводит в нужной координате. Всего лишь оптимизация, а не халтура=)
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
02.07.2010, 11:41
Помогаю со студенческими работами здесь

Градиентная заливка + поворот
Здравствуйте, форумчане. Прошу у вас помощи с таким заданием - Необходимо квадрат (пользователь вводит координаты центра) залить...

Заливка круга, расчет
Задача в следующем: Создаю TImage, загружаю в него фотографию, рисую на этом же Image круг. Необходимо его залить. Это первая задача. Идея...

Заливка в TImage по маске
Всем доброго дня.. убился в поиске пришел сюда на вашу милость. Подскажите, а лучше покажите, как сделать следующее: У меня на...

Заливка замкнутой области
Всем привет. Суть такова: создать по окружности 2 синусоиды с периодом 7 (на произвольном расстоянии) и залить расстояние между ними. Вот я...

Заливка замкнутой области
Не могу понять функцию Floodfill. Ну как с ее помощью можно з акрасить необходимую область? procedure TForm1.FormPaint(Sender: TObject); ...


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

Или воспользуйтесь поиском по форуму:
14
Ответ Создать тему
Новые блоги и статьи
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-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
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 . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru