我正在使用DevIL库来读取和写入图像。问题是我想覆盖文件,如果它已经存在。写入文件,但覆盖它,如果它存在与Devil和REPA
这里是我的代码:
(RGB v) <- runIL $ readImage "/foo/foo.png"
let rotated = (computeS $ batman v) :: Array F DIM3 Word8
runIL $ writeImage ("/foo/foo.png") (RGB rotated)
我怎样才能做到这一点?我可以这样做吗?还是我必须考虑另一种方式?这是操作系统的东西?
我正在使用该文件作为临时图像,直到用户决定保存它(经过一些更改,如旋转它,扩展它等)。
您是否尝试将图像保存到已存在的文件?那种情况发生了什么? – SwiftsNamesake
如果这不起作用,您可以使用['doesFileExist'](http://hackage.haskell.org/package/directory-1.3.1.1/docs/System-Directory.html#v: doesFileExist)并在保存新文件之前将其删除。 – SwiftsNamesake
当我将图像保存到已存在的文件时,程序退出并显示一条消息(“无法保存文件”)。我检查了DevIL源代码,我没有得到任何答案。我会尝试你所说的。谢谢! – Hamburguesa66