Форум программистов, компьютерный форум 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. Просмотров 1325. Ответов 2
Метки нет (Все метки)

Привет!

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

Canvas в JPEG Android
вылетает canvas Android
Масштабирование Canvas Android
Canvas Android
Canvas и Button Android
Android Цвет текста и Color State List
canvas.rotate Android
Android Android draw items hulf circle
Android Столкновения на canvas
Использование canvas Android
Изменение backgraund color при нажатии Android
Android Генерация Color Palette

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Wenceslaus
Android Developer
129 / 129 / 4
Регистрация: 05.07.2013
Сообщений: 205
02.08.2013, 12:17     canvas draw lines, fill color #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();
haribo
41 / 41 / 3
Регистрация: 26.05.2013
Сообщений: 160
02.08.2013, 16:02  [ТС]     canvas draw lines, fill color #3
Супер! Отличный метод!
Но я уже решил свою проблему другим путем.
Рисую Path, а он уже рисуется с закрашенной площадью.
Yandex
Объявления
02.08.2013, 16:02     canvas draw lines, fill color
Ответ Создать тему
Опции темы

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