Pixelverhalten von FillRectangle und DrawRectangle

ast jedes Mal, wenn ich @ benutGraphics.DrawRectangle oderGraphics.FillRectangle (dasint versions) Ich vermisse anscheinend die Pixel am rechten und unteren Rand des Rechtecks, das ich zeichnen möchte.

Was ist die genaue Definition, welche Pixel mit @ gefüllt werd

Graphics.FillRectangle(brush,x,y,width,height)

un

Graphics.DrawRectangle(pen,x,y,width,height) // pen is one pixel width, i.e. width=0f

und gibt es eine logische Erklärung dafür? (damit ich mich endlich an das verhalten erinnern kann :) ...)

BEARBEITE:

Using Oleg Zhuk ist wunderbar Try GDI + Anwendung konnte ich einen merkwürdigen Unterschied zwischen @ findFillRectangle undDrawRectangle:

FillRectangle(brush,0,0,1,1) zeichnet einen einzelnen Punkt bei (0,0), was irgendwie verständlich ist (es ist schließlich ein Rechteck mit Breite und Höhe).

DrawRectangle(pen,0,0,1,1) hingegen zeichnet ein kleines Rechteck von 2 mal 2 Pixeln.

Das gleiche Verhalten wird für andere Breiten- / Höhenkombinationen angezeigt.DrawRectangle erstreckt sich immer einen Pixel weiter nach links und unten (was beispielsweise bei Verwendung des @ etwas ärgerlich iClientRectangle Eigenschaft zum Zeichnen eines Rahmens um ein Steuerelement)

Meine erste Frage gelöst Wi sie verhalten sich ...) da bleibt noch die zweite:Waru verhalten sie sich so?

Antworten auf die Frage(6)

Ihre Antwort auf die Frage