已经生成了一个bitmap
public void setPos(string[] RoomNo, int num,System.Web.HttpServerUtility page)
{
BaseStr = page.MapPath(new judgeBuilding().chooseBuilding(RoomNo[0]));
bm = new Bitmap(page.MapPath(new judgeBuilding().choosePicture(RoomNo[0])));
g = Graphics.FromImage(bm);
PRStr = page.MapPath( "PR.pos ");
int building=RoomNo[0][0]- '0 ';
readRatioFile();
for(int i=0; i <Num; i++)
{
if(building == Convert.ToInt32(RatioData[i,0]))
{
building = i;break;
}
}
conv.setRatio(RatioData[building,1],RatioData[building,2],RatioData[building,3],RatioData[building,4]);
this.readData();
if(tagData == false ||tagRatio == false) throw new Exception( "还未读入数据。 ");
for(int i=0; i <num; i++)
{
int RoomPosNo = (RoomNo[i][2]- '0 ')*10+RoomNo[i][3]- '0 ';
_setSinglePos(RoomPosNo-1);
}
}
public Bitmap getBitmap(){
return this.bm;
}
其中bm是已经动态生成的图象,需要显示到页面上。
目前试过先保存为文件,再从文件中读取,但因为是动态生成的,不同的条件下会有不同的文件名,因此不能放到项目中去,生成的图象只有在本地机上可以访问,换另外一台机器就不能正确显示图像。
所以想问下到底有没有方法直接将bm画到页面上面?该怎么画?谢谢了
------解决方案--------------------------------------------------------
楼主的需求和生成一个随机码,并显示的需求差不多
用一个aspx页面来生成图片,然后让这个页面以图片流的方式输出。
使用的页面就像使用一个普通图片一样的使用。例如
1 生成图片流的页面叫getRandImg.aspx
2 使用图片的页面,加一个image控件,然后如下设置url即可
<asp:Image ID= "Image1 " ImageUrl= "~/getRandImg.aspx " runat= "server " />
可以参考我的博客文章《ASP.NET随机码生成示例》
http://www.cnblogs.com/heekui/archive/2007/01/06/613609
------解决方案--------------------------------------------------------
另外一个页面
<img src=xxx.aspx>
------解决方案--------------------------------------------------------
一个页面要么是文本,要么是二进制内容
如果是后者,只能整个页面只有一张图片
一般的做法就是放到另外的aspx文件,Img的src指定为此文件