You don't need an encoder if you don't save the image to a file
You can use a WriteableBitmap :
RenderTargetBitmap rtb = new RenderTargetBitmap();
await rtb.RenderAsync(img1);
// Test copy directly the RTB to another Image control
// img2.Source = rtb;
var pixelBuffer = await rtb.GetPixelsAsync();
byte[] pixelArray = pixelBuffer.ToArray(); // BGRA8 format
var wb = new WriteableBitmap((int)rtb.PixelWidth, (int)rtb.PixelHeight);
await wb.PixelBuffer.AsStream().WriteAsync(pixelArray, 0, pixelArray.Length);
// Test copy the image to another Image control from WriteableBitmap
img2.Source = wb;