예제 #1
0
 protected override IImageSource FromFileImpl(string path, int?quality = 75)
 {
     return(new UwpImageSourceImpl(Path.GetFileName(path),
                                   () => {
         var stream = new FileStream(path, FileMode.Open, FileAccess.Read, FileShare.Read);
         return stream.AsRandomAccessStream();
     }, (int)quality));
 }
예제 #2
0
        private async Task TakePicture(string conversID)
        {
            if (!WebcamService.IsInitialized)
            {
                await WebcamService.InitializeCameraAsync();

                await WebcamService.StartCameraPreviewAsync();
            }

            using (var stream = new InMemoryRandomAccessStream())
            {
                ImageEncodingProperties imgFormat = ImageEncodingProperties.CreatePng();

                // create storage file in local app storage
                StorageFile file = await ApplicationData.Current.LocalFolder.CreateFileAsync(
                    "AdaPhotoTMP.png",
                    CreationCollisionOption.ReplaceExisting);

                // take photo
                await WebcamService.MediaCapture.CapturePhotoToStorageFileAsync(imgFormat, file);

                FileStream fileStream  = new FileStream(file.Path, FileMode.Open);
                Stream     streamFinal = fileStream.AsRandomAccessStream().AsStream();

                StringConstructorSDK client = new StringConstructorSDK()
                {
                    WebAppUrl = $"{ AppConfig.WebUri}"
                };

                try
                {
                    var activity = new Activity
                    {
                        From = new ChannelAccount("Jean"),
                        Text = "Picture from UWP",
                        Type = ActivityTypes.Message,
                        //Envoyer le stream
                        ChannelData = await client.PictureAnalyseAsync(AppConfig.Vision, streamFinal),
                        //ATTENTION CONVERSID DIFFERENT!!!!!
                        Name = conversID,
                        //Summary = serviceUrl
                    };
                    await _client.Conversations.PostActivityAsync(_conversation.ConversationId, activity);
                }
                catch (HttpRequestException)
                {
                    //Impossible to take picture
                }
            }
        }
예제 #3
0
        //OCR Function
        public static async Task <OcrResult> MyFunction(string fileURL)
        {
            var ocrEngine = OcrEngine.TryCreateFromLanguage(new Windows.Globalization.Language("en-us"));

            if (ocrEngine == null)
            {
                throw new InvalidOperationException("engine was null");
            }
            FileStream imageStream = File.Open(fileURL, FileMode.Open);
            var        decoder     = await BitmapDecoder.CreateAsync(imageStream.AsRandomAccessStream());

            var softwareBitmap = await decoder.GetSoftwareBitmapAsync();

            var ocrResult = await ocrEngine.RecognizeAsync(softwareBitmap);

            imageStream.Dispose();
            return(ocrResult);
        }