温馨提示:代码在线浏览功能只能做为源码浏览参考,如果想更进一步了解该代码请下载:ASP.NET 2.53 缩略图水印组件源码
当前文件:
ImageWaterMark253/uploadimages.aspx.cs,打开代码结构图
ImageWaterMark253/uploadimages.aspx.cs,打开代码结构图1using System; 2
using System.Data; 3
using System.Configuration; 4
using System.Collections; 5
using System.Web; 6
using System.Web.Security; 7
using System.Web.UI; 8
using System.Web.UI.WebControls; 9
using System.Web.UI.WebControls.WebParts; 10
using System.Web.UI.HtmlControls; 11
using System.Text; 12
using ImageWaterMark; 13
14
15
public partial class uploadimages : XMLX 16
{ 17
18
WaterMark wm = new WaterMark(); 19
20
WaterMark.ImageAlign align; 21
WaterMark.TextCSS txtcss; 22
23
24
string fpath, ftype, fname,dot; 25
26
protected void Page_Load(object sender, EventArgs e) 27
{ 28
//TextBox1.Text=wm.MBSN(); 29
} 30
protected void But_upload_Click(object sender, EventArgs e) 31
{ 32
33
fname = fup_img.FileName; 34
fpath = fup_img.PostedFile.FileName; 35
ftype = fup_img.PostedFile.ContentType; 36
37
string[] type = ftype.Split('/'); 38
string[] fn = fname.Split('.'); 39
dot = "." + fn[1].ToString(); 40
if (type[0].ToString() != "image") 41
{ 42
Response.Write("文件格式错误!"); 43
} 44
else 45
{ 46
string filename = DateTime.Now.ToString("yyyyMMddHHmmssffff"); 47
string pt = "UploadFiles/" + filename + dot; 48
49
fup_img.SaveAs(Server.MapPath(pt)); 50
fup_img.Dispose(); 51
52
wm.SaveWaterMarkImagePath = XMLRead("SavePath");//保存已打水印图像的路径 53
wm.SourceImagePath = pt;//设置原图像路径 54
wm.MiniatureImagePath = XMLRead("MinPath");//设置保存缩略图片的路径 55
56
wm.WaterMarkImagePath = XMLRead("PicPath");//设置水印Logo路径 57
58
wm.WaterMarkText = XMLRead("WM_Text");//设置水印文字 59
wm.WaterMarkTextFont = XMLRead("Font");//设置水印文本字体 60
wm.WaterMarkTextSize =Convert.ToInt32(XMLRead("FontSize"));//设置水印文字大小 61
62
switch (XMLRead("WM_Location"))//设置水印位置 63
{ 64
case "LeftTop": 65
align = WaterMark.ImageAlign.LeftTop; 66
break; 67
case "LeftBottom": 68
align = WaterMark.ImageAlign.LeftBottom; 69
break; 70
case "Center": 71
align = WaterMark.ImageAlign.Center; 72
break; 73
case "RightTop": 74
align = WaterMark.ImageAlign.RightTop; 75
break; 76
case "RightBottom": 77
align = WaterMark.ImageAlign.RightBottom; 78
break; 79
case "CenterTop": 80
align = WaterMark.ImageAlign.CenterTop; 81
break; 82
case "CenterBottom": 83
align = WaterMark.ImageAlign.CenterBottom; 84
break; 85
case "CenterLeft": 86
align = WaterMark.ImageAlign.CenterLeft; 87
break; 88
case "CenterRight": 89
align = WaterMark.ImageAlign.CenterRight; 90
break; 91
92
93
} 94
wm.WaterMarkAlign = align; 95
96
wm.WaterMarkTextColor = XMLRead("FontColor");//设置水印文字颜色 97
wm.WaterMarkTextShadowColor = XMLRead("FontShadow");//设置水印阴影颜色 98
if (XMLRead("FontForm") == "Bold") 99
txtcss = WaterMark.TextCSS.Bold; 100
else if (XMLRead("FontForm") == "Underline") 101
txtcss = WaterMark.TextCSS.Underline; 102
else if (XMLRead("FontForm") == "Italic") 103
txtcss = WaterMark.TextCSS.Italic; 104
else if (XMLRead("FontForm") == "Strikeout") 105
txtcss = WaterMark.TextCSS.Strikeout; 106
107
wm.WaterMarkTextCSS = txtcss;//设置水印文字样式 108
109
if (XMLRead("txtshowoff")=="0") 110
wm.TextShadow = true;//启用文字阴影 111
112
wm.WaterMarkTransparence = Convert.ToInt32(XMLRead("WM_Transparence"));//设置水印透明度 113
wm.WaterMarkPlaceX = Convert.ToInt32(XMLRead("PlaceX"));//自定义水印位置X坐标 114
wm.WaterMarkPlaceY = Convert.ToInt32(XMLRead("PlaceY"));//自定义水印位置Y坐标 115
wm.WaterMarkImageGroundColor = XMLRead("Grounding");//过滤水印Logo底色 116
wm.WaterMarkAngle = Convert.ToInt32(XMLRead("WM_Angle"));//设置水印的旋转角度 117
118
wm.WaterMarkTextShadowDepthX = Convert.ToInt32(XMLRead("ShadowX"));//设置水印文字阴影深度X坐标 119
wm.WaterMarkTextShadowDepthY = Convert.ToInt32(XMLRead("ShadowY"));//设置水印文字阴影深度Y坐标 120
121
wm.TxTShadowTransparence = Convert.ToInt32(XMLRead("Txtshadowtransparence"));//设置水印文字阴影透明度和模糊度 122
wm.ImageQuality = Convert.ToInt32(XMLRead("PicVal"));//设置生成图像的质量建议设为90 123
WaterMark.WmGetType pictype;//设置水印类型(文字水印或Logo水印) 124
if (XMLRead("NoAndOff") == "false") 125
{ 126
pictype = WaterMark.WmGetType.None; 127
} 128
else if (XMLRead("PicAndText") == "Logo") 129
{ 130
pictype = WaterMark.WmGetType.Logo; 131
} 132
else 133
{ 134
pictype = WaterMark.WmGetType.Text; 135
} 136
int wmpicwidth = Convert.ToInt32(XMLRead("ZipWidth")); 137
int wmpicheight = Convert.ToInt32(XMLRead("ZipHeight")); 138
139
//是否启用缩略图生成 140
bool mininfo = true; 141
if (XMLRead("Miniature") == "false") 142
mininfo = false; 143
144
int minwidth = Convert.ToInt32(XMLRead("MinWidth")); 145
int minheight = Convert.ToInt32(XMLRead("MinHeight")); 146
147
//设置图像转换效果和图像编辑 148
if (XMLRead("Effect") == "Monochrome") 149
wm.SetEffect = WaterMark.ConvertEffect.Monochrome; 150
else if (XMLRead("Effect") == "Negative") 151
wm.SetEffect = WaterMark.ConvertEffect.Negative; 152
else if (XMLRead("Effect") == "Brightness") 153
wm.SetEffect = WaterMark.ConvertEffect.Brightness; 154
else if (XMLRead("Effect") == "Contrast") 155
wm.SetEffect = WaterMark.ConvertEffect.Contrast; 156
else if (XMLRead("Effect") == "RGBValue") 157
wm.SetEffect = WaterMark.ConvertEffect.RGBValue; 158
159
//是否启用马赛克 160
bool mosaic=false; 161
if (XMLRead("Mosaic") == "true") 162
mosaic = true; 163
int Granule = Convert.ToInt32(XMLRead("Granule"));//设置马赛克颗粒大小 164
165
int mosX = Convert.ToInt32(XMLRead("txtmX")); 166
int mosY = Convert.ToInt32(XMLRead("txtmY")); 167
int mosWidth = Convert.ToInt32(XMLRead("txtmWidth")); 168
int mosHeight = Convert.ToInt32(XMLRead("txtmHeight")); 169
170
//是否启用图像裁剪 171
bool imgcut=false; 172
if (XMLRead("Cut") == "true") 173
imgcut = true; 174
175
int cutX = Convert.ToInt32(XMLRead("txtcX")); 176
int cutY = Convert.ToInt32(XMLRead("txtcY")); 177
int cutWidth = Convert.ToInt32(XMLRead("txtcWidth")); 178
int cutHeight = Convert.ToInt32(XMLRead("txtcHeight")); 179
180
string RotateFlip = XMLRead("imgXY"); 181
if(RotateFlip=="0") 182
wm.ImageRotate= WaterMark.RotateFlip.None;//设置图像旋转角度,顺时针90度,逆时针90度,180度旋转 183
else if (RotateFlip == "s90") 184
wm.ImageRotate= WaterMark.RotateFlip.Clockwise90; 185
else if(RotateFlip=="n90") 186
wm.ImageRotate = WaterMark.RotateFlip.Anticlockwise90; 187
else if(RotateFlip=="180") 188
wm.ImageRotate = WaterMark.RotateFlip.Rotate180; 189
190
string freely=XMLRead("freely");//文字呈竖形排列 191
if (freely == "0") 192
wm.Upright = false; 193
else if (freely == "1") 194
wm.Upright = true; 195
196
//图像编辑,调整图像相关属性 197
wm.ImageEdit(Convert.ToInt32(XMLRead("Brightness")), Convert.ToInt32(XMLRead("Contrast")), Convert.ToInt32(XMLRead("RGBValueR")), Convert.ToInt32(XMLRead("RGBValueG")), Convert.ToInt32(XMLRead("RGBValueB"))); 198
199
if (XMLRead("imgdel")=="0") 200
wm.DelSourceImg = true;//设置是否删除原图 201
202
//生成水印图像 203
wm.GetToWaterMarkImage(pictype, wmpicwidth, wmpicheight, mininfo, minwidth, minheight, mosaic, Granule, mosX, mosY, mosWidth, mosHeight, imgcut, cutX, cutY, cutWidth, cutHeight); 204
205
Label1.Text = "<img src=" + wm.Sfpath+" />";//获取水印图片路径,另一个参数是Mfpath为返回缩略图路径 206
} 207
208
209
} 210
protected void Button1_Click(object sender, EventArgs e) 211
{ 212
if (RadioButtonList1.SelectedValue == "1") 213
wm.ImageOnlyCollect(TextBox1.Text, "CollectImg/");//远程采集单张图片 214
else 215
wm.ImageBatchCollect(TextBox1.Text, "jpg|gif", "CollectImg/");//远程批量采集图片 216
217
} 218
} 219





}