UWP SAVE DRAWING
private async void Save_Click(object sender, RoutedEventArgs e)
{
RenderTargetBitmap renderTargetBitmap = new RenderTargetBitmap();
await renderTargetBitmap.RenderAsync(root, 1000, 700);
var pixelBuffer = await renderTargetBitmap.GetPixelsAsync();
var pixels = pixelBuffer.ToArray();
var displayInformation = DisplayInformation.GetForCurrentView();
StorageFolder pictureFolder = KnownFolders.SavedPictures;
FileSavePicker picker = new FileSavePicker();
picker.FileTypeChoices.Add("GIF image", new string[] { ".gif" });
picker.DefaultFileExtension = ".gif";
picker.SuggestedFileName = "Drawfile";
picker.SuggestedStartLocation = PickerLocationId.PicturesLibrary;
var file = await picker.PickSaveFileAsync();
if (file != null)
{
await pictureFolder.CreateFileAsync(file.Name, CreationCollisionOption.ReplaceExisting);
}
using (var stream = await file.OpenAsync(FileAccessMode.ReadWrite))
{
var encoder = await BitmapEncoder.CreateAsync(BitmapEncoder.GifEncoderId, stream);
encoder.SetPixelData(BitmapPixelFormat.Bgra8,
BitmapAlphaMode.Premultiplied,
(uint)renderTargetBitmap.PixelWidth,
(uint)renderTargetBitmap.PixelHeight,
displayInformation.RawDpiX,
displayInformation.RawDpiY,
pixels);
encoder.BitmapTransform.ScaledWidth = 1714;
encoder.BitmapTransform.ScaledHeight = 1103;
// encoder.BitmapTransform.Rotation = Windows.Graphics.Imaging.BitmapRotation.Clockwise90Degrees;
encoder.BitmapTransform.InterpolationMode = BitmapInterpolationMode.Fant;
await encoder.FlushAsync();
}
}
{
RenderTargetBitmap renderTargetBitmap = new RenderTargetBitmap();
await renderTargetBitmap.RenderAsync(root, 1000, 700);
var pixelBuffer = await renderTargetBitmap.GetPixelsAsync();
var pixels = pixelBuffer.ToArray();
var displayInformation = DisplayInformation.GetForCurrentView();
StorageFolder pictureFolder = KnownFolders.SavedPictures;
FileSavePicker picker = new FileSavePicker();
picker.FileTypeChoices.Add("GIF image", new string[] { ".gif" });
picker.DefaultFileExtension = ".gif";
picker.SuggestedFileName = "Drawfile";
picker.SuggestedStartLocation = PickerLocationId.PicturesLibrary;
var file = await picker.PickSaveFileAsync();
if (file != null)
{
await pictureFolder.CreateFileAsync(file.Name, CreationCollisionOption.ReplaceExisting);
}
using (var stream = await file.OpenAsync(FileAccessMode.ReadWrite))
{
var encoder = await BitmapEncoder.CreateAsync(BitmapEncoder.GifEncoderId, stream);
encoder.SetPixelData(BitmapPixelFormat.Bgra8,
BitmapAlphaMode.Premultiplied,
(uint)renderTargetBitmap.PixelWidth,
(uint)renderTargetBitmap.PixelHeight,
displayInformation.RawDpiX,
displayInformation.RawDpiY,
pixels);
encoder.BitmapTransform.ScaledWidth = 1714;
encoder.BitmapTransform.ScaledHeight = 1103;
// encoder.BitmapTransform.Rotation = Windows.Graphics.Imaging.BitmapRotation.Clockwise90Degrees;
encoder.BitmapTransform.InterpolationMode = BitmapInterpolationMode.Fant;
await encoder.FlushAsync();
}
}
Comments
Post a Comment