【发布时间】:2020-12-15 08:34:01
【问题描述】:
在寻找自动为互联网图像添加水印的解决方案时,我在 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");
}
}
但水印没有正确放置在图像的中心(见下图)。
请纠正我...
谢谢
【问题讨论】:
-
老实说,它在我看来是居中的。你能用一个方框替换那个水印图像,以便清楚它的位置吗?
标签: c# winforms algorithm image-processing