28 lines
528 B
Plaintext
28 lines
528 B
Plaintext
function drawline!(img::Matrix{T}, x0::Int, y0::Int, x1::Int, y1::Int, col::T) where T
|
|
δx = abs(x1 - x0)
|
|
δy = abs(y1 - y0)
|
|
δe = abs(δy / δx)
|
|
er = 0.0
|
|
|
|
y = y0
|
|
for x in x0:x1
|
|
img[x, y] = col
|
|
er += δe
|
|
if er > 0.5
|
|
y += 1
|
|
er -= 1.0
|
|
end
|
|
end
|
|
|
|
return img
|
|
end
|
|
|
|
using Images
|
|
|
|
img = fill(Gray(255.0), 5, 5);
|
|
println("\nImage:")
|
|
display(img); println()
|
|
drawline!(img, 1, 1, 5, 5, Gray(0.0));
|
|
println("\nModified image:")
|
|
display(img); println()
|