我實際上使用我自己的代碼在金字塔的不同層上生成圖像(圖塊)(由deepzoom composer生成的圖層)。我想知道是否有可能在Silverlight中加載它們?通常在網絡上,我看到圖像從深度縮放製作器中導出,因此也是一個問題。在DeepZoom中使用silverlight顯示自己的千兆像素圖像
回答
對於單張大圖像,如果您已經擁有圖像的金字塔圖像集合,則相當容易。
在XML
創建自己的子文件夾(在的ClientBin通常)來包含大量圖片的集合(讓剛剛把它稱爲「內容」這個例子)。在此文件夾中創建一個Xml文件來描述您的深度縮放圖像,例如「MyLargeImage1.xml」。使用此下面的XML: -
<?xml version="1.0" encoding="utf-8"?>
<Image TileSize="256" Overlap="1" Format="jpg" xmlns="http://schemas.microsoft.com/deepzoom/2008">
<Size Width="40000" Height="30000" />
</Image>
注意TileSize
屬性表明您已經使用了地磚的邊長。因此,如果您在創建金字塔時使用了不同的圖塊大小,那麼您應該調整此值。也請注意Overlap
,這表示每個圖塊可能有多少像素重疊,如果在平鋪中沒有使用任何重疊設置該值爲0.
指定圖像在Size
元素中的實際像素尺寸。
圖像文件
現在在同一文件夾這個XML文件創建一個文件夾使用相同的標題,但帶有後綴「_files」。在這種情況下,一個名爲「MyLargeImage1_files」的文件夾。它在這個文件夾中我們有一系列代表金字塔層的子文件夾。
對於千兆像素圖像(例如我以上使用的尺寸),您將有17個文件夾,名稱從「0」到「16」。因爲您需要降至16級才能以其原始分辨率查看此類圖像。
這些文件夾中的每一個都會包含金字塔中構成此圖層的一組圖塊。這些是具有格式爲「x_y」的文件標題的.jpg文件,其中x和y是x和y軸中的區塊序號位置,其中0_0是左上方的區塊。
在此示例中,所有包含「8」的文件夾都將包含一個0_0.jpg文件,因爲它僅在8級以上,我們會發現映像的大小超過了在Xml中指定的單個磁貼的256個限制。當然,如果你使用了不同的瓷磚尺寸,那麼這對你來說會有所不同。
按照級別「16」,你會期望所有文件從0_0.jpg到156_117.jpg(18526文件是單個文件夾的很多文件)。
XAML中
最後實際顯示圖像使用MultiScaleImage
控制,並在xml文件指向其source屬性: -
<MultiScaleImage Source="/Content/MyLargeImage1.xml" />
- 1. 查看千兆像素圖像
- 2. 如何在千兆像素位圖上實現平移/縮放?
- 3. 在Silverlight中顯示圖像的問題
- 4. 顯示圖像 - C#/ Silverlight的
- 5. 如何在Silverlight中顯示圖像?
- 6. 無法在Silverlight中顯示圖像
- 7. Silverlight 4 - 顯示圖像
- 8. ImageJ-在圖像上顯示像素值
- 9. html圖像元素未顯示圖像
- 10. Silverlight用戶體驗URL圖像顯示?
- 11. 如何在UIToolbar的UIBarButtonItem上顯示我自己的圖像
- 12. 使用我自己的tensorflow圖像?
- 13. 圖像調整大小不會減少千兆字節的圖像 - 使用imgscalr-lib-3.1
- 14. 使用圖像目錄顯示圖像
- 15. 在ScrollBarViewer的RepeatButton中使用背景圖像不顯示圖像
- 16. 在圖像組件中顯示來自光盤的圖像
- 17. 圖像按代碼顯示像素
- 18. 如何使用圖像作爲自己的背景圖像?
- 19. 如何在iPhone的imageview中顯示圖像的特定像素
- 20. 使用fpdf在PDF中顯示圖像
- 21. 使用Picasso在GridView中顯示圖像
- 22. 使用servlet在jsp中顯示圖像
- 23. 在Mvc3中使用Ajax顯示圖像
- 24. base64圖像不在圖像中顯示
- 25. Silverlight的圖像元素沒有顯示出來
- 26. 如何使用WP7 Silverlight中的像素?
- 27. 在圖像視圖中顯示來自URL的圖像顯示模糊(不清晰)的圖像?
- 28. 在asp.net 3.5中使用圖像控件顯示多個圖像
- 29. 如何使用FileUpload在圖像控件中顯示圖像?
- 30. 如何在輪播中使用圖像URL顯示圖像?
我試過的東西非常相似,你說的話。但是,如果我創建自己的XML,它似乎沒有任何東西。但是,如果我從以前的版本中複製XML,它似乎工作(它實際上將這個新的圖像疊加在較舊的版本上)。我的觀點是,源文件夾中沒有任何文件夾包含此舊圖像,它在瀏覽器中如何顯示。我的第二種方法主要來自於我無法從頭開始寫入xml的工作。 – Manish 2011-03-03 19:27:42
@Manish:獲取http://www.fiddler2.com/的副本,並在使用自己的XML時監視來自Silverlight的請求。請記住,這些網址與ClientBin文件夾相關,例如/ = ClientBin文件夾本身。 – AnthonyWJones 2011-03-03 22:01:01