问题描述
我遇到了一个让我很困惑的问题。我想创建一个小类来将位图转换为像素数组。位图是通过绝对路径名创建的,我输入的路径名(在Windows10操作系统上)是
let path = "D:\Dev\images\test"
但是,我怀疑这发生在编译时,字符串的格式如下
"D:\\Dev\\images\test"
当然它会立即终止程序。我 99.9% 确定这是我忘记的 IDE 正在发生的事情。在路径名的开头添加 @ 或双 \ 似乎没有任何作用。我完全不知道该怎么做。
编辑:我表达的很差。通过“在路径名的开头添加 @ 或双 \ 似乎没有任何作用”我的意思是我尝试在字符串的开头添加 @ :
@"D:\Dev\images\test"
和 "D:\\Dev\\images\\test"
都产生上面显示的相同结果,除了 D:\\Dev\\images\\test
产生其自身的精确副本,但根据 Win10 标准它仍然无效。
最后,引发的错误是一个通用的“无效参数”。没有任何代码修改路径值。它实际上是 main 中的第一条指令。
let main _ =
let path = Defaults.img_folder + "\\test" //img_folder = "D:\\Dev\\images"
let f = new Bitmap(path) //throws "invalid parameter" error here
let spr_img : pixel[,] = (Array2D.init
f.Width
f.Height
(fun x y -> new pixel(Defaults.full_cover,ConsoleColor_from_Color(f.GetPixel(x,y)),Defaults.backgroundcolor)) )
let eng = new engine(w,h)
eng.create_and_register_sprite(new image(spr_img),20,0)
eng.loop_on_key(
{
speed = 0.
positionX = 20.
positionY = 20.
positionZ = 20.
quitting = false
},updater //external function
)
0
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)