private static void AddWatermark(HttpPostedFileBase curFile, string fileExt, string filePhysicalPath, string saveName)
{
Image image = Image.FromStream(curFile.InputStream);
Bitmap b = new Bitmap(image.Width, image.Height, System.Drawing.Imaging.PixelFormat.Format24bppRgb);
Graphics g = Graphics.FromImage(b);
g.Clear(Color.White);
g.DrawImage(image, 0, 0, image.Width, image.Height);
System.Drawing.Image watermark = new Bitmap(@"D://1.png");
System.Drawing.Imaging.ImageAttributes imageAttributes = new System.Drawing.Imaging.ImageAttributes();
System.Drawing.Imaging.ColorMap colorMap = new System.Drawing.Imaging.ColorMap();
colorMap.OldColor = Color.FromArgb(255, 0, 255, 0);
colorMap.NewColor = Color.FromArgb(0, 0, 0, 0);
System.Drawing.Imaging.ColorMap[] remapTable = { colorMap };
imageAttributes.SetRemapTable(remapTable, System.Drawing.Imaging.ColorAdjustType.Bitmap);
int xpos = 0;
int ypos = 0;
xpos = ((image.Width - watermark.Width)) - ((image.Width - watermark.Width)) / 2;//水印位置
ypos = image.Height - watermark.Height - (image.Height - watermark.Height) / 2;//水印位置
g.DrawImage(watermark, new Rectangle(xpos, ypos, watermark.Width, watermark.Height), 0, 0, watermark.Width, watermark.Height, GraphicsUnit.Pixel, imageAttributes);
watermark.Dispose();
imageAttributes.Dispose();
//保存加水印过后的图片,删除原始图片
Random ro = new Random((int)DateTime.Now.Ticks);
string temppath = System.DateTime.Now.ToString("yyyy") + "\\" + System.DateTime.Now.ToString("MMdd");
string fileName = DateTime.Now.ToString("yyyyMMddHHmmss") + ro.Next(10000) + ".jpg";
string filepath = System.IO.Directory.GetCurrentDirectory();
b.Save(filePhysicalPath + saveName + fileExt);
b.Dispose();
image.Dispose();
}
{
Image image = Image.FromStream(curFile.InputStream);
Bitmap b = new Bitmap(image.Width, image.Height, System.Drawing.Imaging.PixelFormat.Format24bppRgb);
Graphics g = Graphics.FromImage(b);
g.Clear(Color.White);
g.DrawImage(image, 0, 0, image.Width, image.Height);
System.Drawing.Image watermark = new Bitmap(@"D://1.png");
System.Drawing.Imaging.ImageAttributes imageAttributes = new System.Drawing.Imaging.ImageAttributes();
System.Drawing.Imaging.ColorMap colorMap = new System.Drawing.Imaging.ColorMap();
colorMap.OldColor = Color.FromArgb(255, 0, 255, 0);
colorMap.NewColor = Color.FromArgb(0, 0, 0, 0);
System.Drawing.Imaging.ColorMap[] remapTable = { colorMap };
imageAttributes.SetRemapTable(remapTable, System.Drawing.Imaging.ColorAdjustType.Bitmap);
int xpos = 0;
int ypos = 0;
xpos = ((image.Width - watermark.Width)) - ((image.Width - watermark.Width)) / 2;//水印位置
ypos = image.Height - watermark.Height - (image.Height - watermark.Height) / 2;//水印位置
g.DrawImage(watermark, new Rectangle(xpos, ypos, watermark.Width, watermark.Height), 0, 0, watermark.Width, watermark.Height, GraphicsUnit.Pixel, imageAttributes);
watermark.Dispose();
imageAttributes.Dispose();
//保存加水印过后的图片,删除原始图片
Random ro = new Random((int)DateTime.Now.Ticks);
string temppath = System.DateTime.Now.ToString("yyyy") + "\\" + System.DateTime.Now.ToString("MMdd");
string fileName = DateTime.Now.ToString("yyyyMMddHHmmss") + ro.Next(10000) + ".jpg";
string filepath = System.IO.Directory.GetCurrentDirectory();
b.Save(filePhysicalPath + saveName + fileExt);
b.Dispose();
image.Dispose();
}