On Monday, 6 June 2016 at 03:11:32 UTC, Pie? wrote:
e.g., how could I do this easily with your read in your png
module? It takes a file..
/// Easily reads a png file into a MemoryImage
MemoryImage readPng(string filename) {
import std.file;
return imageFromPng(readPng(cast(ubyte[]) read(filename)));
recognize the code?
The string version just forwards to the byte array version. So
you can use it directly with the array by just casting to ubyte[].
rikki cattermole got it right, except I *think* the cast(ubyte[])
needs to be explicit on the import line, so
ubyte[] theArray = cast(ubyte[]) import("...");
(Actually, the string one is an afterthought, I originally wrote
it to only work with arrays (well, technically, input ranges of
bytes), leaving the file reading to an outside function, but
since loading a file from a filename is so common, I added the
overload for it.)