Online Documentation - Statistics - FAQ - Plugin Parts (All, Dependencies) - Class hierarchy
New in Version 22.2 22.3 22.4 22.5 23.0 23.1 23.2 23.3 23.4 23.5 24.0 24.1
The list of the topics, classes, interfaces, controls, modules, global methods by category, global methods by name, screenshots, licenses and examples.
Platforms to show: All Mac Windows Linux Cross-Platform
FAQ.How to draw a nice antialiased line?
Sub drawLine(xs as Integer, ys as Integer, xe as Integer, ye as Integer, face as RGBSurface, lineColor as color) dim intX, intY, count, n, xDiff, yDiff as Integer dim v, v1, floatX, floatY, xx, yy, xStep, yStep as Double dim c as color const st=1.0 xDiff=xe-xs yDiff=ye-ys count=max(abs(xDiff), abs(yDiff)) xStep=xDiff/count yStep=yDiff/count xx=xs yy=ys for n=1 to count intX=xx intY=yy floatX=xx-intX floatY=yy-intY v=(1-floatX)*(1-floatY)*st v1=1-v c=face.pixel(intX, intY) face.pixel(intX, intY)=rgb(v*lineColor.red+v1*c.red, v*lineColor.green+v1*c.green, v*lineColor.blue+v1*c.blue) v=floatX*(1-floatY)*st v1=1-v c=face.pixel(intX+1, intY) face.pixel(intX+1, intY)=rgb(v*lineColor.red+v1*c.red, v*lineColor.green+v1*c.green, v*lineColor.blue+v1*c.blue) v=(1-floatX)*floatY*st v1=1-v c=face.pixel(intX, intY+1) face.pixel(intX, intY+1)=rgb(v*lineColor.red+v1*c.red, v*lineColor.green+v1*c.green, v*lineColor.blue+v1*c.blue) v=floatX*floatY*st v1=1-v c=face.pixel(intX+1, intY+1) face.pixel(intX+1, intY+1)=rgb(v*lineColor.red+v1*c.red, v*lineColor.green+v1*c.green, v*lineColor.blue+v1*c.blue) xx=xx+xStep yy=yy+yStep next End Sub
PS: st should be 1 and face should be a RGBSurface or a Graphics object.