ASP.NET:动态地为图像添加“水印”
发布时间:2020-12-16 06:29:07 所属栏目:asp.Net 来源:网络整理
导读:我见过很多关于 adding watermark on images with php的问题和答案 我想这样做,这次是用ASP.NET 所以这里有几个问题. 我怎么能用ASP做到这一点? 这个过程对服务器来说是否会过载? 我可以使用图像作为水印而不是简单的文字吗? 解决方法 这是来自codeprojec
|
我见过很多关于
adding watermark on images with php的问题和答案
我想这样做,这次是用ASP.NET 所以这里有几个问题. >我怎么能用ASP做到这一点? 解决方法
这是来自codeproject的另一个示例
http://www.codeproject.com/KB/web-image/ASPImaging1.aspx,您可以对图像做很多想法,包括从图像添加水印.
我认为这个过程是采取cpu power ether在php,ether.net上的asp.net.因此,图像缓存模式是此类工作的必需品. 这是一些基本代码.在此代码中,您必须更改水印的位置和图像的大小.水印可以是具有透明的png图像. public void MakePhoto(...parametres...)
{
Bitmap outputImage = null;
Graphics g = null;
try
{
// the final image
outputImage = new Bitmap(OutWidth,OutHeight,PixelFormat.Format24bppRgb);
g = Graphics.FromImage(outputImage);
g.CompositingMode = CompositingMode.SourceCopy;
Rectangle destRect = new Rectangle(0,OutWidth,OutHeight);
// the photo
using (var BasicPhoto = new Bitmap(cBasicPhotoFileOnDisk))
{
g.DrawImage(BasicPhoto,destRect,BasicPhoto.Width,BasicPhoto.Height,GraphicsUnit.Pixel);
}
g.CompositingMode = CompositingMode.SourceOver;
// the watermark
using (var WaterMark = new Bitmap(cWaterMarkPhotoOnDisk))
{
Rectangle destWaterRect = new Rectangle(0,OutHeight);
g.DrawImage(WaterMark,destWaterRect,GraphicsUnit.Pixel);
}
outputImage.Save(TheFileNameTosaveIt,ImageFormat.Jpeg);
}
catch (Exception x)
{
Debug.Assert(false);
... log your error,and send an error image....
}
finally
{
if (outputImage != null)
outputImage.Dispose();
if (g != null)
g.Dispose();
}
}
如果您希望自定义句柄,则上述代码为stand,但您只更改了保存行.就像是. public void ProcessRequest (HttpContext context)
{
context.Response.ContentType = "image/jpeg";
// add you cache here
context.Response.Cache.SetExpires(DateTime.Now.AddMinutes(200));
context.Response.Cache.SetMaxAge(new TimeSpan(0,200,0));
context.Response.BufferOutput = false;
..... the above code....
outputImage.Save(context.Response.OutputStream,ImageFormat.Jpeg);
..... the above code....
context.Response.End();
}
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net-mvc – MVC 5中的Web API属性路由异常:该对象尚未
- ASP.Net分层应用程序 – 在层之间共享实体数据模型
- asp.net-mvc – 无法获得有效的Unity Session Lifetime Man
- asp.net – 如何使用Eval更改TemplateField中的颜色
- asp.net-mvc-3 – MVC 3上的单元测试控制器为结果返回null,
- asp.net-mvc – 如何本地化枚举并使用类似于Html.SelectLis
- asp.net-mvc-5 – 当EnableOptimizations为true时,CSS包为空
- asp.net-mvc – MVC routes.MapRoute name属性
- asp.net – 如果在MVC 3中没有认证,如何轻松重定向?
- ASP.net Web服务与WCF
推荐文章
站长推荐
- asp.net – “无法在Web服务器上启动调试”MSVSM
- asp.net-mvc – 将Orchard CMS部署到共享主机的正
- asp.net – 为什么我应该使用telerik radcontrol
- asp-classic – 使用Webmatrix Razor替换经典ASP
- asp.net – 如何使用OctopusDeploy安装Windows服
- asp.net-mvc – ASP.NET MVC:在另一个动作中获取
- asp.net – ThreadPools vs Own Threads用于长时
- asp.net core 日志
- asp.net核心 – 在Visual Sudio 2015中的Aurelia
- ASP NET CORE – ANGULAR NO’Access-Control-Al
热点阅读
