【问题标题】:Is it possible to convert an ASP.NET control to a picture on the fly?是否可以即时将 ASP.NET 控件转换为图片?
【发布时间】:2010-10-11 10:29:17
【问题描述】:

在 ASP.NET 中,如果我有一个多行文本框(甚至是第 3 方富文本框),我可以在回发期间将其内容转换为图片吗?通过转换,我的意思是保留图片中的格式和内容。

例如,我有一个富文本编辑框,最终用户可以直接在其上添加花哨的文本字体和符号,一旦他们点击“提交”,有没有办法将此富文本内容保存为位图?还是有这样一个具有此内置功能的第三方富编辑框?

我猜它可能需要 GDI+ 或 WPF,但只是不知道从哪里开始。

【问题讨论】:

    标签: asp.net wpf bitmap gdi


    【解决方案1】:

    我不确定上一个答案是否解决了您的问题。您想捕获最终用户(即浏览器)窗口中显示的内容,对吗?然后您想将 BMP 发布回您的服务器。据推测,您想要这样做是因为最终用户可能拥有您没有的字体支持等,或者您希望他们将此图像显示给没有它们的其他用户。

    我很确定这在浏览器中是不可能的。这听起来也应该很困难(我不希望看到可以轻松捕获我的桌面窗口区域并将其发布回来的网站)。我怀疑您正在编写自己的 ActiveX/Silverlight/Flash 控件,但您应该考虑这样做是否明智 - 您是否可以控制浏览器(换句话说,您能否保证浏览器版本和您的用户拥有的操作系​​统)?如果没有,您可能会发现让屏幕捕获控件在操作系统/浏览器矩阵的所有部分上都可以正常工作。

    也许如果您扩展您的问题,可以找到更好的解决方案,或者更有可能找到完全不同的方法。

    【讨论】:

      【解决方案2】:

      这是一个非常讨厌、丑陋的代码示例,但它一口气涵盖了所有概念:How to Create (a) Text Image on the fly with ASP.NET

      基本上这是通过创建一个新的System.Drawing.Bitmap 并使用System.Drawing.Graphics.DrawString(text) 来完成的。它需要估计绘制的字符串有多大,并确保你的画布足够大;设置字体之类的,但总的来说,只要你做几次就很简单了。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-01-01
        • 2014-10-03
        • 2019-02-09
        相关资源
        最近更新 更多