麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 編程 > C# > 正文

C# 給站點指定位置的某種格式的圖片添加水印

2024-09-07 17:05:15
字體:
來源:轉載
供稿:網友
代碼如下:
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
{
/// <summary>
/// HandlerImageOpener 的摘要說明
/// </summary>
public class HandlerImageOpener : IHttpHandler
{
public HandlerImageOpener()
{
//
// TODO: 在此處添加構造函數邏輯
//
}
private string _path = "";
/// <summary>
/// 水印圖片路徑
/// </summary>
public string PngPath
{
get
{
if (_path == "")
{
_path = System.Web.HttpContext.Current.Server.MapPath(ConfigurationManager.AppSettings["WatermarkedImagePath"]);
}
return _path;
}
}
/// <summary>
/// 為圖片加水印并寫入到Response.OutputStream
/// </summary>
/// <param name="hc">上下文對象</param>
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 中配置
<!--水印圖片路徑-->
<appSettings>
<add key="WatermarkedImagePath" value="~/logo.gif"/>
</appSettings>
<!--引用處理函數 path為需要加水印圖片的目錄-->
<httpHandlers>
<add type="Chen.HandlerImageOpener, Chen" verb="*" path="image/*.jpg,image/*.gif,image/*.png,image/*.bmp" />
</httpHandlers>
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 国产91久久精品一区二区 | 欧美a欧美| va视频| 美女污污在线观看 | 中文字幕亚洲情99在线 | 日日操夜夜操视频 | 国产一级aaa全黄毛片 | 中文字幕在线资源 | 18pao国产成人免费视频 | 欧美成人国产va精品日本一级 | 国产一级淫片在线观看 | 第四色成人网 | 婷婷久久影院 | 91青青 | 狼人狠狠干 | 香蕉黄色网 | 成年片在线观看 | 麻豆911| 欧美精品亚洲人成在线观看 | 欧美一级一区二区三区 | 久久人人做| 欧美一级黄色免费看 | 免费专区 - 91爱爱 | 天天透天天狠天天爱综合97 | 亚洲激情91 | 久久久精品视 | 久久狂草 | 国产噜噜噜噜噜久久久久久久久 | 中文字幕国产欧美 | 成人永久免费视频 | 91精品国产一区二区三区四区在线 | 粉嫩粉嫩一区二区三区在线播放 | 中文字幕综合在线观看 | av电影在线网站 | av电影网站在线 | 亚洲小视频在线观看,com | 色呦呦一区二区三区 | 国内精品免费一区二区2001 | 97人人草| 黄网站在线免费看 | 国产精品久久久乱弄 |