从管道中读取png图像

msc*_*uer 2 julia

假设我有一个包含PNG图像的管道.具体来说,使用Graphs包

using Graphs
G = erdos_renyi_graph(12, 0.1; is_directed=false)
outp, inp, proc = readandwrite(`neato -Tpng`)
Graphs.to_dot(G, inp)
close(inp)
Run Code Online (Sandbox Code Playgroud)

现在outp是一个包含原始图像数据的管道.如何用Images.jl将其读入图像,或者如何直接用IJulia显示它?

msc*_*uer 6

我最终可以使用Base.HTML和base64转换来解决它,就像Base.Markdown一样......

data = readbytes(outp)

Base.HTML() do io
    print(io, """<img src="data:image/png;base64,""")
    print(io, stringmime(MIME"image/png"(), data))
    print(io, "\" />")
end
Run Code Online (Sandbox Code Playgroud)