0

ASP.NETカスタムWebサーバーコントロールでオンザフライで生成しSystem.Drawing.Bitmapていますが、ホスティングコンピューターに保存したくないため、このビットマップをWebResourceの一部として提供したいと思います。

System.Drawing.Bitmap生成されたものをWebResourceの一部として提供するようにASP.NETに指示する方法はありますか?(したがって、それを「埋め込みリソース」にします)

4

2 に答える 2

2

HTTPハンドラーを使用します。ハンドラーは基本的に、指定された拡張子を持つリソースがサーバーから要求されたときに実行されるコードの一部です。動的に生成された画像が必要なため、ハンドラーのコードでそれを行い、応答として返します。埋め込みは静的な情報しかできないため、埋め込みは機能しません。ここにいくつかのリンクがあります:

于 2010-04-06T12:49:21.317 に答える
1

HTTPハンドラーを使用せずにいくつかのASP.NETプロジェクトでこれを行いました。

「Fingerprint.jpg」という名前の画像があり、名前空間が「MyNamespace」であるWebコントロールライブラリの「Images」という名前のサブフォルダーに配置するとします。事実上、画像の計算された名前空間は「MyNamespace.Images」になります。ビルドアクション「EmbeddedResource」でそのイメージをマークします。

ここで、このWebコントロールライブラリに「MyNamespace.SampleWebControl」という名前のWebコントロールクラスがあると仮定します。

AssemblyInformation.csで、画像ごとに次のようなものを追加しました。

[アセンブリ:System.Web.UI.WebResource( "MyNamespace.Images.Fingerprint.jpg"、 "image / jpg")]

上記の例では、Fingerpint.jpg画像は、Webコントロールライブラリのルートディレクトリのすぐ下にある「Images」という名前のフォルダに保存されています。

次に、asp.netページのコードビハインドで次のようなものを使用できます。

string imgName = "MyNamespace.Images.Fingerprint.jpg";
Type ctrlType = typeof(MyNamespace.SampleWebControl);
string imageUrl = Page.ClientScript.GetWebResourceUrl(ctrlType, imgName);

次に、そのimageUrl値をImageControlまたはHTMLIMGタグの画像のURLとして使用できます。

于 2012-04-06T21:30:28.460 に答える