很简单,不多说了,直接上具体上代码。
public void BuildWatermark()
{
if (iWEntries.CanvasImage == null)
{
throw new Exception("要添水印的图片不能为null值,请对CanvasImage属性进行设置");
}
if (iWEntries.Watermark == null)
{
throw new Exception("水印的图片不能为null值,请对Watermark属性进行设置");
}
try
{
Bitmap canvas = new Bitmap(iWEntries.Width, iWEntries.Height);
System.Drawing.Graphics g = Graphics.FromImage(canvas);
g.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.High;
g.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.HighSpeed;
Rectangle destRect = new Rectangle(0, 0, iWEntries.Width, iWEntries.Height);
Rectangle srcRect = new Rectangle(0, 0, iWEntries.CanvasImage.Width, iWEntries.CanvasImage.Height);
g.DrawImage(iWEntries.CanvasImage, destRect, srcRect, GraphicsUnit.Pixel);
destRect = new Rectangle(iWEntries.PositionX, iWEntries.PositionY, iWEntries.WaterWidth, iWEntries.WaterHeight);
srcRect = new Rectangle(0, 0, iWEntries.Watermark.Width, iWEntries.Watermark.Height);
g.DrawImage(iWEntries.Watermark, destRect, srcRect, GraphicsUnit.Pixel);
SaveImage(canvas, iWEntries.SavePathAndName);
}
catch (System.ArgumentNullException ex)
{
throw new Exception(ex.Message);
}
catch (Exception ex)
{
throw new Exception(ex.Message);
}
}
{
if (iWEntries.CanvasImage == null)
{
throw new Exception("要添水印的图片不能为null值,请对CanvasImage属性进行设置");
}
if (iWEntries.Watermark == null)
{
throw new Exception("水印的图片不能为null值,请对Watermark属性进行设置");
}
try
{
Bitmap canvas = new Bitmap(iWEntries.Width, iWEntries.Height);
System.Drawing.Graphics g = Graphics.FromImage(canvas);
g.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.High;
g.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.HighSpeed;
Rectangle destRect = new Rectangle(0, 0, iWEntries.Width, iWEntries.Height);
Rectangle srcRect = new Rectangle(0, 0, iWEntries.CanvasImage.Width, iWEntries.CanvasImage.Height);
g.DrawImage(iWEntries.CanvasImage, destRect, srcRect, GraphicsUnit.Pixel);
destRect = new Rectangle(iWEntries.PositionX, iWEntries.PositionY, iWEntries.WaterWidth, iWEntries.WaterHeight);
srcRect = new Rectangle(0, 0, iWEntries.Watermark.Width, iWEntries.Watermark.Height);
g.DrawImage(iWEntries.Watermark, destRect, srcRect, GraphicsUnit.Pixel);
SaveImage(canvas, iWEntries.SavePathAndName);
}
catch (System.ArgumentNullException ex)
{
throw new Exception(ex.Message);
}
catch (Exception ex)
{
throw new Exception(ex.Message);
}
}
源码 下载