Seite 1 von 1

Frage zu drawEllipse [gelöst]

Verfasst: 5. Februar 2008 09:20
von Qt-nator
Morgen,

so ich hätte mal eine Frage zu QPainter::drawEllipse.

Und zwar in der Doku gibts ja:

void QPainter::drawEllipse ( const QRectF & rectangle )

sowie

void QPainter::drawEllipse ( int x, int y, int width, int height )

Und meine Frage ist jetzt ob man auch irgendwie den radius eines Kreises einbinden kann?

und wie die Funktion hier genau funktioniert? Weil ich lass mir eine Ellipse zeichnen mit x = 0 y = 0 width = 10 height = 10 und dabei raus kommt ein kreis der genau an der Oberen Linken Ecke anliegt... kann man also

drawEllipse so benutzen das man den mittelpunkt eines Kreises und den Radius angibt??? oder ist das nicht möglich?

Danke

Verfasst: 5. Februar 2008 10:01
von macman
Bastel dir eine Funktion drawCircle, die dann drawEllipse aufruft. Das ist so simpel, das es die Trolls wohl nicht bedacht haben :-)

Verfasst: 5. Februar 2008 10:20
von VuuRWerK
Wenn Du einen Kreis zeichen willst sind ja bekanntlich height/width identisch. Rechne einer dieser Werte durch 2, schwupps haste ein radius, war ja gar nicht so schwer, oder? :)
Den Mittelpunkt des Kreises bekommste Du indem Du den Koordinaten den Radius addierst, fertig :)

Ich wollt es eigentlich nicht machen aber heute ist Fastnacht und da bin ich mal nicht so :)
Zumal es wirklich sehr trivial ist.

Code: Alles auswählen

/**
 * @param (int) x x-coordinate from center of circle
 * @param (int) y y-coordinate from center of circle
 * @param (int) r Rradius of circle
 */
void drawCircle( int x, int y, int r ) {
    QPainter *painter = new QPainter( this->m_device );
    painter->drawEllipse( x - r, y - r, r * 2, r * 2 );
}
Gut Schuß
VuuRWerK ;)

Verfasst: 5. Februar 2008 10:31
von Qt-nator
Vielen Vielen dank.

Das ist klasse^^. Aber stimmt hätte ich auch selber drauf kommen können.

Danke