mir ist eben aufgefallen das Line und LineXY nicht mehr die gleichen ergebnisse liefern:
Code: Alles auswählen
OpenWindow(0,0,0,200,100,"")
StartDrawing(WindowOutput(0))
For y = -3 To 3
Line(25,y*10+50,50,y)
LineXY(125,y*10+50,125+50,y*10+50+y)
Next
StopDrawing()
Repeat
Until WaitWindowEvent() = #PB_Event_CloseWindow
Ich dachte mir immer das der Sinn hinter Width und Height bei Line() der ist, das die Linie bei x,y beginnt also den erstenPixel hat, und sich dann Width-Pixel nach Rechts beweg und Hight-Pixel nach unten.
Würde bedeuten das Line(x,y,2,4) eine ausdehung von 3x5 Pixel hat, so wie es auch bei LineXY der fall ist, wenn
LineXY(x,y,x+2,y+4).
Oder bei Circle(x,y,4) wird auch vom Mittleren Pixel ausgegangen und dann 4 nach alle Seiten gegangen, sodass der Kreis eine Ausdehung von 9Pixeln hat.
Stattdessen ist bei Line() nun die Ausdehung gemeint, und dann ist es ja nur logisch eine Linie ohne Höhe nicht darzustellen, was aber irgendwie eine art "definitionslücke" ist
Vorallem bei meinen eigenen Ellipsen und anderen Krumlinigen Sachen wo ich immer lieber statt LineXY ein Line genommen habe, habe ich nun haufenweise fehler (verrückungen und Lücken).
Sollte ich nun lieber auf LineXY umsteigen, damit ich "meine Definition" einer Linie habe, oder sollte ich die Line() Procedure als Macro umschreiben sodass ich noch den 1Pixel dazunehme (egal in welche richtung).
Was wird in der Zukunft noch geändert ?