UIElement to image file(WP7)

时间:2011-06-09 22:16:35

标签: 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>();

recList

添加一些矩形
foreach(var x in recList)
     stack.Children.Add(x);

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

1 个答案:

答案 0 :(得分:4)

您可以使用WriteableBitmap保存图像。

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

wb.SaveJpeg(ms, myWidth, myHeight, 0, 100);

您可以将MemoryStream更改为隔离存储流。如果要在图像控件中显示以上MemoryStream

 BitmapImage bmp = new BitmapImage();
 bmp.SetSource(ms);
 image1.Source = bmp;

或者,保存到隔离存储:

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