2010-04-19 6 views
1

나는 한 번에 여러 이미지를 결합 할 수 있는지 알고 싶습니다. 내 홈페이지에 나는 사용자의 나라에 따라 달라지는 12 개의 이미지를 보여주고 있습니다.ASP.NET 3.5 C# : 하나의 다운로드로 이미지 결합

일부 사용자에게는 다운로드하는 데 많은 시간이 걸리므로 을 httphandler (combina js와 css를 사용할 수 있음)로 다운로드하거나 결합하여 만들 수 있는지 알고 싶습니다. 예를 들어 check here

답변

2

을 위해 그 (12)

중 1 개 정적 이미지는 당신이이 경우에 CSS Sprites의 꽤 잘 활용할 수 있다고 생각합니다. 그것들은 HTML/CSS이기 때문에 어떤 식 으로든 ASP.Net이 아닙니다.

전체적인 개념은 하나의 큰 이미지를 사용하여 이미지를 가져 오는 서버로의 다중 라운드 트립을 제거하는 것입니다. 그런 다음 당신이 당신의 스타일이 같은 거라고 당신 <a>의에서, 그래서 (요소에 배경으로) 필요한 큰 이미지의 일부만을 보여주는 일을하는지 :에 다음

.channel { 
    background: #FFFFFF url(SpriteMapUS.jpg); 
    width: 85px; 
    height: 55px; 
    display: block; /* Make the anchor render like a div, no more <img> tag */ 
} 

을 특정 채널, 뭔가 같은 :

.bloomberg { background-position: 0 0; } 
.abcnews { background-position: -85px 0; } 
.nasa { background-position: 0 -55px; } 
.nasdaq { background-position: -85px -55px; } 
//etc for the others... 

그리고 채널은 다음과 같이 보일 것이다 :

<a href="..." class="channel abcnews"></a> 

전체 런 다운에 대한 article I linked 읽기, 그러나 이것들은 스프라이트 맵의 전반적인 개념이다.

+0

의견에 감사드립니다. 나는 css 스프 라이트를 알고 있지만 그들은 내 필요에 맞지 않을 것이다. 이미지는 임의로 표시되며 행/열의 이미지 위치도 임의로 표시됩니다. 나는 이것을 명심하길 바랄 것이다. 그러나 이러한 이미지가 상당히 바뀌려고 할 때 유지 보수 가능성은 다소 낮다. 그래도 좋은 대답 주셔서 감사합니다! – Mark