Asp.net
如何在asp.net網站中使用圖片資源?
我有 ac# 網站,它使用了很多嵌入英文文本的圖像。
如何使用標準資源文件根據語言交換圖像?
我的 App_GlobalResources 目錄中有一個 resx 文件,但我似乎無法將它正確插入到 imageurl 的 asp:image 控制項中。
想法?
更新:
有關更多資訊,這裡是圖像標記程式碼:
<asp:image runat="server" ID="img2" ImageUrl="<%$Resources: Resource, cs_logo %>" />客戶端的結果是:
<img id="img2" src="System.Drawing.Bitmap" style="border-width:0px;" />請注意,來源顯然不是我所期望的……
您可以將圖像的 url 儲存在資源文件中,並在控制項中使用以下內聯程式碼
<asp:Image ImageUrl="<%$resources:Image1 %>" />更新
此連結可能對您要完成的工作有所幫助
或者
您還可以嘗試將資源儲存為字元串並將值設置為 url 位置,而不是將圖像儲存在資源文件中。
您可能會嘗試做的一件事是創建一個簡單的“圖像服務”,它可以從嵌入的資源中以適當的格式提供圖像。
您不必自己創建 Web 服務,只需創建一個 aspx 頁面並在後面的程式碼中將 Response.ContentType 更改為“image/png”或您喜歡的任何格式。這也需要頁面本身的 URL 中的 get 參數,但可以輕鬆過濾。因此,圖像服務的 Page_Load 方法可能如下所示:
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load Dim FinalBitmap As Bitmap Dim strRenderSource As String Dim msStream As New MemoryStream() strRenderSource = Request.Params("ImageName").ToString() ' Write your code here that gets the image from the app resources. FinalBitmap = New Bitmap(Me.Resources(strRenderSource)) FinalBitmap.Save(msStream, ImageFormat.Png) Response.Clear() Response.ContentType = "image/png" msStream.WriteTo(Response.OutputStream) If Not IsNothing(FinalBitmap) Then FinalBitmap.Dispose() End Sub然後回到你的 ASPX 頁面,你有……
<asp:Image ImageUrl="http://localhost/GetImage.aspx?ImageName=Image1" />哦,別忘了在頁面中導入 System.Drawing 和 System.Drawing.Imaging。