Bitmap/Bresenham's line algorithm: Difference between revisions

m
(Added Easylang)
 
(6 intermediate revisions by 2 users not shown)
Line 10:
{{trans|Python}}
 
<syntaxhighlight lang="11l">T Colour = BVec3
Byte r, g, b
 
F (r, g, b)
.r = r
.g = g
.b = b
 
F ==(other)
R .r == other.r & .g == other.g & .b == other.b
 
V black = Colour(0, 0, 0)
Line 109 ⟶ 100:
+-----------------+
</pre>
 
=={{header|360 Assembly}}==
{{trans|Rexx}}
Line 2,836 ⟶ 2,828:
This GUI implementation is for use with [http://miniscript.org/MiniMicro Mini Micro].
<syntaxhighlight lang="miniscript">
Img.linedrawLine = function(x1img, y1x0, x2y0, y2x1, y1, colr)
dxsign = absfunction(x2a, - x1b)
sx if =a -1< *b -(x1then <return x2)1
return -1
dy = abs(y2 - y1)
end function
sy = -1 * -(y1 < y2)
er = -dy
if dx >= dyabs(x1 then- er = dxx0)
ersx = floorsign(erx0, / 2x1)
dy = abs(y2y1 - y1y0)
sy = sign(y0, y1)
if dx > dy then
err = dx
else
er err = -dy
end if
err = floor(err / 2)
while true
selfimg.setPixel x1x0, y1y0, colr
if x1x0 == x2x1 and y1y0 == y2y1 then break
e2 = ererr
if e2 > -dx then
ererr -= er - dy
x1x0 += x1 + sx
end if
if e2 < dy then
ererr += er + dx
y1y0 += y1 + sy
end if
end while
end function
 
img= Image.create(320, 320)
drawLine img, 0, 0, 250, 300, color.red
gfx.clear
gfx.drawImage img, 0, 0
</syntaxhighlight>
 
Line 4,320 ⟶ 4,328:
{{libheader|DOME}}
Requires version 1.3.0 of DOME or later.
<syntaxhighlight lang="ecmascriptwren">import "graphics" for Canvas, ImageData, Color
import "dome" for Window
 
Line 4,377 ⟶ 4,385:
static draw(alpha) {}
}</syntaxhighlight>
 
=={{header|XPL0}}==
Bresenham line draw is built-in.
1,481

edits