Beispiel #1
0
        protected async override void OnActivated(IActivatedEventArgs args)
        {
            base.OnActivated(args);

            var continuationEventArgs = args as IContinuationActivatedEventArgs;
            if (continuationEventArgs != null)
            {
                switch (continuationEventArgs.Kind)
                {
                    case ActivationKind.PickFileContinuation:
                        FileOpenPickerContinuationEventArgs arguments = continuationEventArgs as FileOpenPickerContinuationEventArgs;
                        StorageFile file = arguments.Files.FirstOrDefault();
                        var messenger = Mvx.Resolve<IMvxMessenger>();

                        using (var imgStream = await file.OpenAsync(FileAccessMode.Read))
                        {
                            var buffer = new byte[imgStream.Size];
                            await imgStream.ReadAsync(buffer.AsBuffer(), (uint)imgStream.Size, InputStreamOptions.None);
                            var properties = await file.Properties.GetImagePropertiesAsync();
                            var message = new PictureMessage(this)
                            {
                                Width = properties.Width,
                                Height = properties.Height,
                                Picture = buffer
                            };
                            messenger.Publish(message);
                        } 
                        break;
                }
            }
        }
Beispiel #2
0
 async Task OnPictureReceivedAsync(PictureMessage message)
 {
     var nutritionTable = await OCRService.GetTableAsync(message.Picture, message.Width, message.Height);
     ShowViewModel<InfoViewModel>(nutritionTable);
 }