国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > .NET > 正文

教你添加某種格式的圖片添加水印

2024-07-10 12:53:27
字體:
來源:轉載
供稿:網友
水印意味著在原始圖像中添加您自己的內容,例如您網站的徽標或簽名等等,下文是教你添加某種格式的圖片添加水印大家都清楚嗎?下面就讓錯新技術頻道小編帶你一起來了解一下吧!
復制代碼 代碼如下:

using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Drawing;
namespace Chen
{
///

/// HandlerImageOpener 的摘要說明
///


public class HandlerImageOpener : IHttpHandler
{
public HandlerImageOpener()
{
//
// TODO: 在此處添加構造函數邏輯
//
}
private string _path = "";
///


/// 水印圖片路徑
///


public string PngPath
{
get
{
if (_path == "")
{
_path = System.Web.HttpContext.Current.Server.MapPath(ConfigurationManager.AppSettings["WatermarkedImagePath"]);
}
return _path;
}
}
///


/// 為圖片加水印并寫入到Response.OutputStream
///


///上下文對象
public void GetNewBitMap(HttpContext hc)
{
// 加載原圖片
//System.Web.HttpContext.Current.Response.Write(System.Drawing.Image.FromFile(hc.Request.PhysicalPath));
//System.Web.HttpContext.Current.Response.End();
Bitmap oldBmp = new Bitmap(System.Drawing.Image.FromFile(hc.Request.PhysicalPath));
int newWidth = oldBmp.Width;
int newHeight = oldBmp.Height;
if (oldBmp != null)
{
// 綁定畫板
Graphics grap = Graphics.FromImage(oldBmp);
// 加載水印圖片
Bitmap bt = new Bitmap(PngPath);
// 水印位置控制
int pH = GetNewPoint(newHeight, bt.Height, true);
int pW = GetNewPoint(newWidth, bt.Width, false);
if (newHeight < pH * 8)
pH = pH / 2;
if (newWidth < pW)
pW = pW / 2 / 2;
int pX = newHeight - pH;
int pY = newWidth - pW - 3;
// 添加水印
grap.DrawImage(bt, pY, pX, pW, pH);
// 寫入到輸出流
oldBmp.Save(hc.Response.OutputStream, System.Drawing.Imaging.ImageFormat.Jpeg);
}
}
// 控制寬高
private int GetNewPoint(int oldP, int newP, bool isW)
{
int p = 4;
if (isW)
{
p = 16;
}
if (oldP < (newP * p))
{
newP /= 2;
if (oldP < (newP * p))
{
GetNewPoint(oldP, newP, isW);
}
}
return newP;
}
#region IHttpHandler 成員
bool IHttpHandler.IsReusable
{
get { return true; }
}
void IHttpHandler.ProcessRequest(HttpContext context)
{
GetNewBitMap(context);
}
#endregion
}
}
生成.dll文件后在web.config 中配置


通過錯新技術頻道小編教你添加某種格式的圖片添加水印,相信大家都有了一定的了解,如需了解更多的相關資訊,請繼續關注錯新技術頻道吧!


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 习水县| 云霄县| 永城市| 泸溪县| 新昌县| 镇远县| 南华县| 遂川县| 绥德县| 海兴县| 黑龙江省| 法库县| 龙南县| 延寿县| 阿合奇县| 青河县| 中宁县| 锦州市| 永顺县| 大兴区| 文山县| 呼伦贝尔市| 介休市| 吉林省| 昌吉市| 剑川县| 化州市| 江华| 德江县| 宜章县| 凤凰县| 苏尼特右旗| 山阳县| 桑植县| 饶河县| 汶上县| 桑日县| 宜良县| 遂平县| 北海市| 比如县|