在C#中,我可以检索这样的JPEG编码器:
var jpegEncoder =
ImageCodecInfo.GetImageEncoders()
.Where(e => e.FormatID == ImageFormat.Jpeg.Guid)
.Single();
我想在F#中做同样的事情,我知道有一种非常简洁的方法可以做到,但我刚刚开始,我无法弄明白。我看到GetImageEncoders()
上有一个Where方法可用,但我无法弄清楚要传递给它的内容。我在F#和LINQ上阅读Don Syme's blog post,但我没有足够的F#经验来真正理解它。
我能用F#做同样的事吗?
答案 0 :(得分:2)
#r "System.Drawing"
open System.Drawing.Imaging
let jpeg =
System.Drawing.Imaging.ImageCodecInfo.GetImageEncoders()
|> Seq.find (fun e -> e.FormatID = ImageFormat.Jpeg.Guid)