永发信息网

asp.net上传到FTP后 水印图片显示不了了 是什么原因??

答案:1  悬赏:40  手机版
解决时间 2021-07-28 21:57
web.config 代码
<add verb="*" path="imageSY/*.jpg" type="shuiyin"/>

shuiyin.cs代码
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;
using System.IO;
using System.Drawing.Imaging;


/// <summary>
/// shuiyin 的摘要说明
/// </summary>
public class shuiyin:IHttpHandler
{
private const string COVERSADDR = "~/imageSY/";//存放原始图片的文件夹

private const string WATERMARK_URL = "~/imageSY/logo-3.png";//水印图片的路径
private const string DEFAULTIMAGE_URL = "~/imageSY/pro_img.jpg";//默认图片路径


public shuiyin()
{
//
// TODO: 在此处添加构造函数逻辑
//
}

#region IHttpHandler 成员

public bool IsReusable
{
get { return false; }
}

public void ProcessRequest(HttpContext context)
{
ImageAttributes imageAttributes = new ImageAttributes();
ColorMap colorMap = new ColorMap();
//My watermark was defined with a background of 100% Green this will
//be the color we search for and replace with transparency
colorMap.OldColor = Color.FromArgb(255, 0, 255, 0);
colorMap.NewColor = Color.FromArgb(255, 255, 255, 255);

ColorMap[] remapTable = { colorMap };

imageAttributes.SetRemapTable(remapTable, ColorAdjustType.Bitmap);
float[][] colorMatrixElements = {
new float[] {1.0f, 0.0f, 0.0f, 0.0f, 0.0f},
new float[] {0.0f, 1.0f, 0.0f, 0.0f, 0.0f},
new float[] {0.0f, 0.0f, 1.0f, 0.0f, 0.0f},
new float[] {0.0f, 0.0f, 0.0f, 0.3f, 0.0f},
new float[] {0.0f, 0.0f, 0.0f, 0.0f, 1.0f}};
ColorMatrix wmColorMatrix = new ColorMatrix(colorMatrixElements);

imageAttributes.SetColorMatrix(wmColorMatrix, ColorMatrixFlag.Default,
ColorAdjustType.Bitmap);











System.Drawing.Image Covers = null;
if (File.Exists(context.Request.PhysicalPath))
{
Covers = System.Drawing.Image.FromFile(context.Request.PhysicalPath);
System.Drawing.Image watermark = System.Drawing.Image.FromFile(context.Request.MapPath(WATERMARK_URL));

Graphics p = Graphics.FromImage(Covers);
if (Covers.Width < 550)
{
p.DrawImage(watermark, new Rectangle(Covers.Width - watermark.Width+20, Covers.Height - watermark.Height - 50, watermark.Width, watermark.Height), 0, 0, watermark.Width, watermark.Height, GraphicsUnit.Pixel);
}
else
{
p.DrawImage(watermark, new Rectangle(Covers.Width - watermark.Width, Covers.Height - watermark.Height - 50, watermark.Width, watermark.Height), 0, 0, watermark.Width, watermark.Height, GraphicsUnit.Pixel);

} p.Dispose();
watermark.Dispose();
}
else
{
Covers = System.Drawing.Image.FromFile(context.Request.MapPath(DEFAULTIMAGE_URL));
}
context.Response.ContentType = "image/Png";

Covers.Save(context.Response.OutputStream, System.Drawing.Imaging.ImageFormat.Jpeg);
Covers.Dispose();
context.Response.End();


}

#endregion
}

最佳答案

路径对吗?


要是空间支持。net多数原因就是路径 问题

我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
NBA里谁能单场过百。
dnf什么时候开5章
光山县信阳泰浦物流(兴隆路)在什么地方啊,我
我的财富通是被盗的时候被申请的现在密码找回
报考汽车C型驾驶证要多少钱?最快多久可以领
一天上多少小时的网才对眼睛没有伤害
空气开关怎么样会跳掉?
请问天龙八部中打造图1~9除了用YB买,还能怎
物理学中有没有“变减速直线运动”?详细说明
柯受良的儿子是谁
谁有《花与剑》和《小城故事》的txt版?
八年级语文常考诗句,人教版八年级语文上册课
圆内接正八边行周长怎么算
桐柏县南阳桐柏农商银行我想知道这个在什么地
哪位大哥大姐知道辽宁哪有卖N97水货的,多少
推荐资讯
谁帮忙给一篇讲述人生哲理的文章
c#winform程序连接前选择sql服务器的问题
《且听风吟》作者:司堂墨谪是不是同性恋?
江岸区武汉中国福利彩票在哪里啊,我有事要去
有没有类似天龙八部那样能带宝宝 有坐骑 能pk
刮了胡子怎么长了很多青春痘,有什么办法不长
经常流鼻涕,怎么办?
泌阳县驻马店中国电信光纤宽带受理中心我想知
开网店需要什么些经验方面的?
下岗职工证明怎么写,失业人员能办病退吗
这段感情放在哪里。
杨军豪这名字好吗
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?