Exemplo n.º 1
0
        private async void Open_Click(object sender, RoutedEventArgs e)
        {
            open.IsChecked = false;


            Windows.Storage.Pickers.FileOpenPicker openPicker = new Windows.Storage.Pickers.FileOpenPicker();
            openPicker.SuggestedStartLocation = Windows.Storage.Pickers.PickerLocationId.PicturesLibrary;
            openPicker.FileTypeFilter.Add(".gif");

            Windows.Storage.StorageFile file = await openPicker.PickSingleFileAsync();

            if (file != null)
            {
                Windows.Storage.Streams.IRandomAccessStream stream = await file.OpenAsync(Windows.Storage.FileAccessMode.Read);

                using (var inputStream = stream.GetInputStreamAt(0))
                {
                    await canvas.InkPresenter.StrokeContainer.LoadAsync(inputStream);
                }
                stream.Dispose();

                alreadySaved = true;
                lastFile     = file;
            }
        }
Exemplo n.º 2
0
        /// <summary>
        /// 将文件转换为字节数组
        /// </summary>
        /// <param name="file"></param>
        /// <returns></returns>
        public static async Task <byte[]> AsByteArray(this Windows.Storage.StorageFile file)
        {
            Windows.Storage.Streams.IRandomAccessStream fileStream =
                await file.OpenAsync(Windows.Storage.FileAccessMode.Read);

            var reader = new Windows.Storage.Streams.DataReader(fileStream.GetInputStreamAt(0));
            await reader.LoadAsync((uint)fileStream.Size);

            byte[] pixels = new byte[fileStream.Size];
            reader.ReadBytes(pixels);
            return(pixels);
        }
Exemplo n.º 3
0
        public static async System.Threading.Tasks.Task <byte[]> ReadBytesFromFileAsync(string fileName)
        {
            try
            {
                Windows.Storage.StorageFolder tempFolder = await Windows.Storage.StorageFolder.GetFolderFromPathAsync(Options.options.tempFolderPath);

                Windows.Storage.StorageFile file = await tempFolder.GetFileAsyncServiceAsync(text, apiArgs);

                // TODO: obsolete to use DataReader? use await Windows.Storage.FileIO.Read...(file);
                using (Windows.Storage.Streams.IRandomAccessStream stream = await file.OpenReadAsync())
                {
                    using (Windows.Storage.Streams.DataReader reader = new Windows.Storage.Streams.DataReader(stream.GetInputStreamAt(0)))
                    {
                        await reader.LoadAsync((uint)stream.Size);

                        byte[] bytes = new byte[stream.Size];
                        reader.ReadBytes(bytes);
                        return(bytes);
                    }
                }
            }
            catch (Exception ex)
            {
                Log.WriteLine(ex.Message);
                return(null);
            }
        }