Я пытаюсь нарисовать несколько линий. Проблема в цветах. Например. У меня есть несколько линий красного цвета, и затем я рисую одну линию синего цвета (или перевернутую). И иногда, те строки тем более непрозрачны для последнего.
Я попытался создать новый цвет и установить цвет с помощью альфа-композиции 0,7 - для этих дополнительных линий и одного цвета, который я оставил по умолчанию - непрозрачный (альфа-версия 1,0). Сначала я рисую больше линий, чем последний. Но эти строки «перезаписывают» эту. Есть какое-то решение, чтобы решить эту проблему?
Я рисую эти линии на стекле.
edit : этот код надежен, поэтому его сложно опубликовать, и это одна из частей тезиса.
принцип 2 цвета например
Цвет BasicColor;
Цвет аналогичныйЦвет;
чем у меня есть метод рисования и 2 хеш-карты в качестве атрибутов - некоторые точки сохраняются.
я перебираю эту карту, помню, что одна точка похожа на него, все остальные связаны с
graphics2D.drawLine (x1, y1, x2, y2) и затем измените цвет и закрасьте последнюю одну строку другим цветом. Я тоже изменяю ход, чтобы сделать его более значимым.
Надеюсь, этого будет достаточно ...
edit2:
У меня есть точка PointPoint, чем какой-то надежный метод рисования, и вот изменение графики
итератор перебирает список списков точек.
Point similar = null;
Iterator<Point> secondIterator;
graphics.setColor(colorOfSimilar);
while (iterator.hasNext()) {
Point point = iterator.next();
if (point.equals(similarPoint)) {
similar = similarPoint;
} else {
secondIterator = secondMap.get(point).iterator();
while (secondIterator.hasNext()) {
Point secondPoint = secondIterator.next();
graphics2D.drawLine(point.getX(), point.getY(),
secondPoint.getX(), secondPoint.getY());
}
}
}
if (similar != null) {
secondIterator = secondMap.get(similar);
graphics2D.setColor(hooverColor);
graphics2D.setStroke(new BasicStroke(2.5f));
while (secondIterator.hasNext()) {
Point secondPoint = secondIterator.next();
graphics2D.drawLine(similar.getX(), similar.getY(),
secondPoint.getX(), secondPoint.getY());
}
graphics2D.setColor(colorOfSimilar);
graphics2D.setStroke(new BasicStroke(1.0f));
}
я написал это в блокноте, так что извините за некоторые ошибки (я думаю, скобки и т. Д.), Но это механизм модификации, вокруг него другие методы для итерации и другие, но это не важно Проблем с инсультом не существует, потому что сначала я делал это без инсульта.
Спасибо за любую идею.