我想要合并两个图像,一个图像是300x300,另一个是100x100,首先我创建了一个画布,然后我创建了两个图像,我已将这两个图像添加到画布到画布并且画布被添加到内容面板,然后我创建了一个writeablebitmap
并渲染画布并创建了一个方法savejpeg
,它将图像保存到isolated stoarage
,但是隔离的存储没有显示整个图像它保存了黑屏
首先我通过代码设置了它的高度宽度和背景颜色创建了一个画布,然后我以编程方式创建了两个图像,我已将其添加到画布中,然后将画布添加到contentpanel
我的代码是:
public void CreateImage()
{
Canvas canvas = new Canvas();
canvas.Height = 400;
canvas.Width = 400;
canvas.Background = new SolidColorBrush(Colors.Red);
Image img1 = new Image();
img1.Source = (ImageSource)new ImageSourceConverter().ConvertFromString("Image/Desert.jpg");
img1.Height = 300;
img1.Width = 300;
img1.Margin = new Thickness(0, 10, 0, 0);
Image img2 = new Image();
img2.Source = (ImageSource)new ImageSourceConverter().ConvertFromString("Image/Jellyfish.jpg");
img2.Height = 50;
img2.Width = 50;
img2.Margin=new Thickness(0,10,300,0);
canvas.Children.Add(img1);
canvas.Children.Add(img2);
ContentPanel.Children.Add(canvas);
WriteableBitmap wb = new WriteableBitmap(400, 400);
wb.Render(canvas, new MatrixTransform());
MemoryStream ms = new MemoryStream();
wb.SaveJpeg(ms,400,400,0,100);
using (var isoFileStream = new IsolatedStorageFileStream("myPicture.jpg", FileMode.OpenOrCreate, IsolatedStorageFile.GetUserStoreForApplication()))
{
wb.SaveJpeg(isoFileStream, 400, 400, 0, 100);
}
}
当我保存图像时,我在隔离存储中获得黑屏。 如何在画布上保存两个图像?
答案 0 :(得分:3)
答案 1 :(得分:0)
请检查您获取图像的天气或图像来源。如果你得到的图像;尝试使用此方法从控件获取快照并将其保存到Iso存储。
http://stackoverflow.com/questions/13837148/how-can-i-take-a-screenshot-full/13990649#13990649