image问题 我用代码画了图像,怎样用Image控件显示? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 把Image控件的Scr=你返回图像的页面的Url 我也是这样做。但在IIS看,不能显示图像。在VS2005里看就可以。这为什么呢? 好像 Image 不支持这样的用法吧。一般的做法是,使用一个 HttpHandler 或者 Web 页用来承载输出的图片,在此 HttpHandler 或 Web 页的代码中用 Response.Write 输出图片的内容。然后在别的 Web 窗体中引用这个 HttpHandler 或者 Web 页的 URL 我image控件的DescriptionUrl属性连了我用代码画图像的页面,在VS2005调试是可以看到图像的,但在浏览器输入http://localhost/就不能显示图像了。这是为什么呢? Image.ImageUrl =绑定页面在页面画图 楼主 你将代码贴出来啊。这样怎样知道哪里错?src 属性 指到那个 页面也一样可以 //先把成成图像转化为byte[]byte[] streamByte Response.ContentType = "image/GIF"; //图片输出的类型有: image/GIF image/JPEG Response.BinaryWrite(streamByte);//将Image控件的URL指定到输出图片的页面Image.ImageUrl = 给你个验证码画图的例子:新建一个CheckCode.aspx,在CheckCode.aspx.cs里面存放画图的代码,如下:using System;using System.Data;using System.Configuration;using System.Collections;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;public partial class CheckCode : System.Web.UI.Page{ protected void Page_Load(object sender, EventArgs e) { CreateCheckCodeImage(GenerateCheckCode()); } private string GenerateCheckCode() { //创建整型变量 int number; //创建字符型变量 char code; //创建字符串变量并初始化为空 string checkCode = String.Empty; //创建Random对象 Random random = new Random(); //使用For循环生成4个数字 for (int i = 0; i < 4; i++) { //生成一个随机数 number = random.Next(); //获取四个字符组成的验证码字符串 if (number % 2 == 0) code = (char)('0' + (char)(number % 10)); else code = (char)('A' + (char)(number % 26)); checkCode += code.ToString(); } //将生成的随机数添加到Cookies中 Response.Cookies.Add(new HttpCookie("CheckCode", checkCode)); //返回字符串 return checkCode; } private void CreateCheckCodeImage(string checkCode) { //判断字符串不等于空和null if (checkCode == null || checkCode.Trim() == String.Empty) return; //创建一个位图对象 System.Drawing.Bitmap image = new System.Drawing.Bitmap((int)Math.Ceiling((checkCode.Length * 12.5)), 22); //创建Graphics对象 Graphics g = Graphics.FromImage(image); try { //生成随机生成器 Random random = new Random(); //清空图片背景色 g.Clear(Color.White); //画图片的背景噪音线 for (int i = 0; i < 2; i++) { int x1 = random.Next(image.Width); int x2 = random.Next(image.Width); int y1 = random.Next(image.Height); int y2 = random.Next(image.Height); g.DrawLine(new Pen(Color.Black), x1, y1, x2, y2); } Font font = new System.Drawing.Font("Arial", 12, (System.Drawing.FontStyle.Bold)); System.Drawing.Drawing2D.LinearGradientBrush brush = new System.Drawing.Drawing2D.LinearGradientBrush(new Rectangle(0, 0, image.Width, image.Height), Color.Blue, Color.DarkRed, 1.2f, true); g.DrawString(checkCode, font, brush, 2, 2); //画图片的前景噪音点 for (int i = 0; i < 100; i++) { int x = random.Next(image.Width); int y = random.Next(image.Height); image.SetPixel(x, y, Color.FromArgb(random.Next())); } //画图片的边框线 g.DrawRectangle(new Pen(Color.Silver), 0, 0, image.Width - 1, image.Height - 1); //将图片输出到页面上 System.IO.MemoryStream ms = new System.IO.MemoryStream(); image.Save(ms, System.Drawing.Imaging.ImageFormat.Gif); Response.ClearContent(); Response.ContentType = "image/Gif"; Response.BinaryWrite(ms.ToArray()); } finally { g.Dispose(); image.Dispose(); } }}然后建立一个login.aspx页面,内容如下:<img id="img1" src="CheckCode.aspx" />直接指向你要画图的那个文件就可以了 我也是这样做的。问题是我在VS2005调试是可以看到图像的,但在浏览器输入http://localhost/就不能显示图像了。 我都纳闷了,谁能回答这个问题 大家帮我看看,这个产品比较的该用什么控件呢? 想寻求开发网页的资源,谢谢大家啦 如何做一个表的超级连接 grideview传值的问题 绑定了一个bit字段,现在我要在后台操作这个字段的值,public bool IsOver(?) bool ,int都不对,应该是什么类型的变量? 找不到类型或命名空间名称“ForumTableAdapters”(是否缺少 using 指令或程序集引用?) MVC4的身份验证问题(新手问题) 请问怎样让按钮当符合条件是变色? datalist删除问题 读取标题太长导致前台变形 RadioButtonList 提示出错
然后在别的 Web 窗体中引用这个 HttpHandler 或者 Web 页的 URL
在页面画图
src 属性 指到那个 页面也一样可以
//先把成成图像转化为byte[]
byte[] streamByte
Response.ContentType = "image/GIF"; //图片输出的类型有: image/GIF image/JPEG Response.BinaryWrite(streamByte);//将Image控件的URL指定到输出图片的页面
Image.ImageUrl =
新建一个CheckCode.aspx,在CheckCode.aspx.cs里面存放画图的代码,如下:
using System;
using System.Data;
using System.Configuration;
using System.Collections;
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;public partial class CheckCode : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
CreateCheckCodeImage(GenerateCheckCode());
} private string GenerateCheckCode()
{
//创建整型变量
int number;
//创建字符型变量
char code;
//创建字符串变量并初始化为空
string checkCode = String.Empty;
//创建Random对象
Random random = new Random();
//使用For循环生成4个数字
for (int i = 0; i < 4; i++)
{
//生成一个随机数
number = random.Next();
//获取四个字符组成的验证码字符串
if (number % 2 == 0)
code = (char)('0' + (char)(number % 10));
else
code = (char)('A' + (char)(number % 26)); checkCode += code.ToString();
}
//将生成的随机数添加到Cookies中
Response.Cookies.Add(new HttpCookie("CheckCode", checkCode));
//返回字符串
return checkCode;
} private void CreateCheckCodeImage(string checkCode)
{
//判断字符串不等于空和null
if (checkCode == null || checkCode.Trim() == String.Empty)
return;
//创建一个位图对象
System.Drawing.Bitmap image = new System.Drawing.Bitmap((int)Math.Ceiling((checkCode.Length * 12.5)), 22);
//创建Graphics对象
Graphics g = Graphics.FromImage(image); try
{
//生成随机生成器
Random random = new Random(); //清空图片背景色
g.Clear(Color.White); //画图片的背景噪音线
for (int i = 0; i < 2; i++)
{
int x1 = random.Next(image.Width);
int x2 = random.Next(image.Width);
int y1 = random.Next(image.Height);
int y2 = random.Next(image.Height); g.DrawLine(new Pen(Color.Black), x1, y1, x2, y2);
} Font font = new System.Drawing.Font("Arial", 12, (System.Drawing.FontStyle.Bold));
System.Drawing.Drawing2D.LinearGradientBrush brush = new System.Drawing.Drawing2D.LinearGradientBrush(new Rectangle(0, 0, image.Width, image.Height), Color.Blue, Color.DarkRed, 1.2f, true);
g.DrawString(checkCode, font, brush, 2, 2); //画图片的前景噪音点
for (int i = 0; i < 100; i++)
{
int x = random.Next(image.Width);
int y = random.Next(image.Height); image.SetPixel(x, y, Color.FromArgb(random.Next()));
} //画图片的边框线
g.DrawRectangle(new Pen(Color.Silver), 0, 0, image.Width - 1, image.Height - 1); //将图片输出到页面上
System.IO.MemoryStream ms = new System.IO.MemoryStream();
image.Save(ms, System.Drawing.Imaging.ImageFormat.Gif);
Response.ClearContent();
Response.ContentType = "image/Gif";
Response.BinaryWrite(ms.ToArray());
}
finally
{
g.Dispose();
image.Dispose();
}
}
}然后建立一个login.aspx页面,内容如下:<img id="img1" src="CheckCode.aspx" />
直接指向你要画图的那个文件就可以了