UIElement to image file(WP7)

jud*_*all 9 c# image-processing windows-phone-7 windows-phone uielement

我有一个StackPanel包括Rectangles我想要放到图像文件(例如PNG)的一些.我正在Windows Phone 7上开发这个,我在互联网上发现的大部分信息都不适用于(我认为)WP7.

我认为System.Windows.Media.Imaging命名空间是关键,但我不知道从哪里开始.

这基本上就是我想做的事情:

StackPanel stack = new StackPanel();
List<Rectangle> recList = new List<Rectangle>();
Run Code Online (Sandbox Code Playgroud)

添加一些矩形 recList

foreach(var x in recList)
     stack.Children.Add(x);
Run Code Online (Sandbox Code Playgroud)

然后将stackpanel保存到图像文件中......

key*_*rdP 4

您可以使用 aWriteableBitmap来保存图像。

WriteableBitmap wb = new WriteableBitmap(stack, null);
MemoryStream ms = new MemoryStream();

wb.SaveJpeg(ms, myWidth, myHeight, 0, 100);
Run Code Online (Sandbox Code Playgroud)

您可以将其更改MemoryStream为独立存储流。MemoryStream如果您想在图像控件中显示以上内容:

 BitmapImage bmp = new BitmapImage();
 bmp.SetSource(ms);
 image1.Source = bmp;
Run Code Online (Sandbox Code Playgroud)

或者,保存到独立存储:

using (var isoFileStream = new IsolatedStorageFileStream("myPicture.jpg", FileMode.OpenOrCreate, IsolatedStorageFile.GetUserStoreForApplication())) 
{                     
    wb.SaveJpeg(isoFileStream, myWidth, myHeight, 0, 100);                    
}
Run Code Online (Sandbox Code Playgroud)