简单的添加水印和生成缩略图的方法

很简单,不多说了,直接上具体上代码。 

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(00, iWEntries.Width, iWEntries.Height);
                Rectangle srcRect = new Rectangle(00, 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(00, 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);
            }
        }

源码 下载

posted @ 2012-07-13 14:08  ML Guo  阅读(284)  评论(0编辑  收藏  举报