完美解决.NET Framework 4.0 中 System.Drawing 库不支持 WebP 格式的图像处理

如果你想在 .NET Framework 4.0 中使用 ImageMagick 处理图片,可以通过 Magick.NET 库来实现。Magick.NET 是 ImageMagick 的 .NET 封装,可以用来读取、写入、编辑图像。

以下是如何使用 Magick.NET 来处理图像并提取图像的宽度和高度。

步骤:

  1. 安装 Magick.NET : 首先,你需要在项目中安装 Magick.NET 库。在 NuGet Package Manager Console 中运行:

    cs 复制代码
    Install-Package Magick.NET-Q8-AnyCPU -Version 7.12.0
  2. 示例代码 : 使用 Magick.NET 来读取图像并获取其宽度和高度。

    cs 复制代码
    using ImageMagick;
    
    public void ProcessImage(string filePath)
    {
        using (MagickImage image = new MagickImage(filePath))
        {
            // 获取图像的格式
            string format = image.Format.ToString();
            
            // 处理图像(例如获取宽度、高度等)
            int width = image.Width;
            int height = image.Height;
    
            // 输出图像的格式和尺寸
            Console.WriteLine($"Image Format: {format}, Width: {width}, Height: {height}");
        }
    }

MagickImage (通过 Magick.NET )支持非常多种常见的图像格式。ImageMagick 本身是一个功能强大的图像处理工具,支持超过 100 种 图像格式。以下是一些常见的图像格式,MagickImage 支持的主要格式:

常见的图像格式:

  1. 位图图像格式

    • .bmp (Bitmap)

    • .gif (Graphics Interchange Format)

    • .png (Portable Network Graphics)

    • .jpg.jpeg (JPEG)

    • .tiff (Tagged Image File Format)

    • .webp (WebP)

    • .heif / .heic (High Efficiency Image Format)

  2. 矢量图像格式

    • .svg (Scalable Vector Graphics)

    • .eps (Encapsulated PostScript)

    • .ai (Adobe Illustrator)

    • .pdf (Portable Document Format)

    • .pdfx (PDF/X formats)

  3. RAW 图像格式

    • .cr2 (Canon RAW 2)

    • .nef (Nikon RAW)

    • .dng (Digital Negative)

    • .orf (Olympus RAW)

    • .rw2 (Panasonic RAW)

    • .arw (Sony RAW)

  4. 动画图像格式

    • .gif (Animated GIF)

    • .apng (Animated PNG)

    • .webp (Animated WebP)

    • .mng (Multiple-image Network Graphics)

  5. 特殊图像格式

    • .ico (Windows Icon)

    • .cur (Windows Cursor)

    • .pdf (Portable Document Format)

    • .xpm (X PixMap)

    • .tga (Targa)

    • .hdr (High Dynamic Range Imaging)

相关推荐
我是唐青枫43 分钟前
C#.NET gRPC 深入解析:Proto 定义、流式调用与服务间通信取舍
开发语言·c#·.net
unicrom_深圳市由你创科技1 小时前
做虚拟示波器这种实时波形显示的上位机,用什么语言?
c++·python·c#
昵称暂无12 小时前
.NET 高级开发 | i18n 原理、实现一个 i18n 框架
javascript·c#·.net
疯狂成瘾者3 小时前
Chroma向量数据库
开发语言·数据库·c#
我是唐青枫3 小时前
C#.NET Monitor 与 Mutex 深入解析:进程内同步、跨进程互斥与使用边界
开发语言·c#·.net
ou.cs3 小时前
c# 信号量和锁的区别
开发语言·c#
yugi9878383 小时前
C# 串口下载烧写BIN文件工具
开发语言·c#
李树健1234 小时前
.NET 高级开发 | .NET 中的序列化和反序列化
.net
"菠萝"4 小时前
C#知识学习-021(文字关键字)
开发语言·学习·c#
游乐码4 小时前
c#HashTable
开发语言·c#