// 根据position 计算水印位置 // position可能的值如下 "left top botom center right" // 这些值可以进行组合 如果同一方向有重复值,后面的会覆盖掉前面的 // 按照 中左上右下的顺序处理 position = position.ToLower(); Point point = new Point();
if (position.Contains("right")) point.X = originImage.Width - markImage.Width;
if (position.Contains("bottom")) point.Y = originImage.Height - markImage.Height;
// 把水印加到图片上 originImage.Mutate(oi => { oi.DrawImage(markImage, point, opacity); });
origin.Position = 0; var format = Image.DetectFormat(origin); var encoder = Configuration.Default.ImageFormatsManager.FindEncoder(format); var outStream = new MemoryStream();