AjaxPro.net中的服务器端Ajax方法中不能使用 GDI+ 创建图片吗?

NaiNaiGeXiong 2008-07-15 11:59:47
在Ajax方法中加入下面的代码,方法返回字符串时在客户端收到null值,页面引入了以下名字空间:
using System.Drawing;
using System.Drawing.Imaging;
using System.Drawing.Drawing2D;

Ajax方法也用了如下特征修饰:
[AjaxPro.AjaxMethod(AjaxPro.HttpSessionStateRequirement.ReadWrite)]



// 创建验证码
//建立位图对象
Bitmap newBitmap = new Bitmap(36, 16, PixelFormat.Format32bppArgb);

//根据上面创建的位图对象创建绘图面
Graphics g = Graphics.FromImage(newBitmap);

//以指定的颜色填充矩形区
g.FillRectangle(new SolidBrush(Color.White), new Rectangle(0, 0, 36, 16));

//创建字体对象
Font textFont = new Font("Times New Roman", 10);

//创建RectangleF结构指定一个区域
RectangleF rectangle = new RectangleF(0, 0, 36, 16);

//创建随机数对象
Random rd = new Random();

//取得随机数
int validationNo = 0;
validationNo = 1000 + rd.Next(8999);

//使用指定的颜色填充上面RectangleF结构指定的矩形区域
g.FillRectangle(new SolidBrush(Color.GreenYellow), rectangle);

//创建验证图片中的杂点
int colorIndex;
Color[] colors = { Color.SaddleBrown, Color.Red, Color.GreenYellow, Color.Blue };
Point[] points = new Point[2];
Pen myPen = new Pen(Color.White);

for (int i = 0; i < 2; ++i)
{
for (int j = 0; j < 2; ++j)
{
points[j].X = rd.Next(1, 35);
points[j].Y = rd.Next(1, 15);
}

colorIndex = rd.Next(4);
myPen.Color = colors[colorIndex];
g.DrawCurve(myPen, points);
}
//结束创建验证图片中的杂点

//在上面填充的矩形区域中填充上面生成的随机数
g.DrawString(validationNo.ToString(), textFont, new SolidBrush(Color.Blue), 2, 1);
//把创建的位图保存到指定的路径
newBitmap.Save(HttpContext.Current.Server.MapPath("ValitionNoImg") + "\\VaImg.gif", ImageFormat.Gif);
// 结束创建验证码
...全文
46 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
NaiNaiGeXiong 2008-07-17
  • 打赏
  • 举报
回复
靠!还没有人顶啊……
NaiNaiGeXiong 2008-07-16
  • 打赏
  • 举报
回复
怎么就没人顶我呀?
NaiNaiGeXiong 2008-07-16
  • 打赏
  • 举报
回复
高手指点下啊……

62,041

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧