C# 在windows universal 8.1中合并两个图像

C# 在windows universal 8.1中合并两个图像,c#,windows-phone-8.1,windows-8.1,C#,Windows Phone 8.1,Windows 8.1,我有1.png(150x150大小)和2.png(150x150大小)。我使用此代码制作stackpanel(310x150大小): 然后我将此stackpanel转换为图像: RenderTargetBitmap renderTargetBitmap = new RenderTargetBitmap(); await renderTargetBitmap.RenderAsync(mygrid, 310, 150); 我想用“ms”保存此图像-appx:///assets/3.

我有1.png(150x150大小)和2.png(150x150大小)。我使用此代码制作stackpanel(310x150大小):

然后我将此stackpanel转换为图像:

RenderTargetBitmap renderTargetBitmap = new RenderTargetBitmap();
        await renderTargetBitmap.RenderAsync(mygrid, 310, 150);
我想用“ms”保存此图像-appx:///assets/3.png“(像这个名字)并使用它。这样,我将两个图像合并为一个图像,但无法将它们保存到3.png。我该怎么做?
如果这不是将两张图片合并为一张图片的好方法,是否可以帮助我


更新:很抱歉,问题有问题,已被删除。我不能删除它,因为上面有答案。谢谢您的帮助。

我认为您通常使用了错误的方法。我会将这两幅图像加载到
WriteableBitmap
s中,然后将它们与

话虽如此,以下是如何将
WriteableBitmap
保存为png的方法,摘自:

您尝试将图像保存为
ms-appx:///assets/3.png
这将不起作用,因为您无法将图像保存在应用程序包中


您需要将其保存到应用程序具有写入权限的位置。

对不起。我更新我的帖子。能帮我吗?这对我很重要。谢谢你的帮助。我更新我的帖子。你能看到这一点并再次帮助我吗?我的答案已经回答了你的问题。再说一遍:你不能将文件保存到你的应用程序包中。我知道我不能将它保存在我的应用程序项目中,但我如何在我的互动程序中使用它。我写了代码。你能帮我吗?如果你有其他问题,那么你应该发布另一个问题
RenderTargetBitmap renderTargetBitmap = new RenderTargetBitmap();
        await renderTargetBitmap.RenderAsync(mygrid, 310, 150);
    // Save the writeableBitmap object to JPG Image file 
    IStorageFile saveFile = todo;// insert your code for opening the file here

    IRandomAccessStream stream = await savefile.OpenAsync(FileAccessMode.ReadWrite);
    BitmapEncoder encoder = await BitmapEncoder.CreateAsync(BitmapEncoder.PngEncoderId, stream);
    // Get pixels of the WriteableBitmap object 
    Stream pixelStream = renderTargetBitmap.PixelBuffer.AsStream();
    byte[] pixels = new byte[pixelStream.Length];
    await pixelStream.ReadAsync(pixels, 0, pixels.Length);
    // Save the image file with jpg extension 
    encoder.SetPixelData(BitmapPixelFormat.Bgra8, BitmapAlphaMode.Ignore, (uint)writeableBitmap.PixelWidth, (uint)writeableBitmap.PixelHeight, 96.0, 96.0, pixels);
    await encoder.FlushAsync();