private void WaterImg()
{
System.Drawing.Image smallimg = System.Drawing.Image.FromFile(Server.MapPath("~/small.jpg"));
int sw = smallimg.Width;
int sh = smallimg.Height;
System.Drawing.Image img = System.Drawing.Image.FromFile(Server.MapPath("~/big.jpg"));
Bitmap bmp = new Bitmap(img);
Graphics g = Graphics.FromImage(bmp);
g.CompositingQuality = CompositingQuality.HighQuality;
g.SmoothingMode = SmoothingMode.HighQuality;
int w = bmp.Width;
int h = bmp.Height;
int nsw = w / 4;
int nsh = (sh * w) / (sw * 4);//小图缩放到大图的高度4分之一大小
ImageAttributes imageAttributes = new ImageAttributes();
float[][] colorMatrixElements = {
new float[] {1.0f, 0.0f, 0.0f, 0.0f, 0.0f},
new float[] {0.0f, 1.0f, 0.0f, 0.0f, 0.0f},
new float[] {0.0f, 0.0f, 1.0f, 0.0f, 0.0f},
new float[] {0.0f, 0.0f, 0.0f, 0.3f, 0.0f},
new float[] {0.0f, 0.0f, 0.0f, 0.0f, 1.0f}
};//从左上至右下,主对角线依次为红、绿、蓝、Alpha和虚拟位
ColorMatrix colorMatrix = new ColorMatrix(colorMatrixElements);
imageAttributes.SetColorMatrix(colorMatrix, ColorMatrixFlag.Default, ColorAdjustType.Bitmap);
g.DrawImage(smallimg, new Rectangle(w - nsw, h - nsh, nsw, nsh), 0, 0, sw, sh, GraphicsUnit.Pixel, imageAttributes);
bmp.Save(Response.OutputStream, ImageFormat.Jpeg);
smallimg.Dispose();
img.Dispose();
bmp.Dispose();
}
private void WaterText()
{
System.Drawing.Image img = System.Drawing.Image.FromFile(Server.MapPath("~/big.jpg"));
Bitmap bmp = new Bitmap(img);
Graphics g = Graphics.FromImage(bmp);
g.TextRenderingHint = System.Drawing.Text.TextRenderingHint.ClearTypeGridFit;
g.DrawString("文字透明", new Font("Arial", 20, FontStyle.Bold), new SolidBrush(Color.FromArgb(80, 255, 255, 255)), 0, 0);//FromArgb第一个参数越小越透明
bmp.Save(Response.OutputStream, ImageFormat.Jpeg);
g.Dispose();
bmp.Dispose();
img.Dispose();
}