Sure. For lines, a simple and efficient algorithm is Bresenhamâ€™s. Thereâ€™s pseudo code on that page, and you can find thousands of implementations online if you google for â€śBresenhamâ€ť, which can be trivially ported to Julia, or probably you can find Julia implementations already written. Hereâ€™s an example:

```
function line!(A, x0, y0, x1, y1)
dx = abs(x1 - x0)
sx = x0 < x1 ? 1 : -1
dy = -abs(y1 - y0)
sy = y0 < y1 ? 1 : -1
err = dx + dy
while true
A[y0, x0] = 1
x0 == x1 && y0 == y1 && break
e2 = 2 * err
e2 >= dy && (err += dy; x0 += sx)
e2 <= dx && (err += dx; y0 += sy)
end
end
```

Usage:

```
julia> A = zeros(UInt8, 8, 8);
julia> line!(A, 2, 2, 7, 6);
julia> @. Char(A*56)+32
8Ă—8 Array{Char,2}:
' ' ' ' ' ' ' ' ' ' ' ' ' ' ' '
' ' 'X' ' ' ' ' ' ' ' ' ' ' ' '
' ' ' ' 'X' ' ' ' ' ' ' ' ' ' '
' ' ' ' ' ' 'X' 'X' ' ' ' ' ' '
' ' ' ' ' ' ' ' ' ' 'X' ' ' ' '
' ' ' ' ' ' ' ' ' ' ' ' 'X' ' '
' ' ' ' ' ' ' ' ' ' ' ' ' ' ' '
' ' ' ' ' ' ' ' ' ' ' ' ' ' ' '
```

Of course implementing oneâ€™s own drawing code sounds like a terrible idea and a last resort, but presumably it can be made significantly faster than going through an existing plotting library and rasterizing the result at the end.