返回
.NET C# 读取编辑.AVIF图片文件
2024-12-14
246 0在 .NET 中读取和编辑 .AVIF 图片文件需要特定的库支持,因为 System.Drawing 等内置功能不直接支持 AVIF 格式。目前可以通过以下方式在 .NET 中实现对 AVIF 文件的读取和编辑:
方法一:使用 ImageMagick 的 .NET 封装
ImageMagick 是一个强大的图像处理库,支持多种格式,包括 .AVIF。
安装 NuGet 包
使用以下命令安装 Magick.NET:
dotnet add package Magick.NET-Q8-AnyCPU
ImageMagick 示例代码
以下代码展示如何读取 AVIF 文件、编辑并保存为其他格式:
using ImageMagick;
using System;
class Program
{
static void Main(string[] args)
{
// 加载 .AVIF 文件
string inputPath = "example.avif";
string outputPath = "output.png";
using (var image = new MagickImage(inputPath))
{
Console.WriteLine($"图像格式: {image.Format}");
Console.WriteLine($"尺寸: {image.Width}x{image.Height}");
// 调整大小
image.Resize(300, 200);
// 添加水印文字
var drawables = new Drawables()
.Font("Arial")
.FontSize(20)
.StrokeColor(MagickColors.White)
.FillColor(MagickColors.Black)
.TextAlignment(TextAlignment.Center)
.Text(image.Width / 2, image.Height - 30, "Watermark");
drawables.Draw(image);
// 保存为 PNG
image.Write(outputPath);
Console.WriteLine($"保存成功: {outputPath}");
}
}
}
方法二:使用 SixLabors.ImageSharp
SixLabors.ImageSharp 是一个跨平台的图像处理库,但默认不支持 .AVIF 格式。可以通过安装扩展库 SixLabors.ImageSharp.Formats.Avif 来支持 AVIF。
安装 NuGet 包
dotnet add package SixLabors.ImageSharp
dotnet add package SixLabors.ImageSharp.Formats.Avif
SixLabors.ImageSharp 示例代码
以下代码展示如何使用 ImageSharp 加载和保存 AVIF 文件:
using SixLabors.ImageSharp;
using SixLabors.ImageSharp.PixelFormats;
using SixLabors.ImageSharp.Processing;
using SixLabors.ImageSharp.Formats.Avif;
class Program
{
static void Main()
{
// AVIF 文件路径
string inputPath = "example.avif";
string outputPath = "output.jpg";
// 加载 AVIF 图像
using (var image = Image.Load<Rgba32>(inputPath))
{
Console.WriteLine($"图片加载成功,宽度: {image.Width}, 高度: {image.Height}");
// 编辑图像 - 调整亮度
image.Mutate(ctx => ctx.Brightness(0.8f));
// 保存为 JPEG 格式
image.Save(outputPath);
Console.WriteLine($"图片已保存: {outputPath}");
}
}
}
根据具体需求选择合适的解决方案,以上方法均可灵活应用于读取和编辑 .AVIF 文件。
您可能感兴趣:
阿里云 云服务器 99元1年 2核2G 3M固定带宽 续费与新购同价
领取 通义灵码 免费使用资格 兼容 Visual Studio Code、Visual Studio、JetBrains IDEs 等主流编程工具, 为你提供高效、流畅、舒心的智能编码体验!
网友点评
提交