-
Notifications
You must be signed in to change notification settings - Fork 5
Expand file tree
/
Copy pathio.lua
More file actions
62 lines (48 loc) · 1.21 KB
/
io.lua
File metadata and controls
62 lines (48 loc) · 1.21 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
--- IO functions.
-- Modules --
local af = require("arrayfire_lib")
local array = require("impl.array")
-- Imports --
local Call = array.Call
local CallWrap = array.CallWrap
-- Exports --
local M = {}
-- See also: https://github.com/arrayfire/arrayfire/blob/devel/src/api/cpp/imageio.cpp
local function LoadImage (filename, is_color)
return CallWrap("af_load_image", filename, is_color)
end
--
local function SaveImage (filename, in_arr)
Call("af_save_image", filename, in_arr:get())
end
--
function M.Add (into)
for k, v in pairs{
deleteImageMem = function(ptr)
Call("af_delete_image_memory", ptr)
end,
--
loadImage = LoadImage, loadimage = LoadImage,
--
loadImageMem = function(ptr)
return CallWrap("af_load_image_memory", ptr)
end,
loadImageNative = function(filename)
return CallWrap("af_load_image_native", filename)
end,
--
saveImage = SaveImage, saveimage = SaveImage,
--
saveImageMem = function(in_arr, format)
return Call("af_save_image_memory", in_arr:get(), af[format or "AF_FIF_PNG"])
end,
--
saveImageNative = function(filename, in_arr)
Call("af_save_image_native", filename, in_arr:get())
end
} do
into[k] = v
end
end
-- Export the module.
return M