簡體   English   中英

在ASP.NET的WebResource中嵌入位圖

[英]Embedding a Bitmap in ASP.NET's WebResource

我正在ASP.NET自定義Web服務器控件中動態生成System.Drawing.Bitmap ,然后我希望將此位圖作為WebResource的一部分提供,因為我不想將其保存在宿主計算機上。

有沒有一種方法可以指示ASP.NET將生成的System.Drawing.Bitmap作為其WebResource的一部分提供服務? (因此使其成為“嵌入式資源”)

使用HTTP處理程序。 處理程序基本上是從服務器請求具有指定擴展名的資源時執行的一段代碼。 由於需要動態生成的圖像,因此可以在處理程序的代碼中執行此操作,並將其作為響應返回。 嵌入將不起作用,因為您只能嵌入靜態信息。 以下是一些鏈接:

我在幾個沒有HTTP處理程序的ASP.NET項目中做到了這一點。

假設您有一個名為“ Fingerprint.jpg”的圖像,並將其放在其名稱空間為“ MyNamespace”的Web控件庫中的一個名為“ Images”的子文件夾中。 實際上,圖像的計算名稱空間將是“ MyNamespace.Images”。 使用構建動作“ Embedded Resource”標記該映像。

現在,假定在此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值作為圖像控件或HTML IMG標簽中的圖像URL。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM