本人正尝试做一自定义webcontrol,用于显示一个界面,不知怎样render?

shibill 2004-09-23 11:02:12
本人正在尝试做一自定义webcontrol,用于显示一个界面,原理是先设置一个控件大小的Bitmap,然后再Bitmap上画,画完后输出,不知怎样render? 请指教

Private m_Image As Bitmap
m_Image = New Bitmap(Me.Width, Me.Height)
//下面在Bitmap对象上开画
。。。
画完后该怎么Render呢?
Protected Overrides Sub Render(ByVal output As System.Web.UI.HtmlTextWriter)
'output.Write(m_Value.ToString) ?????
End Sub
请大家指点交流一下,另外谁有这方面的例子也请提供一个,多谢了
...全文
131 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
cnblackhawk 2004-11-01
  • 打赏
  • 举报
回复
up
saucer 2004-09-24
  • 打赏
  • 举报
回复
you don't need a temporary jpg file

<img src="displayimage.aspx">

in displayimage.aspx:

Response.ContentType="image/jpeg";
...
//save your bitmap to Response.OutputStream

Response.End();

see
http://weblogs.asp.net/jrule/archive/2004/08/16/215393.aspx
shibill 2004-09-24
  • 打赏
  • 举报
回复
感谢思归,你提供的对我帮助很大,我看了那个例子,它的方法是将Bitmap对象在服务器保存成一个JPG文件,然后再Render输出,不知道不这样做行不行,能不能直接输出Bitmap对象,因为保存文件太麻烦了,还要自己经常删掉不用的文件
yingshis 2004-09-23
  • 打赏
  • 举报
回复
up
saucer 2004-09-23
  • 打赏
  • 举报
回复
why in Render? you realize the image only works for <img src="display.aspx">, right?

see

Create Snazzy Web Charts and Graphics On the Fly with the .NET Framework
http://msdn.microsoft.com/msdnmag/issues/02/02/ASPDraw/

Creating Dynamic Graphs in ASP.NET using GDI+
http://www.codeproject.com/aspnet/gdiGraph.asp
bflovesnow 2004-09-23
  • 打赏
  • 举报
回复
mark
styker 2004-09-23
  • 打赏
  • 举报
回复
正确的应该是该类继承自WebControl,然后重载下面函数
protected override void CreateChildControls()
{
ErrorLabel = new Label();
ErrorLabel.Visible = false;
Controls.Add(ErrorLabel);

CustomerIdChooser = new DropDownList();
CustomerIdChooser.Load += new EventHandler(CustomerIdLoad);
CustomerIdChooser.SelectedIndexChanged +=
new EventHandler(CustomerIdChanged);
Controls.Add(CustomerIdChooser);

}
protected override void RenderWebPart(HtmlTextWriter output)
{
EnsureChildControls();
if (ErrorLabel.Visible == false)
{

output.AddAttribute(HtmlTextWriterAttribute.Cellpadding, "2px");
output.RenderBeginTag("div");
output.RenderBeginTag(HtmlTextWriterTag.Div);
output.AddAttribute(HtmlTextWriterAttribute.Width, "400px");
output.AddAttribute(HtmlTextWriterAttribute.Cellpadding, "2px");
output.AddAttribute(HtmlTextWriterAttribute.Cellspacing, "1px");
output.RenderBeginTag("table");
output.RenderBeginTag("tr");
output.AddStyleAttribute(HtmlTextWriterStyle.FontWeight, "bold");
output.AddStyleAttribute(HtmlTextWriterStyle.Width, "200px");
output.RenderBeginTag("td");
output.Write("<nobr>Customer ID:</nobr>");

output.RenderEndTag(); //td
output.AddAttribute("width", "200px");
output.RenderBeginTag("td");
this.CustomerIdChooser.RenderControl(output);
output.RenderEndTag(); //td
}
else // (ErrorLabel.Visible == true)
{
ErrorLabel.RenderControl(output);
}
}
shibill 2004-09-23
  • 打赏
  • 举报
回复
怎么没人懂吗?悲凉
Vulkan被称为OpenGL的接班人,性能果然是霸气外漏,更能够承载下一个时代的图形渲染编程。 GPU高性能渲染的课题进入了一个新的阶段,对于计算细节的控制,多核CPU多线程渲染以及高性能算法的灵活设计需求日益旺盛。图形程序员需要有更加强力且灵活的工具,来“解锁”我们自身的控制能力,OpenGL的较高度封装性以及单纯的状态机模式显然已经无法适应现代化图形渲染的强烈需求。为什么要学习Vulkan?如前言所说,Vulkan已经成为了下一个时代的图形渲染主流API,早已经被各大商业引擎(Unreal Engine、Unity3D)所支持。那么我们的同学就有如下问题需要明晰:1 作为游戏程序员我们只学会了UE或者Unity3D,那么就只能作为一个普通的程序员,如果能够结合Vulkan的学习对商用引擎理解更加深刻,就可以更好的发挥引擎威力甚至更改引擎的源代码,实现更多的可能,让你在各大公司之间都“蛇形走位,游刃有余” 2 作为自研引擎工作人员,你可能在工业软件领域从业、也有可能在影视渲染领域从业、也可能在其他的图形系统领域(军工、GIS、BIM)等领域,那么熟练的掌握Vulkan就可以针对自己公司的不同领域需求进行不同的引擎定制开发,从而获得牢不可破的地位,对于自身职业发展有着极大的优势! 总而言之,越早学习Vulkan,就越能与别人拉开差距,让Vulkan称为你升职加薪、壮大不可替代性的核武器! 课程简介:本课程详细讲解了Vulkan从小白到入门的基础理论+实践知识,对于每一个知识点都会带领学员通过代码来实现功能。其中涵盖了计算机图形学基础理论,计算机图形学数学推导,Vulkan基础系统设计理论,基础单元(实例,设备,交换链), 渲染管线,RenderPass, 指令与多线程, 顶点描述与实验, Uniform与描述符, 图像与采样, 深度与反走样,模型与摄像机等内容;课程中会对Vulkan复杂抽象的API进行一次包装层的封装,将相关的API都进行聚合与接口设计,作为游戏或者图形引擎来讲,这是至关重要的第一步。这一个封装步骤,也被称为API-Wrapper,经过包装后的类库,同学可以在此之上根据自己的具体需求进行扩展,从而得到最适合自己的类库内容。本课程为系列化课程,在铸造基石篇章之后,会继续使用本包装类库进行改良,并且实现Vulkan API下的各类效果以及高级特性的开发教学。 课程优势:1 本课程会从计算机图形学的基础渲染管线原理出发,带领0基础的同学对计算机图形学进行快速认知,且对必要的知识点进行筛选提炼,去掉冗余繁杂的教学内容,更加适合新手对Vulkan渲染体系入门了解。 2 本课程会对计算机图形学所涉及的数学知识及如何应用到渲染当中,进行深入的讲解,带领同学对每一行公式展开认识,从三维世界如何映射到二维的屏幕,在学习完毕后会有清晰的知识体系 3 本课程会带领同学认知每一个Vulkan的API,并且在代码当中插入详细的注释,同学们在学习的时候就可以参照源代码进行一系列尝试以及学后复习 4 本课程所设计的包装层,会带领同学一行一行代码实现,现场进行Debug,对于Vulkan常出现的一些问题进行深入探讨与现场纠  学习所得:1 同学们在学习后可以完全了解从三维世界的抽象物体,如何一步步渲染称为一个屏幕上的像素点。2 同学们在学习后可以完全掌握基础的Vulkan图形API,并且了解Vulkan当中繁多的对象之间相互的联系,从而可以设计更好的图形程序3 同学们在跟随课程进行代码编写后,可以获得一个轻量级的Vulkan底层API封装库(Wrapper),从而可以在此之上封装上层的应用,得到自己的迷你Vulkan图形渲染引擎当然,在达到如上三点之后,如果可以更进一步学习Vulkan的进阶课程,同学们可以获得更好的职业发展,升职加薪之路会更加清晰,成为公司不可替代的强力工程师 本课程含有全套源代码,同学购买后,可以在课程附件当中下载 完全不懂图形学可以学习么?使用层面上来讲是没有问题的,老师在每个api讲解的时候,都会仔细分析api背后的原理,所以可以跟随下来的话,能够编程与原理相融,学会使用 数学不好可以学习么?学习图形类课程,最好能够入门级别的线性代数,具体说就是: 1 向量操作 2 矩阵乘法 3 矩阵的逆、转置 这几个点就足够 学习后对就业面试有什么作用?目前类似Vulkan的渲染知识是一切引擎的基础,只要能够跟随每一节课写代码下来,游戏公司、工业软件公司等都是非常容易进去的,因为原理层面已经通晓,面试就会特别有优势。同学可以在简历上写熟悉VulkanAPI并且有代码经验,对于建立筛选以及面试都会有很大的帮助,对于薪资也会有大幅度提升

110,526

社区成员

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

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

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