2012-08-12 9 views
16

Mam problem z rysowaniem trójkąta z metodą draw(Graphics g) w Javie. mogę narysować prostokąt tak:Metoda Triangle Draw

public void draw(Graphics g) { 
    g.setColor(colorFill); 
    g.fillRect(p.x, p.y, width, height); 
    g.setColor(colorBorder); 
    g.drawRect(p.x, p.y, width, height); 
    drawHandles(g); 

gdzie p oznacza „lewy górny róg kształty”. Jak narysować trójkąt w ten sam sposób?

Czy ktoś mógłby podać przykład standardowego trójkąta?

Odpowiedz

27

nie ma ani w sposób drawTriangle Graphics ani Graphics2D. Musisz to zrobić sam. można wyciągnąć z trzech linii, przy użyciu metody drawLine lub użyć tych metod:

Te metody działają z wielokątami. Możesz zmienić prefiks draw na fill, gdy chcesz wypełnić wielokąt zdefiniowany przez zestaw punktów. Włożyłem linki do dokumentacji. Zobacz, jak z nich korzystać.

Jest też klasa GeneralPath. Może być używany z Graphics2D, który jest w stanie narysować Shapes. Spójrz:

+0

drawPolygon było tym, czego szukałem! dziękuję –

+0

@ JonSnow: Nie ma za co! – davidbuzatto

0

nie ma polecenia bezpośrednio do rysowania trójkąta. Do rysowania trójkąta musimy użyć tutaj pojęcia linii.

tj. G.linie wyciągania (współrzędne punktów)

1

Użyj algorytmu liniowego, aby połączyć punkt A z punktem C, aw pętli zewnętrznej, niech punkt A wędruje do punktu B z tym samym algorytmem linii i współrzędnymi błądzenia, powtórz ten rysunek . Prawdopodobnie możesz także dołączyć deltę z, która również jest inkrementowana iteracyjnie. Dla algorytmu liniowego obliczyć po prostu dwa lub trzy nachylenia dla zmiany delta każdej współrzędnej i ustawić jeden spadek na 1 po zmianie dwóch pozostałych proporcjonalnie, tak aby były poniżej 1. Jest to bardzo ważne dla rysowania zamkniętych obszarów geometrycznych pomiędzy połączonymi cząstkami siatki. Spójrz na przykład Qt Elastic Nodes i wyobraź sobie rysowanie trójkątów między węzłami po rozciągnięciu tego na szkielecie. As long as it will remain online

0

Nie ma bezpośredniej metody narysowania trójkąta. Możesz użyć do tego metody drawPolygon(). Ma trzy parametry w następującej formie: drawPolygon(int x[],int y[], int number_of_points); Aby narysować trójkąt: (Podaj współrzędne x we ​​współrzędnych X i Y tablicy Y oraz liczbę punktów, które będą równe elementom obu tablic.Jak w trójkącie trzeba będzie 3 x współrzędnych i 3 współrzędne y, który oznacza, że ​​masz 3 punkty w sumie) Załóżmy, że chcesz narysować trójkąt stosując następujące punkty:. (100,50),(70,100),(130,100) Wykonaj następujące czynności wewnątrz public void paint(Graphics g):

int x[]={100,70,130}; 
int y[]={50,100,100}; 
g.drawPolygon(x,y,3); 

Podobnie możesz narysować dowolny kształt używając tylu punktów, ile chcesz.

Powiązane problemy