读书人

给图片加水印为什么加不下去呢?

发布时间: 2012-09-18 16:21:42 作者: rapoo

给图片加水印为什么加不上去呢??
public void ProcessRequest(HttpContext context)
{ string path = context.Request.PhysicalPath;
string defaultPath = context.Server.MapPath("~/Images/default.jpg");
string watherPath = context.Server.MapPath("~/Images/WaterMark.jpg");
Image cover;
if (File.Exists(path))
{
Image water = Image.FromFile(watherPath);
cover= Image.FromFile(path);
Graphics g = Graphics.FromImage(cover);
g.DrawImage(water, cover.Width - water.Width, cover.Height - water.Height, water.Width, water.Height);
g.Dispose();}
else
{cover = Image.FromFile(defaultPath);}
context.Response.ContentType = "image/jpeg";
cover.Save(context.Response.OutputStream, ImageFormat.Jpeg);
cover.Dispose();
context.Response.End();
}

[解决办法]

C# code
            string path = context.Request.PhysicalPath;            string water = context.Server.MapPath("~/image/water.jpg");            Image img = null;            if (!File.Exists(path))            {                string defaultPath = context.Server.MapPath("~/image/default.gif");                img = Image.FromFile(defaultPath);            }            else            {                img = Image.FromFile(path);                Image waterImage = Image.FromFile(water);                Graphics g = Graphics.FromImage(img);                g.DrawImage(waterImage, new Rectangle(img.Width - waterImage.Width, img.Height - waterImage.Height, waterImage.Width, waterImage.Height), new Rectangle(0, 0, waterImage.Width, waterImage.Height), GraphicsUnit.Pixel);                waterImage.Dispose();                g.Dispose();            }            img.Save(context.Response.OutputStream, ImageFormat.Jpeg);            img.Dispose();            context.Response.ContentType = "image/jpeg";            context.Response.End(); 

读书人网 >C#

热点推荐