Witam,
Mam pytanie czy jest możliwe uzyskanie takiego efektu (załącznik) w javie? Może istnieje gotowa biblioteka albo coś? Jeśli ktoś byłby na tyle chętny żeby podzielić się swoją wiedzą to zapraszam :)
Pozdrawiam.
Jak uzyskać efekt narysowanych okręgów?
- Rejestracja: dni
- Ostatnio: dni
- Rejestracja: dni
- Ostatnio: dni
- Postów: 238
Czy jakaś biblioteka to nie wiem ( szukałbym kombinacji słów github library target board - może jakaś graficzna będzie, kto tam wie).
Na piechotę:
możesz sobie narysować podkład z tymi kręgami i siatką ( chociażby w paint, serio), i wczytać to jako bitmapę na obiekcie Canvas.
Później rysuj na tym co chcesz.
Albo Canvas, jakiś algorytm i rysujesz serię okręgów, później siatka.
- Rejestracja: dni
- Ostatnio: dni
Może doprecyzuję, chodzi o to żeby wprowadzić współrzędne i on zaznaczy obszar np 5km kolor czerwony 10km klor zółty 15km kolor zielony.
- Rejestracja: dni
- Ostatnio: dni
Coś jak zaznaczanie obszaru na mapie, w sumie to chodzi o to samo tylko w BARDZO uproszczonej formie. Samo narysowanie ovali nie jest jakimś problemem ale nie potrafię pokolorować obszarów między nimi.
- Rejestracja: dni
- Ostatnio: dni
Błękitny Kura napisał(a):
Może doprecyzuję, chodzi o to żeby wprowadzić współrzędne i on zaznaczy obszar np 5km kolor czerwony 10km klor zółty 15km kolor zielony.
W programowaniu chodzi o rozbijanie problemów na mniejsze.
Umiesz, w ogóle narysować dowolnej wielkości kropkę?
Albo cokolwiek?
Najpierw trzeba pokombinować z bardzo prostymi elementami, a potem z nich robisz większy.
- Rejestracja: dni
- Ostatnio: dni
- Postów: 238
Błękitny Kura napisał(a):
Coś jak zaznaczanie obszaru na mapie, w sumie to chodzi o to samo tylko w BARDZO uproszczonej formie. Samo narysowanie ovali nie jest jakimś problemem ale nie potrafię pokolorować obszarów między nimi.
No to pokaż co masz na razie i będzie wiadomo o co chodzi:)
- Rejestracja: dni
- Ostatnio: dni
- Postów: 957
Błękitny Kura napisał(a):
Coś jak zaznaczanie obszaru na mapie, w sumie to chodzi o to samo tylko w BARDZO uproszczonej formie. Samo narysowanie ovali nie jest jakimś problemem ale nie potrafię pokolorować obszarów między nimi.
Jeśli okręgi mają wspólny środek, to malujesz koła od największego do najmniejszego.
- Rejestracja: dni
- Ostatnio: dni
Tak jak wcześniej napisałem, rysowanie prostych elementów, nadawanie im koloru nie jest problemem. Problem pojawia się w momencie gdy namaluję 3 koła i chcę pokolorować obszar między nimi żeby to lepiej wyglądało.
- Rejestracja: dni
- Ostatnio: dni
- Postów: 238
Błękitny Kura napisał(a):
Tak jak wcześniej napisałem, rysowanie prostych elementów, nadawanie im koloru nie jest problemem. Problem pojawia się w momencie gdy namaluję 3 koła i chcę pokolorować obszar między nimi żeby to lepiej wyglądało.
Yyyy, co rozumiesz przez obszar między nimi?
Tam nie ma między nimi żadnego obszaru.
- Rejestracja: dni
- Ostatnio: dni
- Postów: 238
Zdefiniuj obiekty:
canvas ( bo po tym pewnie rysujesz)
paint ( kolor)
i później coś takiego
canvas.drawCircle(parametry);
- Rejestracja: dni
- Ostatnio: dni
- Postów: 430
A nie możesz narysować 3 elementów z wypełnieniem i nałożyć je na siebie? A jeśli nie to narysować x kół, każde mniejsze od poprzedniego o 2px?
- Rejestracja: dni
- Ostatnio: dni
Rysowałem czymś takim:
Graphics g = this.getGraphics();
g.setColor(Color.RED);
g.drawOval(50,50,100,100);
- Rejestracja: dni
- Ostatnio: dni
- Postów: 238
- Rejestracja: dni
- Ostatnio: dni
- Postów: 430
A w ogóle wiesz czego używasz czy niekoniecznie?
- Rejestracja: dni
- Ostatnio: dni
Wiem co to canvas. Rysowanie wielu kół nie wchodzi w grę max 3-4. Najlepiej byłoby narysować 3 koła o podanej grubości, ale jak taką grubość ustawić?!
- Rejestracja: dni
- Ostatnio: dni
- Postów: 430
Jeśli wiesz że używasz canvs'a to czemu nie wpiszesz magicznego hasła w google drawOval fill? Wpisując to i klikając na pierwszy link masz całą dokumentację. Wtedy naciskasz ctrl + f i wpisujesz fill, a potem patrzysz gdzie jest to słowo użyte. Gdybyś tak zrobił zobaczyłbyś że jest metoda fillOval której wystarczy użyć. Test dla Ciebie. Wyszukaj jakie parametry przyjmuje, spróbuj jej użyć i napisz na forum jaki był tego rezultat.
- Rejestracja: dni
- Ostatnio: dni
Trochę brzydki kod ale za to łopatologicznie :-)
public class Circles extends JFrame {
public Circles() {
this.setSize(800, 880);
this.setVisible(true);
this.setResizable(false);
this.setDefaultCloseOperation(EXIT_ON_CLOSE);
}
public static void paintRedOval(Graphics graphics) {
graphics.setColor(Color.RED);
graphics.fillOval(200, 200, 400, 400);
}
public static void paintGreenOval (Graphics graphics) {
graphics.setColor(Color.GREEN);
graphics.fillOval(150, 150, 500, 500);
}
public static void paintYellowOval (Graphics graphics) {
graphics.setColor(Color.YELLOW);
graphics.fillOval(100, 100, 600, 600);
}
public void paint(Graphics graphics) {
paintYellowOval(graphics);
paintGreenOval(graphics);
paintRedOval(graphics);
}
public static void main(String[] args) {
Circles paintCircles = new Circles();
paintCircles.paint(null);
}
}