2

ASP.NET で、複数行のテキスト ボックス (またはサード パーティのリッチ テキスト ボックス) を使用している場合、ポストバック中にその内容を画像に変換できますか? 変換とは、フォーマットとコンテンツを画像に保持することを意味します。

たとえば、リッチ エディット ボックスがあり、エンド ユーザーはファンシー テキスト フォントと記号を直接追加できます。「送信」をクリックすると、このリッチ テキスト コンテンツをビットマップとして保存する方法はありますか? または、この組み込み機能を備えたサードパーティのリッチ編集ボックスはありますか?

GDI+ または WPF が必要かもしれませんが、どこから始めればよいかわかりません。

4

2 に答える 2

1

前の回答があなたの問題に対処したかどうかはわかりません。エンド ユーザー (つまり、ブラウザ) のウィンドウに表示されているものをキャプチャしたいと思いませんか? そして、BMP をサーバーに送り返したいとします。おそらく、エンドユーザーがあなたが持っていないフォントサポートなどを持っている可能性があるため、またはそれらを持っていない他のユーザーにこの画像を表示したいので、これを行う必要があります。

これはブラウザ内では不可能だと確信しています。これも難しいことのように思えます (デスクトップ ウィンドウの領域を簡単にキャプチャして、それをポストバックできる Web サイトは見たくありません)。あなたは独自の ActiveX/Silverlight/Flash コントロールを作成する領域にいると思いますが、これが賢明なことであるかどうかを検討する必要があります。つまり、ブラウザーを制御できますか (つまり、ブラウザーのバージョンを保証できますか?)およびユーザーが使用している OS)? そうでない場合、OS/ブラウザー マトリックスのすべての部分で動作するスクリーン キャプチャ コントロールを取得するのは、無駄な作業であることに気付くかもしれません。

おそらく、問題を拡大すると、より良い解決策が見つかるか、まったく異なるアプローチが見つかる可能性が高くなります。

于 2009-03-06T15:05:18.830 に答える
0

これは非常に厄介で醜いコード サンプルですが、すべての概念を一度にカバーしています: How to Create (a) Text Image on the fly with ASP.NET .

基本的に、これは新しいSystem.Drawing.Bitmapを作成し、 System.Drawing.Graphics.DrawString(text)を使用して行われます。描画される文字列の大きさを見積もり、キャンバスが十分な大きさであることを確認する必要があります。フォントの設定などを行いますが、全体としては、数回実行すると非常に簡単です。

于 2009-03-05T03:01:53.880 に答える