Форум программистов, компьютерный форум, киберфорум
Наши страницы
Программирование Android
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/9: Рейтинг темы: голосов - 9, средняя оценка - 5.00
haribo
41 / 41 / 0
Регистрация: 26.05.2013
Сообщений: 160
#1

canvas draw lines, fill color

02.08.2013, 00:36. Просмотров 1594. Ответов 2
Метки нет (Все метки)

Привет!

Есть canvas. На нем рисую три линии методами drawLine();.
Задача: как залить пространство между этими линиями цветом?

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.08.2013, 00:36
Ответы с готовыми решениями:

Android draw items hulf circle
Добро пожаловать. Это моя программа. http://b.pix.ge:81/w/krfdn.jpg ...

Игра Color Lines
Здравствуйте, нужно написать игру Color Lines, так вот интересует рисовать...

canvas - fill
Привет всем! Меня интересует, почему не работает данный код: ctx.beginPath()...

Canvas.Draw
Подскажите, пожалуйста, ответ на такой вопрос: вот я создаю редактор для...

Canvas.draw
надо нарисовать линию над image1 при этим не повридит image1.picture вот мой...

2
Wenceslaus
Android Developer
130 / 130 / 6
Регистрация: 05.07.2013
Сообщений: 205
02.08.2013, 12:17 #2
Нарисовав линии
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
float pointStartX = 0f, pointStopX = 100f,  point1Y = 10f, point2Y = 30f, point3Y = 50f; // координаты точек
 
int colorLine = Color.RED, colorArea = Color.YELLOW; //цвета линий и заливки
 
Paint paint = new Paint();
paint.setStyle(Paint.Style.FILL);
 
// закрашиваем холст
paint.setColor(Color.WHITE);
c.drawPaint(paint);
 
// Рисуем 1-ую линию
paint.setColor(colorLine);
c.drawLine(pointStartX, point1Y, pointStopX, point1Y, paint);
 
// Рисуем 2-ую линию
paint.setColor(colorLine);
c.drawLine(pointStartX, point2Y, pointStopX, point2Y, paint);
 
// Рисуем 3-ую линию
paint.setColor(colorLine);
c.drawLine(pointStartX, point3Y, pointStopX, point3Y, paint);
можно нарисовать прямоугольники с другим цветом, имитируя заливку между ними:
Java
1
2
3
4
5
6
7
// Рисуем прямоугольник меджу 1-ой и 2-ой линиями
paint.setColor(colorArea);
c.drawRect(pointStartX, point1Y+1, pointStopX, point2Y-1, paint);
 
// Рисуем прямоугольник меджу 2-ой и 3-ой линиями
paint.setColor(colorArea);
c.drawRect(pointStartX, point2Y+1, pointStopX, point3Y-1, paint);
или выделять пространство между линиями и заливать нужным цветом:
Java
1
2
3
4
5
6
7
8
9
10
11
// Заливаем область меджу 1-ой и 2-ой линиями
c.save();
c.clipRect(pointStartX, point1Y+1, pointStopX, point2Y-1);
c.drawColor(colorArea);
c.restore();
 
// Заливаем область меджу 2-ой и 3-ой линиями
c.save();
c.clipRect(pointStartX, point2Y+1, pointStopX, point3Y-1);
c.drawColor(colorArea);
c.restore();
1
haribo
41 / 41 / 0
Регистрация: 26.05.2013
Сообщений: 160
02.08.2013, 16:02  [ТС] #3
Супер! Отличный метод!
Но я уже решил свою проблему другим путем.
Рисую Path, а он уже рисуется с закрашенной площадью.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
02.08.2013, 16:02

Gif в Canvas.Draw
Доброго времени суток всем. С графикой работать только начинаю и встает сразу...

Canvas - Draw. на TImage
Всем привет! У меня вопрос. Решил что на канве рисовать проще чем создавать...

Замена canvas.draw
Как в firemonkey заменить form1.canvas.draw(0,0,bmp)? Такой функции там нет,...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

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