图像压缩 是一种减小图像大小的流行方法。它可以让您最小化分别存储和传输图像所需的空间和时间。可以使用各种压缩技术以不降低图像质量的方式压缩图像。据此,这篇文章为您提供了一些如何使用 C# 以编程方式压缩 PNG、JPEG 和 TIFF 图像的简单方法。
C# 图像压缩 API - 免费下载
Aspose.Imaging for .NET 是一个强大的图像处理 API,可让您在 .NET 应用程序中操作流行的图像格式。此外,API 允许您对图像应用不同类型的压缩,包括 PNG、JPEG 和 TIFF。为了使用 API,您可以 下载 其 DLL 或使用 NuGet 安装它。
Install-Package Aspose.Imaging
在 C# 中压缩 PNG 图像
对于 PNG 图像,您可以将压缩级别设置为 0 到 9,其中 9 是最大压缩,0 是存储模式。以下是使用 Aspose.Imaging for .NET 压缩 PNG 图像的步骤。
- 使用 Image 类加载图像。
- 创建一个 PngOptions 类的对象。
- 使用 PngOptions.CompressionLevel 属性设置压缩级别。
- 使用 Image.Save(String, PngOptions) 方法保存图像。
以下代码示例展示了如何使用 C# 压缩 PNG 图像。
// 文档目录的路径。
string dataDir = RunExamples.GetDataDir_PNG();
// 从文件(或流)加载图像
using (Image image = Image.Load(dataDir + "aspose_logo.png"))
{
// 循环可能的 CompressionLevel 范围
for (int i = 0; i <= 9; i++)
{
// 为每个生成的 PNG 创建一个 PngOptions 实例,设置 CompressionLevel 并将结果保存在磁盘上
PngOptions options = new PngOptions();
options.CompressionLevel = i;
image.Save(i + "_out.png", options);
}
}
在 C# 中压缩 JPEG 图像
为了处理 JPEG 图像,Aspose.Imaging for .NET 提供了 JpegOptions 类,它为 JPEG 图像提供以下压缩类型。
- 基线
- 进步
- 无损
- JPEGLs
以下是使用上述压缩类型之一压缩 JPEG 图像的步骤。
- 使用 Image 类加载 JPEG 图像。
- 创建一个 JpegOptions 类的对象。
- 使用 JpegOptions.ColorType 属性设置颜色模式。
- 使用 JpegOptions.CompressionType 属性设置压缩类型。
- 使用 Image.Save(String, JpegOptions) 方法保存图像。
以下代码示例展示了如何使用 C# 压缩 JPEG 图像。
// 文档目录的路径。
string dataDir = RunExamples.GetDataDir_JPEG();
using (var original = Image.Load(dataDir+"ColorGif.gif"))
{
var jpegOptions = new JpegOptions()
{
ColorType = JpegCompressionColorMode.Grayscale,
CompressionType = JpegCompressionMode.Progressive,
};
original.Save("D:/temp/result.jpg", jpegOptions);
}
在 C# 中对 TIFF 图像应用压缩
Aspose.Imaging for .NET 为 TIFF 图像提供了 广泛 的压缩类型,包括 LZW、Packbits、CCIT Fax 3 和 4 等。您可以根据需要选择适当的类型。以下是压缩 TIFF 图像的步骤。
- 使用 Image 类加载 TIFF 图像。
- 创建一个 TiffOptions 对象并使用 TiffExpectedFormat.Default 枚举值对其进行初始化。
- 为 Tiff 图像设置 BitsPerSample、Compression、Photometric 模式和 Palette。
- 使用 Image.Save(String, TiffOptions) 方法保存图像。
以下代码示例显示了如何使用 C# 压缩 TIFF 图像。
// 文档目录的路径。
string dataDir = RunExamples.GetDataDir_ModifyingAndConvertingImages();
// 通过文件路径位置或流加载图像
Image image = Image.Load(dataDir + "SampleTiff.tiff");
// 为结果图像创建一个 TiffOptions 实例
TiffOptions outputSettings = new TiffOptions(TiffExpectedFormat.Default);
// 设置 BitsPerSample、压缩、光度模式和灰度调色板
outputSettings.BitsPerSample = new ushort[] { 4 };
outputSettings.Compression = TiffCompressions.Lzw;
outputSettings.Photometric = TiffPhotometrics.Palette;
outputSettings.Palette = ColorPaletteHelper.Create4BitGrayscale(false);
image.Save(dataDir + "SampleTiff_out.tiff", outputSettings);
结论
在这篇文章中,您学习了如何使用 C# 压缩 PNG、JPEG 和 TIFF 图像。还为 JPEG 和 TIFF 图像列出了各种支持的压缩技术。您可以使用 文档 探索有关 .NET 图像处理 API 的更多信息。
也可以看看
信息:使用 Aspose JPG to PPT 或 PNG to PPT 转换器,您可以从简单的图像生成 PowerPoint 演示文稿。