|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
asp,jsp,php是web开发的三大技术,asp简单易用且有microsoft做靠山,jsp功能强大是因为有java支持,php则开源跨平台.在国内,asp应用范围最广,jsp发展势头最猛,php则处于劣势.这可能与公司的支持以及技术的培训有关.随机|显现图片的随机天生的道理,就是从数据库中随机读取纪录,然后据其机关响应的图片,然后用二进制把其写进Response.OutputStream里。
从数据库中随机读取的道理以下:
setrowcount1select*from[yourtable]orderbynewid()
假如你的表中的数据的ID是一连的,也能够用C#Random类的next()办法来天生一个随机的ID,从而取得响应的纪录,以下:
"select*from[yourtable]where[pkid]="+(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.Length];
//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>缺点:安全性不是太差了,还行,只要你充分利用系统自带的工具;唯一缺点就是执行效率慢,如何进行网站优化以后,效果会比较好。 |
|