完美解决.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)

相关推荐
1-1=012 分钟前
C# 委托与事件
开发语言·c#
学以智用1 小时前
runtimeconfig.json + appsettings 完整详解(.NET Core/.NET5+,对比 machine.config)
.net
qq_410194297 小时前
.NET 性能优化:先找瓶颈,再谈技巧
性能优化·.net
玩泥巴的8 小时前
把AI编码从自由生成到受约束声明:微信生态 .NET SDK 中用源生成器压制 AI 编码幻觉的工程实践
微信·.net·aot·roslyn
Jeff-Tsai8 小时前
Day 10:多数据库支持:CRUD 与结构升级
.net·架构设计·erp·definition-driven
1-1=08 小时前
C# 特性(Attribute)
c#·.net·.netcore
IT规划师10 小时前
Redis 数据类型全解 - Bitmap 生产实战:把位视图讲准、用对、守住红线(六)
redis·.net
淡海水1 天前
10-01-互操作-C#与C++边界的内存管理
unity·c#·游戏引擎·.netcore·gc
WarPigs1 天前
C#把byte[]以十六进制打印,带分割符
c#
暴走约伯1 天前
【VFX工具链源码拆解 04】拯救丢失的绑定:Timeline 一键克隆与层级相对路径重映射算法
unity·c#·游戏引擎·硬件工程