ホームページ > バックエンド開発 > C++ > クリップボードを使用せずにRichTextBoxに画像を直接埋め込む方法は?

クリップボードを使用せずにRichTextBoxに画像を直接埋め込む方法は?

Barbara Streisand
リリース: 2024-12-30 03:06:46
オリジナル
667 人が閲覧しました

How to Directly Embed Images into a RichTextBox without Using the Clipboard?

クリップボードの干渉なしで RichTextBox に画像を埋め込む方法

RichTextBox に画像を挿入するために提案されているソリューションのほとんどは、画像をクリップボードにコピーすることを伴います。それをコントロールに貼り付けます。ただし、この方法には現在のクリップボードの内容が上書きされるため問題があります。

直接的なアプローチ

より直接的なアプローチは、RichTextBox の RTF コードを直接変更して、画像データ。画像の RTF 構文は次のとおりです:

{' \pict (brdr? & shading? & picttype & pictsize & metafileinfo?) data '}'
ログイン後にコピー

ここで:

  • data は 16 進形式 (ビン制御ワードを使用する場合はバイナリ) の画像データです
  • pict は画像グループを開始します
  • 括弧内の制御語は次のとおりですオプション
  • picwX と pichX は画像の幅と高さをピクセル単位で指定します
  • picwgoalX と pichgoalX は希望の幅と高さを twip 単位で指定します (1 twip = 20 ピクセル)

埋め込み手順画像

  1. 画像を開き、16 進数 (またはバイナリ) 形式に変換します。
  2. データを文字列に読み込みます。
  3. RTF コードを構築します適切な制御ワードと画像データを使用します。
  4. RichTextBox から現在の RTF コードを取得します。 (例: rtbBox.Rtf)。
  5. RTF コード内の目的の位置に画像データを挿入します。
  6. 更新された RTF コードを RichTextBox に戻します (例: rtbBox.Rtf = newRtfCode).

制限事項

.NET RichTextBox では、RTF 構文のサポートが制限されています。特定のコマンドをどのように処理するかをテストするには、提供されている「RTB Tester」アプリケーションの使用を検討してください: http://your-translations.com/toys.

注: この方法は、 16進数の画像データ。他の画像形式 (PNG、JPG など) やダイナミック リンク ライブラリ (DLL) を使用する代替アプローチもあります。

以上がクリップボードを使用せずにRichTextBoxに画像を直接埋め込む方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート