如何在 F# 中检索 JPEG 图像编解码器?

发布于 2024-12-07 02:33:33 字数 514 浏览 2 评论 0原文

在 C# 中,我可以像这样检索 JPEG 编码器:

var jpegEncoder = 
    ImageCodecInfo.GetImageEncoders()
        .Where(e => e.FormatID == ImageFormat.Jpeg.Guid)
        .Single();

我想在 F# 中做同样的事情,并且我知道有一种非常简洁的方法可以做到这一点,但我才刚刚开始,我不太明白它出去。我看到有一个可用的Where方法挂在GetImageEncoders()之上,但我不知道要传递给它什么。我阅读了关于 F# 的 Don Syme 的博客文章,并且LINQ,但我在 F# 方面没有足够的经验来真正理解它。

有没有一种好方法可以在 F# 中做同样的事情?

In C#, I can retrieve a JPEG encoder like this:

var jpegEncoder = 
    ImageCodecInfo.GetImageEncoders()
        .Where(e => e.FormatID == ImageFormat.Jpeg.Guid)
        .Single();

I'd like to do the same in thing F# and I know there's a beautifully succinct way to do it, but I'm just starting out and I can't quite figure it out. I see there's a Where method available hanging off of GetImageEncoders() but I can't figure out what to pass into it. I read Don Syme's blog post on F# and LINQ, but I just don't have enough experience in F# to really understand it.

Is there a nice way I can do this same thing in F#?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

雨巷深深 2024-12-14 02:33:33
#r "System.Drawing"
open System.Drawing.Imaging
let jpeg = 
    System.Drawing.Imaging.ImageCodecInfo.GetImageEncoders() 
    |> Seq.find (fun e -> e.FormatID = ImageFormat.Jpeg.Guid)
#r "System.Drawing"
open System.Drawing.Imaging
let jpeg = 
    System.Drawing.Imaging.ImageCodecInfo.GetImageEncoders() 
    |> Seq.find (fun e -> e.FormatID = ImageFormat.Jpeg.Guid)
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文