2017-01-30 14 views
0

テキストを書式化してWebService経由でクライアントアプリケーションに提供する必要があります。これもC#で書かれています。私はすでにStackOverflowのようなテキストフォーマットを持つ必要があります太字、番号などを提供しますマークアップ言語(C#)に画像を埋め込む方法は?

また、この "テキスト"内の画像を埋め込む必要があります。 Webサービスが利用できない場合にキャッシュするために、画像を含むテキストがクライアント側に格納される必要があるためです。

私はテキストの書式を解決することはマークアップ言語で行うことができますが、フォーマットされたテキスト内に画像を保存/埋め込む方法はあると思いますか?

これはHTMLでも可能でしょうか?重要なのは、例えば、ウェブ上にテキスト入力用の小さなインタフェースを用意し、テキストに埋め込まれる画像を選択することです。だから私はクライアント側(winformsアプリ)とWeb側(asp.net mvcアプリケーション)にパーサーと表示コンポーネントを持つ必要があります。

答えて

1

よく、にはのマークアップ言語を使用してください。結果がウェブ上に表示されることが意図されている場合、HTMLは最も論理的な選択肢です。ただし、マークアップ言語は一般にイメージを埋め込むことはできません。マークアップはテキストベースで、イメージはバイナリです。 2つのフォーマットは実際には混在しません。

つまり、HTMLは多少特殊なケースです。 SVG自体は、バイナリコードではなくマークアップを使用してイメージをエンコードする特殊なベクターフォーマットであるため、データURIに任意のイメージデータまたはSVGを含めることができます。しかし、あなたのイメージがベクターではない場合、データURIに頼らざるを得ません。比較的小さいイメージの場合にのみ使用するべきです。データURIは、基本的にbase64としてエンコードされたバイト配列です。つまり、拡張されていません。たとえば、44 KBの画像をデータURIとしてエンコードすることをテストしたところ、結果は62 KBでした。

[mimetype]は(など image/jpegimage/png、)画像のMIMEタイプです
<img src="data:[mimetype];base64,[data]"/> 

[data]はあなたのbase64でエンコードされたバイト配列である:あなたはこのようにそれを行うことを選択した場合にもかかわらず、構文は次のとおりです。

一般的に、データURIは現在ブラウザでよくサポートされていますが、一部の古いバージョンのIEでは読み込めません。それはおそらく関心事ではないでしょう。懸念されるのは、のようなレスポンスがというWeb上で表示されるか、WebKitなどのHTML(およびデータURI)を解析できるものによって処理されなければならないということです。結果として、あなたはどのようにレスポンスを利用できるかという観点から、自分自身をボクシングしています。

関連する問題