/// <summary> /// 从XNA媒体库中取到图片. /// 并且重新定义到目前大小. /// </summary> /// <param name="name">图片名称</param> /// <returns>通过stream定义图片大小, jpeg格式.</returns> public static Stream GetResizedImage(string name) { MediaLibrary mediaLibrary = new MediaLibrary(); PictureCollection pictureCollection = mediaLibrary.Pictures; Picture picture = pictureCollection.Where(p => p.Name == name).FirstOrDefault(); if (picture == null) { throw new InvalidOperationException(string.Format("不能加载图片 {0}. 图片可能被删除", name)); } Stream originalImageStream = picture.GetImage(); BitmapImage bmp = new BitmapImage(); bmp.SetSource(originalImageStream); WriteableBitmap originalImage = new WriteableBitmap(bmp); MemoryStream targetStream = new MemoryStream(); originalImage.SaveJpeg(targetStream, ResizedImageWidth, ResizedImageHeight, 0, 100); // 现在图片被移到WriteableBitmap类, 原图片的stream被关闭. originalImageStream.Close(); targetStream.Position = 0; return(targetStream); }