私は自分自身と職場の他の人のためにバッチ透かしツールを作成しています。次のコードを使用すると、画像の右下にテキストに注釈を付けることができますが、手動で調整しないと左下に注釈を付けることができません与えられた画像ごとに異なる座標。また、 StringAlignment.Far を StringAlignment.Near などに変更しても何も起こりませんが、表示されない画像の外側のテキストに注釈を付ける可能性があります。
MSDN には説明がありますが、役に立ちません。私はしばらくの間これと戦ってきました。
private void button1_Click(object sender, EventArgs e)
{
foreach (string images in Directory.GetFiles(textBox1.Text))
{
System.Drawing.Image img = System.Drawing.Image.FromFile(images);
Graphics gr = Graphics.FromImage(img);
Font font = new Font("Times New Roman", (float)25,
System.Drawing.FontStyle.Regular);
System.Drawing.Color color = System.Drawing.Color.Red;
StringFormat stringFormat = new StringFormat();
stringFormat.Alignment = StringAlignment.Far;
stringFormat.LineAlignment = StringAlignment.Far;
gr.SmoothingMode = SmoothingMode.AntiAlias;
gr.DrawString("WATERMARK GOES HERE"+ images, font,
new System.Drawing.SolidBrush(color),
new System.Drawing.Point(img.Width - 0, img.Height - 0),
stringFormat);
MemoryStream outputStream = new MemoryStream();
img.Save(images+"Stamped.jpg");
}
MessageBox.Show("done");
}