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?