我正在使用DevIL库来读写图像。问题是,如果文件已经存在,我想覆盖文件。
这是我的代码:
(RGB v) <- runIL $ readImage "/foo/foo.png"
let rotated = (computeS $ batman v) :: Array F DIM3 Word8
runIL $ writeImage ("/foo/foo.png") (RGB rotated)
我怎样才能做到这一点?我可以这样做,还是我必须考虑另一种方式?它是OS的一部分吗?
我使用该文件作为临时图像,直到用户决定保存它(经过一些更改,如旋转,扩展等)。
答案 0 :(得分:0)
如果图书馆不允许直接替换现有文件,您可以检查该文件是否与doesFileExist
一起存在,并在保存新文件之前将其删除。
replace = do
let fn = "path/to/image/file/..."
exists <- doesFileExist fn
when exists $ removeFile fn
runIL $ writeImage fn (RGB rotated)