Am trying to `share an Image` via `Share charm`, but in the charm '`Mail`' application not available so that couldn't share image through mail . But i tried to share the same image via `Native Photo app` & there `Mail` option available.
Below my code
private async void OnDataRequested(DataTransferManager sender, DataRequestedEventArgs e)
{
DataRequestDeferral deferral = e.Request.GetDeferral();
DataPackage requestData = e.Request.Data;
requestData.Properties.Title = "Image";
IRandomAccessStream stream = new InMemoryRandomAccessStream();
Guid encoderId;
switch (file.FileType)
{
case ".png":
encoderId = BitmapEncoder.PngEncoderId;
break;
case ".jpg":
case ".jpeg":
default:
encoderId = BitmapEncoder.JpegEncoderId;
break;
}
BitmapEncoder encoder = await BitmapEncoder.CreateAsync(encoderId, stream);
Stream pixelStream = image.PixelBuffer.AsStream();
byte[] pixels = new byte[pixelStream.Length];
await pixelStream.ReadAsync(pixels, 0, pixels.Length);
encoder.SetPixelData(BitmapPixelFormat.Bgra8, BitmapAlphaMode.Ignore, (uint)image.PixelWidth, (uint)image.PixelHeight, 96.0, 96.0, pixels);
requestData.SetBitmap(RandomAccessStreamReference.CreateFromStream(stream));
await encoder.FlushAsync();
deferral.Complete();
}
Am i missed anything there in my code?