如何在c# ASP.NET中使用透明操作Tiff图像
本文关键字:透明 操作 Tiff 图像 ASP NET | 更新日期: 2023-09-27 17:50:47
我正试图在ASP中使用c#处理TIFF图像。网络环境。问题是,图像可能具有透明度,并且每当我尝试使用透明的TIFF文件时,我都会得到内存不足异常或参数无效错误。
以下是我做这件事的不同方法:
string imagename = "Test.tif";
var image = Image.FromFile(@"C:'Path-to-File'" + imagename);
或
Bitmap myBitmap = new Bitmap(@"C:'Path-to-File'" + imagename);
我试过把它扔进文件流,但仍然收到错误。TIFF文件来自Photoshop,我已经确定透明度是罪魁祸首。
这个链接提到Image类不支持透明
寻找任何类型的指导…这应该没有我想象的那么难。
感谢@Andrew Morton推荐的FreeImage,它最终把我引向了Magick。网络图书馆。
最终,使用当前版本的Visual Studio在c#程序中使用FreeImage几乎是不可能的,因此通过一些挖掘,我找到了Magick。在NuGet中快速搜索后,它非常容易安装和使用。
我是这样做的:
- 在NuGet中搜索Magick并选择所需的架构(x64或x86)
无法加载文件或程序集'Magick.NET.DLL'或其依赖项之一。无法找到指定的模块。
- 熟悉本文档中的基础知识
就是这样!下面是我用来让它工作的代码:
using (MagickImage image = new MagickImage(@"C:'FolderPathToFile'OriginalFile.tif"))
{
image.Write(@"C:'FolderPathToFile'FinalOutput.png");
}