Bob Greschke wrote > I've resorted to actually drawing all of the characters of the alphabet on a > graph to avoid having to drag around font files. It's mostly just uppercase > characters, so it's not too bad. > > But I noticed that some of the line segments have to be extended one pixel > longer than they should be in order for the last pixel to show up. > > The character cells are 6 pixels wide by 8 pixels high. An "L" is drawn > with > > Graph.line((x,y, x,y+7, x+5,y+7), Color) > > where the starting x and y are supplied to the function. An L works OK, but > to get a "T" to look right I have to do > > Graph.line((x+1,y, x+5,y), Color) > Graph.line((x+3,y, x+3,y+8), Color) > > I have to extend the vertical line to y+8, instead of y+7 to get the line > segment to be drawn long enough. This is on Linux, Solaris, 2.x versions of > Python, 1.1.5 version of PIL, and on Windows with the latest of everything. > Am I missing a setting somewhere?
Some drawing APIs (e.g. Windows GDI) draw lines including the starting point but excluding the end point: I think the reason is that this way, if you draw a series of connected lines (like in your "L" case), no pixel gets drawn twice (this is important if you use colors with alpha channels, or line patterns). -- http://mail.python.org/mailman/listinfo/python-list