You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

求助:.NET Core下用LibTIFF.NET实现JPG转TIFF(含多页)的正确示例

.NET Core下JPG转多页/单页TIFF实现方案(无System.Drawing)

多页TIFF转换示例(基于SixLabors.ImageSharp)

SixLabors.ImageSharp是.NET Core原生支持的跨平台图像处理库,采用MIT许可可商用,无需依赖System.Drawing。

第一步:安装依赖包

Install-Package SixLabors.ImageSharp
Install-Package SixLabors.ImageSharp.Formats.Tiff

第二步:实现多页转换代码

using SixLabors.ImageSharp;
using SixLabors.ImageSharp.Formats.Tiff;
using SixLabors.ImageSharp.PixelFormats;
using System.Collections.Generic;
using System.IO;

public static void ConvertJpgsToMultiPageTiff(List<string> jpgFilePaths, string outputTiffPath)
{
    var tiffEncoder = new TiffEncoder
    {
        Compression = TiffCompression.Deflate, // 可选压缩:Lzw、Deflate、None等
        MultiFrame = true
    };

    using var outputStream = new FileStream(outputTiffPath, FileMode.Create);
    Image<Rgba32> multiPageImage = null;

    try
    {
        foreach (var jpgPath in jpgFilePaths)
        {
            using var singleJpg = Image.Load<Rgba32>(jpgPath);
            
            if (multiPageImage == null)
            {
                // 初始化第一帧
                multiPageImage = singleJpg.Clone();
                multiPageImage.Save(outputStream, tiffEncoder);
            }
            else
            {
                // 追加后续页面
                multiPageImage.Frames.AddFrame(singleJpg.Frames.RootFrame.Clone());
            }
        }

        // 最终保存所有帧
        multiPageImage?.Save(outputStream, tiffEncoder);
    }
    finally
    {
        multiPageImage?.Dispose();
    }
}

单页JPG转TIFF简化示例

using SixLabors.ImageSharp;
using SixLabors.ImageSharp.Formats.Tiff;
using SixLabors.ImageSharp.PixelFormats;
using System.IO;

public static void ConvertSingleJpgToTiff(string jpgFilePath, string outputTiffPath)
{
    var tiffEncoder = new TiffEncoder
    {
        Compression = TiffCompression.Deflate
    };

    using var image = Image.Load<Rgba32>(jpgFilePath);
    image.Save(outputTiffPath, tiffEncoder);
}

可商用替代库推荐

  • Magick.NET:基于ImageMagick的.NET封装,MIT许可,支持几乎所有图像格式,多页TIFF处理成熟。安装对应平台包(如Magick.NET-Q16-AnyCPU)后,可通过MagickImageCollection加载多张JPG并保存为多页TIFF。
  • Leadtools:企业级商用图像处理库,功能全面,支持高级图像编辑、格式转换及OCR等,需付费授权,适合对性能和功能有高要求的场景。

注意事项

  • 生成的TIFF文件建议用专业图像工具(如IrfanView、Photoshop)验证,避免系统自带查看器的兼容性问题。
  • 处理大量或大尺寸图片时,建议逐帧释放资源,避免内存溢出。

内容的提问来源于stack exchange,提问作者PointlessSpike

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.19 22:30:25