用于.NET Core的JPEG解码器

时间:2016-09-13 16:17:10

标签: c# .net asp.net-core jpeg .net-core

目前没有针对.NET Core的“内置”JPEG解码器类,因为System.Drawing(System.Drawing.Primitives除外)当前不作为nuget包存在。 我知道System.Drawing依赖于底层的Win32 GDI代码,这些代码显然不存在于所有平台上。

我确实阅读了一些关于可能的实现的帖子,并且在nuget上似乎有一些alpha级JPEG包但我找不到合适的。

是否有人知道在.NET Core上解码JPEG图片的简单方法,以进行某些服务器端处理?我甚至不需要调整大小或其他功能,解码就足够了。

非常感谢帮助。 提前谢谢!
-Simon

3 个答案:

答案 0 :(得分:3)

查看https://github.com/JimBobSquarePants/ImageSharp

使用类似这些样本的用法:

示例1:

// resizing and filter (grayscale)
using (FileStream stream = File.OpenRead("foo.jpg"))
using (FileStream output = File.OpenWrite("bar.jpg"))
{
    Image image = new Image(stream);
    image.Resize(image.Width / 2, image.Height / 2)
         .Grayscale()
         .Save(output);
}

示例2:访问像素

Image image = new Image(400, 400);
using (PixelAccessor<Color, uint> pixels = image.Lock())
{
    pixels[200, 200] = Color.White;
}

答案 1 :(得分:2)

.net的ImageMagick包装器看起来像现在支持.Net Core:https://magick.codeplex.com

答案 2 :(得分:1)

我还发现以下内容有点像魅力,非常苗条:enter image description here