2011-10-14 9 views
3

私は画像を編集するためのWindowsアプリケーション(C#)を持っていますが、クリップボードの画像やテキストから貼り付けることができます。クリップボードにテキストが含まれている場合は、画像を貼り付けるように機能するよりも、既定のフォントスタイルで画像(GDI +)に変換されます。 私はクリップボードからいくつかのRTF形式のテキストをVS20xxのフォーマットされたソースコードからコピーされたものと同じように変換することができるようにしたいと考えていますが、フォントや色を保持しています。 ) クリップボードの内容をRTF形式のテキストとして認識できますが、イメージとしてレンダリングする方法はありません! デバイスに印刷したり、ファイルをディスクにダンプしたりすることなく、すべてのことをメモリ上で行う必要があります。RTF形式のテキストをイメージに変換するには?

+0

を参照してください、のOnPaintコマンドがコールを取得することを確認する... がビルトインされなければならないWindows関数多分あなたは印刷することができますCOMオブジェクトからドキュメント、結果は画像を変換するために使用することができます。 –

答えて

1

こんにちは、私はこれと似たようなことをずっと前に行っていました。

01)まず、リッチテキストボックスを継承するカスタムユーザーコントロールを作成します。

02)リッチテキストボックス全体のサイズでビットマップ(バッファ)を作成します。 (私たちは、バッファとしてこれを使用するつもりだ)

03)のOnPaint(PaintEventArgsの電子をオーバーライド)

04)を呼び出しrichtextbox.DrawToBitmap(バッファ、のRect(0,0、buffer.Size.Width、 buffer.Size.Height)); それは動作しますが、Intellisenseでは表示されません。

05)クリップボードコマンドで、それをrichtextboxに送信すると、バッファに再描画されます。

06)画像バッファをグラブしてください。

私はこれを答える試してみましょうこの投稿に Correctly Overriding OnPaint (Rich Textbox)