兰色精灵 发表于 2015-1-16 23:38:05

ASP编程:怎样完成图片的随机天生与显现

asp,jsp,php是web开发的三大技术,asp简单易用且有microsoft做靠山,jsp功能强大是因为有java支持,php则开源跨平台.在国内,asp应用范围最广,jsp发展势头最猛,php则处于劣势.这可能与公司的支持以及技术的培训有关.随机|显现图片的随机天生的道理,就是从数据库中随机读取纪录,然后据其机关响应的图片,然后用二进制把其写进Response.OutputStream里。
从数据库中随机读取的道理以下:
setrowcount1select*fromorderbynewid()
假如你的表中的数据的ID是一连的,也能够用C#Random类的next()办法来天生一个随机的ID,从而取得响应的纪录,以下:
"select*fromwhere="+(newRandom()).Next(1,1000);
就能够了。
已从数据库中读掏出来响应纪录了,如今就应当使用读出来的纪录作为参数来天生响应的图片,由于这里只是一个树模,传读取的参数只是一个字符串,固然也能够做更加有用,好比设置图片的款式等。上面的这个办法前往一个bitmap工具:
publicBitmapGetImage(strings)
{
Bitmapb=newBitmap(1,1);
intwidth,height;
FontaFont=newFont("TimesNewRoman",16,System.Drawing.GraphicsUnit.Point);
Graphicsgraphics=Graphics.FromImage(b);
width=(int)graphics.MeasureString(s,aFont).Width;
height=(int)graphics.MeasureString(s,aFont).Height;
b=newBitmap(b,newSize(width,height));
graphics=Graphics.FromImage(b);
graphics.Clear(Color.Black);
graphics.TextRenderingHint=TextRenderingHint.AntiAlias;
graphics.DrawString(s,aFont,newSolidBrush(Color.Yellow),0,0);
graphics.Flush();
return(b);
}
如今取得一个bitmap工具,如今就是输入了,我们只需在响应的事务中到场输入代码就能够了,上面的例子是放在page_load办法里的,代码以下:
Response.ContentType="image/GIF"
b.Save(Response.OutputStream,System.Drawing.Imaging.ImageFormat.Gif);
//MemoryStreamms=newMemoryStream();
//b.Save(ms,System.Drawing.Imaging.ImageFormat.Gif);
//ms.Position=0;
//byte[]t=newbyte;
//ms.Read(t,0,(int)ms.Length);;
//Response.BinaryWrite(t);
下面的代码给了两种输入办法,一个是间接把bitmap保留到Response的输入流中往,另外一办法是先把bitmap保留到一个流中,然后把流中数据库再写到一个字节数组中,然后用Response的二进制输入办法间接写到输入流中,实在也能够把ms的内容间接写到输入流往,完成图片的输入。

固然假如想在一个详细页面加载随机的图片的时分,就不克不及再用下面的办法了,由于下面输入到一个页面的时分只会呈现页面的最下面,并且不克不及定位。想要输入到一个详细的页面时,必要在一个这个页面上设置一个Image控件,用来图片定位的。然后设置这张图片的ImageUrl为这下面写的谁人网页的url就能够了。
详细效果能够拜见
http://211.87.212.216/myguestbook/mytest/showimage.aspx
上述是页面是详细页面,个中的image控件的imageurl即为readimage.aspx,其为图片发生页面。




</p>缺点:安全性不是太差了,还行,只要你充分利用系统自带的工具;唯一缺点就是执行效率慢,如何进行网站优化以后,效果会比较好。

小妖女 发表于 2015-1-29 06:48:38

先学习用frontpage熟悉html编辑然后学习asp和vbscript建议买书进行系统学习

只想知道 发表于 2015-2-5 23:35:08

完全不知道到底自己学的是什么。最后,除了教程里面说的几个例子,还是什么都不会。

山那边是海 发表于 2015-2-14 05:21:00

还有如何才能在最短的时间内学完?我每天可以有效学习2小时,双休日4小时。

活着的死人 发表于 2015-3-4 04:52:55

运用ASP可将VBscript、javascript等脚本语言嵌入到HTML中,便可快速完成网站的应用程序,无需编译,可在服务器端直接执行。容易编写,使用普通的文本编辑器编写,如记事本就可以完成。由脚本在服务器上而不是客户端运行,ASP所使用的脚本语言都在服务端上运行。

不帅 发表于 2015-3-11 17:02:38

还有如何才能在最短的时间内学完?我每天可以有效学习2小时,双休日4小时。

愤怒的大鸟 发表于 2015-3-19 02:30:21

Response:从字面上讲是“响应”,因此这个是服务端向客户端发送东西的,例如Response.Write

admin 发表于 2015-3-27 05:12:46

交流是必要的,不管是生活还是学习我们都要试着去交流,通过交流我们可以学到很多我们自己本身所没有的知识,可以分享别人的经验甚至经历。
页: [1]
查看完整版本: ASP编程:怎样完成图片的随机天生与显现