インターネットで画像に透かしを自動的に挿入するソリューションを探しているときに、stackoverflow で最適なソリューションを見つけました。質問へのリンクはC# - Add watermark to the photo by special wayです。Alex Maslakovとadriftに特に感謝 します。
いくつかの変更を加えてそのソリューションを実装しました。画像の中央に透かしを入れたいです。adriftが提供するソリューションを次のように変更しました
private void button1_Click(object sender, EventArgs e)
{
using (Image image = Image.FromFile(@"C:\Users\Public\Pictures\Sample Pictures\Desert.jpg"))
using (Image watermarkImage = Image.FromFile(@"C:\Users\Public\Pictures\Sample Pictures\watermark.png"))
using (Graphics imageGraphics = Graphics.FromImage(image))
using (Brush watermarkBrush = new TextureBrush(watermarkImage))
{
int x = (image.Width - watermarkImage.Width)/2;
int y = (image.Height - watermarkImage.Height)/2;
imageGraphics.FillRectangle(watermarkBrush, new Rectangle(new Point(x, y), watermarkImage.Size));
image.Save(@"C:\Users\Public\Pictures\Sample Pictures\Desert_watermark.jpg");
}
}
ただし、透かしが画像の中央に正しく配置されていません (下の画像を参照)。
私を修正してください...
ありがとう