做可视化WebControl的,请进!!!

shibill 2004-10-12 01:44:56
偶正在做一个关于界面的可视化WebControl,用于显示一个界面,原理是先设置一个控件大小的Bitmap,然后再Bitmap上画,画完后输出,代码如下:
<DefaultProperty("Value"), ToolboxData("<{0}:Annunciator runat=server></{0}:Annunciator>")> Public Class Annunciator
Inherits System.Web.UI.WebControls.WebControl : Implements INamingContainer

Private Sub OutputImage()
Dim m_Image As New Bitmap(100, 100)
Dim g As Graphics

g = Graphics.FromImage(m_Image)
g.SmoothingMode = Drawing2D.SmoothingMode.AntiAlias

g.Clear(Color.Silver)

'draw
context.Response.Clear()
context.Response.ContentType = "image/Gif"
m_Image.Save(context.Response.OutputStream, ImageFormat.Gif)

m_Image.Dispose()
g.Dispose()
End Sub

Protected Overrides Sub Render(ByVal writer As System.Web.UI.HtmlTextWriter)
OutputImage()
End Sub
End Class

终于可以输出了,但又出现新的问题,关键在于context.Response.Clear()这一句,如果加上这句,在同一页面的其他控件全部都不显示了,去掉则自己的控件输出为一堆乱码,不知怎么回事?
另外,如何在设计时也能实现界面的可视,象Image控件一样,而不是一个MyControl:MyControl1的显示
...全文
101 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
saucer 2004-10-13
  • 打赏
  • 举报
回复
不能在当前用一页输出,用个,

<img src="yourimage.aspx?id=123">

在yourimage.aspx里用上面的编码输出图像
shibill 2004-10-13
  • 打赏
  • 举报
回复
谢谢思归,真正的高手啊!
我需要的内存Bitmap对象的流输出,不是图片的输出,我已经成功了
context.Response.Clear()
context.Response.ContentType = "image/Gif"
m_Image.Save(context.Response.OutputStream, ImageFormat.Gif)
可又出现了新的问题,页面上其他控件不显示了,这里面的机制到底是怎么样的?
tongcheng 2004-10-13
  • 打赏
  • 举报
回复
看看
。。。
saucer 2004-10-13
  • 打赏
  • 举报
回复
your webcontrol should output

<img src="..">

then either use a known yourimage.aspx or write an image generation service similar to

http://msdn.microsoft.com/msdnmag/issues/04/04/CuttingEdge/
shibill 2004-10-13
  • 打赏
  • 举报
回复
我做的是一个WebControl,如何调用Yourimage.aspx?
saucer 2004-10-13
  • 打赏
  • 举报
回复
在HTML里,一般来说,显示图片的机制是通过
<img src="..."

即,你需要输出类似的编码


如果你调用
Response.Clear()
其他控件显示才怪呢

http://www.c-sharpcorner.com/Code/2002/Dec/ImageCanvas.asp

http://www.codeproject.com/aspnet/updowncontrol1.asp

http://msdn.microsoft.com/msdnmag/issues/04/04/CuttingEdge/
yaopeng117 2004-10-12
  • 打赏
  • 举报
回复
不好意思,真的没做过,帮你顶吧!
shibill 2004-10-12
  • 打赏
  • 举报
回复
没人做过吗?悲凉中。。。
shibill 2004-10-12
  • 打赏
  • 举报
回复
这里C#和VB语法差不多
yaopeng117 2004-10-12
  • 打赏
  • 举报
回复
VB?

110,539

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

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