我正在尝试使用ImageSharp来编辑F#中的图片.我正在努力让图像突变起作用
要在C#中进行图像变异,看起来你只需要使用mutate方法和lambda:
image.Mutate(x => x.Kodachrome())
Run Code Online (Sandbox Code Playgroud)
通常,要将C#lambdas更改为F#,我只会使用匿名函数,如下所示:
image.Mutate(fun x -> x.Kodachrome())
Run Code Online (Sandbox Code Playgroud)
当我这样做时,我收到以下错误:
方法'Mutate'没有重载匹配.可用的重载如下所示(或在错误列表窗口中).
看起来Mutate方法需要一个ImageProcessor,但由于某些原因,在F#中,编译器无法确定匿名函数是一个ImageProcessor.如何在F#中使用图像变异?
F#可以自动从匿名函数(fun ...)转换为a System.Action<_>,但前提是类型完全匹配.在这里,他们没有,因为Kodachrome()不归unit.所以你需要忽略它的返回值:
image.Mutate(fun x -> x.Kodachrome() |> ignore)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
193 次 |
| 最近记录: |