2009年3月3日
Silverlight Download Image
我在設計網路相簿時,必須由 server 下載照片,花了不少時間找相關資料,發現下列三種方式可以使用。
1. 利用 Web Service 將 image 以 byte[] 下傳。
2. 利用 BitmapImage.UriSource 方式下載。
3. 利用 WebClient 方式下載。(ps.僅能讀取同一站台內的資料)
範例分別如下:
--- Web Service ---
private void LoadAllPhoto()
{
PhotoServiceReference.PhotoServiceClient proxy = new PhotoManager.PhotoServiceReference.PhotoServiceClient();
proxy.GetPhotoCompleted += new EventHandler<PhotoManager.PhotoServiceReference.GetPhotoCompletedEventArgs>(proxy_GetPhotoCompleted);
proxy.GetPhotoAsync();
}
private Image imageShow;
void proxy_GetPhotoCompleted(object sender, PhotoManager.PhotoServiceReference.GetPhotoCompletedEventArgs e)
{
MemoryStream stream = new MemoryStream();
stream.Write(e.Result, 0, e.Result.Length);
stream.Position = 0;
BitmapImage image = new BitmapImage();
image.SetSource(stream);
Image imageShow = new Image();
imageShow.Source = image;
this.LayoutRoot.Children.Add(imageShow);
}
--- BitmapImage ---
BitmapImage image = new BitmapImage();
image.UriSource = new Uri("...", UriKind.Absolute);
image.DownloadProgress += new EventHandler<DownloadProgressEventArgs>(image_DownloadProgress);
Image image.SetSource(stream);
imageShow = new Image();
imageShow.Source = image;
this.LayoutRoot.Children.Add(imageShow);
--- WebClient ---
WebClient imageLoader = new WebClient();
imageLoader.OpenReadCompleted += new OpenReadCompletedEventHandler(imageLoader_OpenReadCompleted);
imageLoader.OpenReadAsync(new Uri("...", UriKind.Absolute));
void imageLoader_OpenReadCompleted(object sender, OpenReadCompletedEventArgs e)
{
BitmapImage image = new BitmapImage();
image.SetSource(e.Result);
Image imageShow = new Image();
imageShow.Source = image;
this.LayoutRoot.Children.Add(imageShow);
}
訂閱:
張貼留言 (Atom)
Deploying Vue & .NET with Google OAuth on GCP Cloud Run
Deploying Vue & .NET with Google OAuth on GCP Cloud Run Deploying Vue & .NET with Google OAuth on GCP Cloud Run...
-
有幾個正正當當的 SEO 規則: 讓 Google 與 Yahoo 知道這個網站或網頁的存在:Google 可以透過網站管理工具,Yahoo 則透過 siteexplorer。 找出與網站相關的熱門關鍵字:既然想透過 Google 或 Yahoo 的關鍵字搜尋,當然不要選...
-
使用 WPF 建立雙螢幕或多螢幕畫面,作法如下: 首先刪除 App.xaml 中的 StartupUri="MainWindows.xaml"的設定。 加入 System.Windows.Forms (for Screen) 與 System.Drawi...
-
自從我知道了 iPhone 的 App Store 平台服務後,才發現 Google 與 Microsoft 也有類似的服務。 Apple - App Store Google - Android Market Microsoft - Windows Mobile Market...
沒有留言:
張貼留言