2012-02-26 18 views
1

我正在嘗試構建一個將圖像動態地提供給Deep Zoom MultiScaleImage的應用程序。例如,當請求大圖像的特定角的圖像時,應該自動呈現該圖像。Silverlight Deep Zoom:根據請求生成圖像

渲染是我將要實現的。但是當MultiScaleImage請求圖像的角落時,我的代碼需要被調用。我如何實現這一點?

當我在StackOverflow上進行搜索時,我得到了使用DeepZoomTools解釋動態生成深度縮放圖像的結果。我不完全確定,但這不是我想要的。我只想在單獨請求時生成圖像,而不是在運行中生成所有圖像。

編輯:讓我給你一個例子,將解釋這個,我不知道如何實現可能的解決方案之一。

如果MultiScaleImage請求圖像5/1_0.png,如果您知道Deep Zoom將是第5個縮放級別的大圖像第二列中的第一個圖像(與深度縮放中的實際縮放值無關)。當DeepZoom請求這個文件時,我想看看我有的參數是「5」,「1」和「0」。

+1

您可以使用路由(例如http://www.4guysfromrolla.com/articles/012710-1.aspx)將請求定向到Web通用處理程序。 – 2012-02-26 18:14:33

+0

(對不起,我的英語不好) - 我不確定是否你想要這個,但是Pivot Viewer JIT樣例做了這樣的事情。看看這裏(http://geekswithblogs.net/tkokke/archive/2010/08/17/runtime-pivotviewer-collection-creation.aspx) - 這篇文章的示例鏈接已被打破,你可以在這裏得到它:http ://www.silverlight.net/learn/data-networking/pivot-viewer/download-just-in-time-tools# 我不知道pivot的格式是否與deepzoom相同,但它可能會讓你開始點:) – Leo 2012-02-26 20:28:00

+0

@AndrewMorton這看起來完全像我想要的。您可能想將其作爲答案,以便我可以接受它。此外,現在我可以將請求路由到處理程序,該處理程序將位於ASPX頁面中,但我想知道如何使用圖像回覆,而不是HTML內容。我相信這需要我修改響應頭文件。我沒有看過這麼多。編輯:好的太棒了!我找到了我想要的東西:http://www.sitepoint.com/generating-asp-net-images-fly/ – Salil 2012-03-01 06:52:39

回答

1

@Salil:會的。 您可以使用路由(例如http://4guysfromrolla.com/articles/012710-1.aspx)將請求定向到Web通用處理程序。請注意,通用處理程序比aspx頁面更合適,因爲它不必在頁面生命週期中做很多工作。

+0

抱歉,遲到的接受。我一直很忙。 – Salil 2012-03-08 06:38:32

+0

好吧,我得到它的工作。但是我生成的圖像正在被緩存。我不確定堆棧的哪一部分正在緩存它。它是瀏覽器嗎?在這種情況下,我該如何防止Silverlight緩存深度縮放圖像? – Salil 2012-03-09 08:05:19

+1

我會首先在處理程序中設置一個響應標題(http://en.wikipedia.org/wiki/List_of_HTTP_header_fields#Avoiding_caching),如果這樣做不起作用,您可以執行「silverlight防止緩存」的網頁搜索。 – 2012-03-09 13:21:20

相關問題