Hallo!
Gibt es eine Möglichkeit den Befehl LineTo nur in einem bestimmten
Bereich ausführen zu lassen? Also die Linie nur zB. innerhalb eines
Rechtecks zu zeichnen, und alles was darüber hinausgeht abschneiden?
Grüße
Huddi
Hallo!
Gibt es eine Möglichkeit den Befehl LineTo nur in einem bestimmten
Bereich ausführen zu lassen? Also die Linie nur zB. innerhalb eines
Rechtecks zu zeichnen, und alles was darüber hinausgeht abschneiden?
Grüße
Huddi
Gibt es eine Möglichkeit den Befehl LineTo nur in einem
bestimmten
Bereich ausführen zu lassen? Also die Linie nur zB. innerhalb
eines
Rechtecks zu zeichnen, und alles was darüber hinausgeht
abschneiden?
Klar:
void LineTo()
{
SetPixel(1,1);
SetPixel(1,2);
}
Diese Implementierung von LineTo setzt nur zwei Pixel im Rechteck (1,1)-(2,2).
Oder hast du irgendeine bestimmte Bibliothek im Sinn, die diese Funktion auf irgendeine bestimmte Art implementiert??
Grüße,
Sebastian
Hallo
Das geht so:
SelectObject(hdc, hRgn);
SelectClipRgn(hdc, hRgn);
So setzt du einen Clipping-Bereich, dh. nur innerhalt dieses Bereiches kann gezeichnet werden. Alles darüber hinaus bleibt unverändert.
Für eine recheckige Region dann eine der folgenden Funktionen zum Erstellen benutzen:
hRgn = CreateRectRgn(xLeft, yTop, xRight, yBottom);
hRgn = CreateRectRegionIndirect(&rect);
Ich glaube mit dem Aufruf von
DeleteObject(hRgn);
verschwindet die Clipping-Region und du kannst wieder überall hinzeichnen, sicher bin ich mir aber nicht.
Ansonsten einfach eine fenstergroße Clipping-Region selber einsetzen.
MfG IGnow
Danke, das hab ich gesucht .