KnowledgeHub
Questions
Tags
Users
Search
Alex Rivera
|
Logout
Edit Question
Title
Body
nearly every time I use Graphics.DrawRectangle or Graphics.FillRectangle (the int versions) I seem to miss the pixels on the right and bottom border of the rectangle I want to draw. What is the exact definition of which pixels get filled by Graphics.FillRectangle(brush,x,y,width,height) and Graphics.DrawRectangle(pen,x,y,width,height) // pen is one pixel width, i.e. width=0f and is there a logical explanation for it? (so I can finally remember the behaviour :) ...) EDIT : Using Oleg Zhuk's marvelous Try GDI+ application, I was able to find a curious difference between FillRectangle and DrawRectangle : FillRectangle(brush,0,0,1,1) draws a single dot at (0,0) which is somehow understandable (it's a rectangle with width and height one after all). DrawRectangle(pen,0,0,1,1) on the other hand draws a small 2 by 2 pixel rectangle. The same behaviour is shown for other width/height combinations, DrawRectangle always extends one pixel more to the left and the bottom (which is a little annoying e.g. when using the ClientRectangle property to draw a frame around a control) My first question solved ( how to they behave...) there still remains the second one: Why do they behave this way?
Tags (comma-separated)
Save Edits
Cancel