Rysowanie w Qt/C++ łamanej linii - jak

0

Chcę sobie na QImage narysować linię łamaną taką jak w załączniku. ale nie wiem, czy jakis wzor moze na to zastosowac, czy cos?

0

QT Creator.

0

No ja wiem ze to sie pisze w qtcreatorze, ale ja mam to recznie zrobic .. za pomoca linii lub punktow

0

ja bym do tego nie używał QImage tylko QPainter lub QGraphicsScene do bardziej złożonych rysunków. Jeśli jednak tak bardzo chcesz na QImage to zainteresowałbym się metodą setPixel :]

0

No ja wiem jakie sa metody ... moj problem to wlasciwie polega na tym nie czym, tylko jak to narysowac, w ktorym miejscu postawic te piksele (czy moze latwiej linie) po prostu, zeby to ladnie rowno wyszlo, czy to jako obliczac czy cos?:(

0

@Matek
<facepalm>...Bracie,czy ty aby masz świadomość co wygadujesz?

@autor
QImage dziedziczy QPaintDevice,więc załatwisz wszelkie malunki poprzez QPainter painter(&twójImage) i odpowiednie funkcje QPaintera.Co do stawiania punktów i złożonych linii-obacz sobie cóż to takiego jest QPainterPath.

0

nie potrafisz za pomocą np takich komend: rysuj_linie, przejdz_do_punktu, obroc_o_x_stopni opisać tej krzywej?

@MasterBLB o co ci chodzi bracie? Napisałem (być może niefortunnie to sformułowałem) aby wykorzystał QPainter'a, chyba że chciałby bezpośrednio operować na QImage'u. Poza tym jak się później okazało autor ma raczej problem algorytmiczny niż techniczny.

0

Ja wiem jak to cale rysowanie dziala w qt, to nie o ro chodzi ...

@matek3005: moze i glab ze mnie, ale tak, nie rozumiem i nie potrafie tegoe zrobic:(

0
sadiu349i0dm napisał(a)

Ja wiem jak to cale rysowanie dziala w qt, to nie o ro chodzi ...

@matek3005: moze i glab ze mnie, ale tak, nie rozumiem i nie potrafie tegoe zrobic:(

Cóż,skoro nie starcza ci rozumu aby poczytać dokumentację na temat klas,które ci razem z Matkiem zapodaliśmy to faktycznie jesteś głąb,i programowanie nie jest dla ciebie.

0

spróbuj może najpierw sobie w logo to napisać czy innej grafice żółwia, a potem dopiero w Qt się bawić :|

0

omg ludzie to NIE chodzi o klasy i qt ... tylko bardziej o jakis algorytm -.-

0

O Swarogu,Trygławie,Perunie i Welesie...CO trudnego jest w wydumaniu np takiego czegoś:
1.Weź punkt startowy
2.Utwórz kolejny point2=pointStart.x+A
3.Twórz zygzak w pętli:
a)dolny punkt=point2.x+B*cnt
c)górny punkt=pointLower.x-B/2,y=C
4.Zakończ go przez endPoint.x=lastLowerPoint.x+A
gdzie:
A,B,C-jakieś stałe
cnt-licznik pętli

0

Wg Twojego algorytmu to mi rysuje takie poziome linie, wcale nie zygzaki:( napisalem to tak:

double A = 2, B = 3, C = 4;
    QPointF pierwszy(250, 300);
    QPointF drugi(pierwszy.x()+A, pierwszy.y());
    QPointF dolny,gorny;

    painter.drawLine(pierwszy, drugi);

    for(int i=0; i<9; i++)
    {
     dolny.setX(drugi.x()+B*i);
     dolny.setY(drugi.y());

     gorny.setX(dolny.x()-B/2.0);
     gorny.setY(C);

     painter.drawLine(dolny, gorny);
    }
0

no ja wiem, wiem, tylko mam nadal problem, jak to przerobic na zygzaki:/:(

0

user image

Człowieku,weź ty popatrz w swój kod,potem na ten rysunek zygzaka co podałeś w swoim poście,i policz wskazując palcem ile masz punktów w jednym i drugim przypadku...

1 użytkowników online, w tym zalogowanych: 0, gości: 1