Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

Программирование Android

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 11, средняя оценка - 5.00
haribo
41 / 41 / 3
Регистрация: 26.05.2013
Сообщений: 160
#1

canvas draw lines, fill color - Программирование Android

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

Привет!

Есть canvas. На нем рисую три линии методами drawLine();.
Задача: как залить пространство между этими линиями цветом?
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.08.2013, 00:36
Здравствуйте! Я подобрал для вас темы с ответами на вопрос canvas draw lines, fill color (Программирование Android):

Android draw items hulf circle - Программирование Android
Добро пожаловать. Это моя программа. http://b.pix.ge:81/w/krfdn.jpg http://b.pix.ge:81/l/1548y.jpg Хотите, чтобы переместить...

Игра Color Lines - Visual C++
Здравствуйте, нужно написать игру Color Lines, так вот интересует рисовать сетку 9x9 либо загрузить в отдельный PictureBox картинку, и что...

canvas - fill - HTML5 Canvas
Привет всем! Меня интересует, почему не работает данный код: ctx.beginPath() ctx.arc(75,75, 75, 2*Math.PI, Math.PI, true) ...

Canvas.draw - Delphi
надо нарисовать линию над image1 при этим не повридит image1.picture вот мой код unit Unit1; interface uses ...

Canvas.Draw - Delphi
Подскажите, пожалуйста, ответ на такой вопрос: вот я создаю редактор для простенькой игры с помощью Canvas. И такая проблема: ...

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

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Wenceslaus
Android Developer
130 / 130 / 4
Регистрация: 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 / 3
Регистрация: 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
Привет! Вот еще темы с ответами:

Замена canvas.draw - Delphi FireMonkey
Как в firemonkey заменить form1.canvas.draw(0,0,bmp)? Такой функции там нет, есть Drawbitmap, но в ней не указывается положение битмапа,...

Canvas.Draw Как растянуть картинку - Delphi
Помогите пожалуйста. Дана картинка 30на30, как её нарисовать на Image размером 50на50 или NнаN.

Как правильно работать с Canvas.Draw? - Lazarus
Написал скринсейвер для виндовс 7 (для души, так сказать). Пытаюсь сделать процедуру (рисовать в окно предварительного просмотра в диалоге...

Координаты Images и записать из в Canvas->Draw(x,y) - C++ Builder
Помогите получить координаты Images и записать из в Canvas->Draw(x,y),что бы при перемещении Images координаты x и y автоматически...


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

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

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