国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導(dǎo)航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術(shù)|正則表達(dá)式|C/C++|IOS|C#|Swift|Android|VB|R語(yǔ)言|JavaScript|易語(yǔ)言|vb.net|

服務(wù)器之家 - 編程語(yǔ)言 - ASP.NET教程 - asp.net 添加水印的代碼(已測(cè)試)

asp.net 添加水印的代碼(已測(cè)試)

2019-08-30 09:19ASP.NET之家 ASP.NET教程

添加水印的代碼 測(cè)試 調(diào)試 結(jié)果 經(jīng)過(guò)本人親自測(cè)試

加水印的功能代碼如下所示 

復(fù)制代碼代碼如下:


/// <summary> 
/// 圖片修改類,主要是用來(lái)保護(hù)圖片版權(quán)的,版權(quán)歸原作者所有 
/// </summary> 
public class picmark 

#region "member fields" 
private string modifyImagePath = null; 
private string drawedImagePath = null; 
private int rightSpace; 
private int bottoamSpace; 
private int lucencyPercent = 70; 
private string outPath = null; 
#endregion 
public picmark() 


#region "propertys" 
/// <summary> 
/// 獲取或設(shè)置要修改的圖像路徑 
/// </summary> 
public string ModifyImagePath 

get { return this.modifyImagePath; } 
set { this.modifyImagePath = value; } 

/// <summary> 
/// 獲取或設(shè)置在畫的圖片路徑(水印圖片) 
/// </summary> 
public string DrawedImagePath 

get { return this.drawedImagePath; } 
set { this.drawedImagePath = value; } 

/// <summary> 
/// 獲取或設(shè)置水印在修改圖片中的右邊距 
/// </summary> 
public int RightSpace 

get { return this.rightSpace; } 
set { this.rightSpace = value; } 

//獲取或設(shè)置水印在修改圖片中距底部的高度 
public int BottoamSpace 

get { return this.bottoamSpace; } 
set { this.bottoamSpace = value; } 

/// <summary> 
/// 獲取或設(shè)置要繪制水印的透明度,注意是原來(lái)圖片透明度的百分比 
/// </summary> 
public int LucencyPercent 

get { return this.lucencyPercent; } 
set 

if (value >= 0 && value <= 100) 
this.lucencyPercent = value; 


/// <summary> 
/// 獲取或設(shè)置要輸出圖像的路徑 
/// </summary> 
public string OutPath 

get { return this.outPath; } 
set { this.outPath = value; } 

#endregion 
#region "methods" 
/// <summary> 
/// 開始繪制水印 
/// </summary> 
public void DrawImage() 

Image modifyImage = null; 
Image drawedImage = null; 
Graphics g = null; 
try 

//建立圖形對(duì)象 
modifyImage = Image.FromFile(this.ModifyImagePath); 
drawedImage = Image.FromFile(this.DrawedImagePath); 
g = Graphics.FromImage(modifyImage); 
//獲取要繪制圖形坐標(biāo) 
int x = modifyImage.Width - this.rightSpace; 
int y = modifyImage.Height - this.BottoamSpace; 
//設(shè)置顏色矩陣 
float[][] matrixItems ={ 
new float[] {1, 0, 0, 0, 0}, 
new float[] {0, 1, 0, 0, 0}, 
new float[] {0, 0, 1, 0, 0}, 
new float[] {0, 0, 0, (float)this.LucencyPercent/100f, 0}, 
new float[] {0, 0, 0, 0, 1}}; 
ColorMatrix colorMatrix = new ColorMatrix(matrixItems); 
ImageAttributes imgAttr = new ImageAttributes(); 
imgAttr.SetColorMatrix(colorMatrix, ColorMatrixFlag.Default, ColorAdjustType.Bitmap); 
//繪制陰影圖像 
g.DrawImage( 
drawedImage, 
new Rectangle(x, y, drawedImage.Width, drawedImage.Height), 
0, 0, drawedImage.Width, drawedImage.Height, 
GraphicsUnit.Pixel, imgAttr); 
//保存文件 
string[] allowImageType = { ".jpg", ".gif", ".png", ".bmp", ".tiff", ".wmf", ".ico" }; 
FileInfo file = new FileInfo(this.ModifyImagePath); 
ImageFormat imageType = ImageFormat.Gif; 
switch (file.Extension.ToLower()) 

case ".jpg": 
imageType = ImageFormat.Jpeg; 
break; 
case ".gif": 
imageType = ImageFormat.Gif; 
break; 
case ".png": 
imageType = ImageFormat.Png; 
break; 
case ".bmp": 
imageType = ImageFormat.Bmp; 
break; 
case ".tif": 
imageType = ImageFormat.Tiff; 
break; 
case ".wmf": 
imageType = ImageFormat.Wmf; 
break; 
case ".ico": 
imageType = ImageFormat.Icon; 
break; 
default: 
break; 

MemoryStream ms = new MemoryStream(); 
modifyImage.Save(ms, imageType); 
byte[] imgData = ms.ToArray(); 
modifyImage.Dispose(); 
drawedImage.Dispose(); 
g.Dispose(); 
FileStream fs = null; 
if (this.OutPath == null || this.OutPath == "") 

File.Delete(this.ModifyImagePath); 
fs = new FileStream(this.ModifyImagePath, FileMode.Create, FileAccess.Write); 

else 

fs = new FileStream(this.OutPath, FileMode.Create, FileAccess.Write); 

if (fs != null) 

fs.Write(imgData, 0, imgData.Length); 
fs.Close(); 


finally 

try 

drawedImage.Dispose(); 
modifyImage.Dispose(); 
g.Dispose(); 

catch { ;} 


#endregion 


前臺(tái)代碼如下所示 

復(fù)制代碼代碼如下:


<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm1.aspx.cs" Inherits="demo.WebForm1" %> 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml" > 
<head runat="server"> 
<title></title> 
</head> 
<body> 
<form id="form1" runat="server"> 
<div> 
<asp:FileUpload ID="FileUpload1" runat="server" /> 
<br /> 
<asp:Button ID="Button1" runat="server" onclick="Button1_Click" Text="Button" /> 
</div> 
</form> 
</body> 
</html> 


cs類的代碼如下所示 

復(fù)制代碼代碼如下:


protected void Button1_Click(object sender, EventArgs e) 

string extension = Path.GetExtension(this.FileUpload1.FileName).ToUpper(); 
string fileName = Guid.NewGuid().ToString(); 
string savePath = Server.MapPath("../upfile/" + fileName+ extension); 
if (!Directory.Exists(Path.GetDirectoryName(savePath))) 

Directory.CreateDirectory(Path.GetDirectoryName(savePath)); 

this.FileUpload1.SaveAs(savePath); 
//實(shí)例化類 
picmark wm = new picmark(); 
wm.DrawedImagePath = Server.MapPath("/upfile/" + "backlogo.gif") ; 
wm.ModifyImagePath = savePath; 
wm.RightSpace = 145; 
wm.BottoamSpace =17; 
wm.LucencyPercent = 50; 
wm.OutPath = Server.MapPath("/upfile/" + fileName.Replace("-","").ToUpper() + extension); 
wm.DrawImage(); 
//fileName = "_New_" + fileName; 
//string sPath = Server.MapPath("../upfile/" + fileName + extension); 
//this.FileUpload1.SaveAs(sPath); 
//保存加水印過(guò)后的圖片,刪除原始圖片 
if (File.Exists(savePath)) 

File.Delete(savePath); 
//File.Delete(wm.OutPath); 

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 激情一区二区 | 欧美一级二级三级视频 | av在线电影观看 | 亚洲视频在线观看网址 | 免费在线毛片 | 久久久久综合狠狠综合日本高清 | 超碰人人爱 | 久久五月视频 | 国产a区| 国产精品久久久久久久久久久久冷 | 久久人人爽爽爽人久久久 | 欧美一区二区三区精品 | 激情一区 | 精产品自偷自拍 | 在线观看日韩 | 黄色a视频| 亚洲精品一 | 午夜视频在线观看网站 | 黄色欧美视频 | 久久国产高清 | 精品国产青草久久久久福利 | 最新高清无码专区 | 字幕网av| 999在线观看精品免费不卡网站 | 久久久久国产精品 | 欧美日本一区二区三区 | 91粉色视频| 伊人激情影院 | 亚洲视频一区二区三区 | 日韩精品免费在线观看 | 成人精品一区二区 | 国产亚洲人成网站在线观看 | 欧美精品成人一区二区在线 | 99热a| 欧美不卡视频 | 艹久久 | 欧美日韩一区二 | 色在线视频 | 综合精品久久久 | 一区二区三区在线播放 | 精品视频久久 |