A Julia wrapper for the Red API library.
Pkg.clone("git://github.com/joa-quim/Red.jl.git")
WARNING: Since Red System (Alpha release) is currently 32-bit only, this package MUST be run from a Julia 32-bit version.
First of all you must generate a cdecl libRed.dll. You do that from the command line (the cmd shell) by runing red-11jun17-4045791.exe build libRed
. Here a daily release was used (after 0.6.2
) because the redBinary() and redImage()
functions were added after 0.6.2
.
Having your Red
directory in the path, currently, you must also also edit the file red_h.jl
and point the first line to the place where the libRed.dll
can be found. Now
The classic "Hello World" example
using Red
redOpen()
redDo("view [{Hello World}]");
redClose()
Visualize a random image
using Red
redOpen()
img = rand(UInt32, 128,128); # Generate a random 'image' array
redSet(redSymbol("img"), redImage(128, 128, img, 0));
redDo("view [image img]");
redClose()
Now, I am so thrilled that the next worked that I'll show it even than there are several things that need fixes/learning. The example shows how we can use GMT.jl to create a world topography map and use the image computed in GMT to display in a Red window.
using GMT, Red
gmt("grdimage earth_relief_10m.grd -I+ -Rd -JR5c"); # Download the *earth_relief_10m.grd* from the GMT server and make a PS image
I = gmt("psconvert = -A"); # Convert the PostScript file in memory into a raster (a Ghostscript work)
size(I.image) # Inquire the size of image (= 3,361,591)
redSet(redSymbol("I.image"), redImage(361, 591, I.image, 0)); # Send image to Red
redDo("view [image I.image]"); # and view it.
redClose()