TIFF 画像を開き、透かしを追加して、まったく同じ TIFF 形式に保存しようとしています。私のコードは PNG でうまく動作しますが、TIFF ファイルを開いて操作することはできませんでした。TiffBitmapDecoderを使用してみましたが、動作しません。私は運が悪いと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# を使用するか、コマンドラインを呼び出す必要はありません。