在ASP.NET中,如果我有一个多行文本框(甚至是第三方富文本框),我可以在回发期间将其内容转换为图片吗?通过转换我的意思是保持格式&图片中的内容。
例如,我有一个丰富的编辑框,最终用户可以直接在其上添加花哨的文本字体和符号,一旦他们点击“提交”,有没有办法将这个富文本内容保存为位图?或者是否有这样的第三方丰富编辑框具有此内置功能?
我想它可能需要GDI +或WPF,但只是不知道从哪里开始。
答案 0 :(得分:1)
我不确定之前的回答是否解决了您的问题。您想要捕获最终用户(即浏览器)窗口中显示的内容,对吧?然后你想把BMP发回你的服务器。据推测,您希望这样做是因为最终用户可能拥有您没有的字体支持等,或者您希望他们将此图像显示给没有它们的其他用户。
我很确定在浏览器中无法做到这一点。这听起来应该是困难的事情(我讨厌看到可以轻松捕获桌面窗口区域并将其发回的网站)。我怀疑你是在编写自己的ActiveX / Silverlight / Flash控件的领域,但是你应该考虑这是否是明智的做法 - 你是否可以控制你的浏览器(换句话说,你能保证浏览器的版本吗?和用户有的操作系统)?如果没有,您可能会发现,获取操作系统/浏览器矩阵的所有部分的屏幕捕获控件的工作量大于它的价值。
也许如果你扩展你的问题,可以找到更好的解决方案,或者更可能的是,一种完全不同的方法。
答案 1 :(得分:0)
这是一个非常讨厌,丑陋的代码示例,但它一次性涵盖了所有概念:How to Create (a) Text Image on the fly with ASP.NET。
基本上,这是通过创建新的System.Drawing.Bitmap并使用System.Drawing.Graphics.DrawString(text)来完成的。它需要估计绘制的字符串的大小,并确保画布足够大;设置字体等,但总的来说,一旦你做了几次就很简单。