ASP.NET 웹 사이트에서 이미지 리소스를 사용하는 방법은 무엇입니까?

StackOverflow https://stackoverflow.com/questions/244807

문제

영어 텍스트가 포함 된 많은 이미지를 사용하는 AC# 사이트가 있습니다.

표준 리소스 파일을 사용하여 언어에 따라 이미지를 교체하려면 어떻게해야합니까?

내 app_globalresources 디렉토리에 Resx 파일이 있지만 ImageUrl의 ASP : Image Control에 연결할 수는 없습니다.

아이디어?

업데이트:

추가 정보는 다음과 같은 이미지 태그 코드입니다.

<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 %>" />

업데이트

이것 링크 당신이 성취하려는 것에 도움이 될 수 있습니다.

또는

리소스를 문자열로 저장하고 Resouce 파일에 이미지를 저장하는 대신 URL 위치로 값을 설정하려고 시도 할 수도 있습니다.

다른 팁

당신이 시도 할 수있는 한 가지는 임베디드 리소스에서 올바른 형식으로 이미지를 제공 할 수있는 간단한 "이미지 서비스"를 만드는 것입니다.

웹 서비스 자체를 만들 필요가 없으며 단순히 ASPX 페이지를 작성하고 뒤에있는 코드에서 응답을 변경합니다 .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. 페이지를 가져 오는 것을 잊지 마십시오.

글로벌 리소스 파일을 사용하는 경우 이렇게 추가해야합니다.

<img id="WelocmeICon" runat="server"  alt="welcome icon" 
     src="<%$resources:NmcResource,WelcomeIcon %>"  />

IMG 컨트롤을 사용하기 때문에 runatserver와 id를 추가했습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top