C# 如何在C语言中为TIFF图像添加水印#

C# 如何在C语言中为TIFF图像添加水印#,c#,tiff,watermark,C#,Tiff,Watermark,我正在尝试打开一个TIFF图像,添加一个水印并将其保存回完全相同的TIFF格式。我的代码可以很好地处理PNG,但无法打开和操作TIFF文件。我试过用,但没法用。我工作了16个小时,运气不好 string fileName = "sample.tiff"; int opacity = 127; int X, Y; string text = "My Sample Watermark"; Font font = new Font("Verdana", 18.0f); Stream stream =

我正在尝试打开一个TIFF图像,添加一个水印并将其保存回完全相同的TIFF格式。我的代码可以很好地处理PNG,但无法打开和操作TIFF文件。我试过用,但没法用。我工作了16个小时,运气不好

string fileName = "sample.tiff";
int opacity = 127;
int X, Y;
string text = "My Sample Watermark";
Font font = new Font("Verdana", 18.0f);
Stream stream = new FileStream(fileName, FileMode.Open, FileAccess.Read, FileShare.Read);   

// I need to do something here to convert the stream so it can used by the Image object.

Image image = Image.FromStream(stream);               
Graphics g = Graphics.FromImage(image);
Brush myBrush = new SolidBrush(Color.FromArgb(opacity, Color.SteelBlue));
SizeF sz = g.MeasureString(text, font);
X = (int)(image.Width - sz.Width) / 2;
Y = (int)(image.Height - sz.Height);
g.DrawString(text, font, myBrush, new Point(X, Y));
stream.Dispose();
File.Delete(fileName);

// I need to do something here to save the Image in TIFF format with the same exact characteristics. 

image.Save(fileName);

我正在从电影文件中提取原始TIFF。现在我正在使用“Imagemagick convert CLI”添加水印,但我希望使用VB C#或不必调用命令行来添加水印

您可以尝试将TIFF转换为png,然后使用

System.Drawing.Bitmap.FromFile(filename).Save(filename + ".png", System.Drawing.Imaging.ImageFormat.Png);
然后再转换回来

System.Drawing.Bitmap.FromFile(filename + ".png").Save(filename, System.Drawing.Imaging.ImageFormat.Png);

我不想添加额外的步骤并将文件转换为PNG。现在我正在使用“Imagemagick convert CLI”添加水印,但我想使用VB C#来添加水印。