2012-09-05 92 views
2

我根本無法同步加載Silverlight圖像。 ImageOpened是一切都很好,但它並沒有真正幫助我,如果我有20個紋理加載之前,應用程序被允許執行!您不能使用線程,因爲它會導致多個跨域/跨線程異常。我已經解決了這個問題,但我好奇其他人如何解決這個問題。Silverlight圖像加載問題

我的要求是將jpeg/png/whatever加載到像素數組中,就像我說的,異步選項是不行的,因爲我在開始渲染之前需要像素。

幫助!

回答

0

你沒有說,從哪裏加載一個JPEG/PNG /無論。如果來自資源,您可以嘗試首先加載BitmapImage,但不加載UriSource屬性。只需使用方法SetSource() - 對我來說,它立即加載圖像。

例如:

using System.Windows.Media.Imaging; 
using System.Windows.Resources; 


BitmapImage bmp = new BitmapImage(); 
Uri uri = new Uri("/SilverlightApp1;component/Resources/foto.jpg", UriKind.Relative); 
StreamResourceInfo sri = Application.GetResourceStream(uri); 
bmp.SetSource(sri.Stream); 
Image image = new Image(); 
image.Source = bmp;