Exemplo n.º 1
0
        // private void SliderContrast_ValueChanged(object sender, RangeBaseValueChangedEventArgs e)
        // {
        //    if (EffectIndex is -1) { return; }

        //    int value = Convert.ToInt32(SliderContrast.Value);
        //    if (value is 0) { NoFilter(); return; }

        //    switch (EffectIndex)
        //    {
        //        case 0: /*add*/ break;
        //        case 1: Brightness(value); break;
        //        case 2: Contrast(value); break;
        //        case 3: Temperature(value); break;
        //        case 4: ColorBoost(value); break;
        //        case 5: /*Add*/ break;
        //        case 6: /*add*/ break;
        //    }
        // }

        // private void EditsList_ItemClick(object sender, ItemClickEventArgs e)
        // {
        //    var data = e.ClickedItem as GridViewEditItem;
        //    EffectIndex = data.Target;
        //    _NameEffect.Text = data.Text;
        //    EditRoot.Visibility = Visibility.Visible;
        // }

        // private void Cancel_Click(object sender, RoutedEventArgs e)
        // {
        //    EditRoot.Visibility = Visibility.Collapsed;
        // }

        // private void Done_Click(object sender, RoutedEventArgs e)
        // {
        //    EditRoot.Visibility = Visibility.Collapsed;
        // }

        async Task <Uri> SaveToImage()
        {
            using (var source = new StorageFileImageSource(imageStorageFile))
                using (var renderer = new JpegRenderer(LastEffect, JpegOutputColorMode.Yuv420))
                {
                    var info = await source.GetInfoAsync();

                    var R = AspectRatioHelper.Aspect(Convert.ToInt32(info.ImageSize.Width), Convert.ToInt32(info.ImageSize.Height));
                    if (!SupportedAspectRatio(R))
                    {
                        var max = Math.Max(info.ImageSize.Height, info.ImageSize.Width);
                        renderer.Size = new Size(max, max);
                    }
                    var saveAsTarget = await ApplicationData.Current.LocalFolder.CreateFileAsync("file.Jpg", CreationCollisionOption.GenerateUniqueName);

                    var render = await renderer.RenderAsync();

                    using (var fs = await saveAsTarget.OpenAsync(FileAccessMode.ReadWrite))
                    {
                        await fs.WriteAsync(render);

                        await fs.FlushAsync();

                        return(new Uri($"ms-appdata:///local/{saveAsTarget.Name}", UriKind.RelativeOrAbsolute));
                    }
                }
        }
Exemplo n.º 2
0
        async void Next_Click(object sender, RoutedEventArgs e)
        {
            // Width of Photo should be 1080 at last
            // photo that has a width between 320 and 1080 pixels,
            // photo's aspect ratio is between 1.91:1 and 4:5 (a height between 566 and 1350 pixels with a width of 1080 pixels)
            using (var source = new StorageFileImageSource(imageStorageFile))
            {
                var size = (await source.GetInfoAsync()).ImageSize;
                var R    = AspectRatioHelper.Aspect(Convert.ToInt32(size.Width), Convert.ToInt32(size.Height));
                Frame.Navigate(typeof(FinalizeAddView), (FiltersList.SelectedItem as FilterListItem).bitmapSource);
                //var res = await AppCore.InstaApi.UploadPhotoAsync(
                //    new InstaSharper.Classes.Models.InstaImage((FiltersList.SelectedItem as FilterListItem).bitmapSource.LocalPath, (int)size.Width, (int)size.Height), "#تست #موقت");
            }

            StorageFile F2S = null;

            if (FiltersList.SelectedItem == null)
            {
                F2S = imageStorageFile;
            }

            else
            {
                F2S = await StorageFile.GetFileFromApplicationUriAsync((FiltersList.SelectedItem as FilterListItem).bitmapSource);
            }

            var fsp = new FileSavePicker();

            fsp.FileTypeChoices.Add(".jpg", new List <string> {
                ".jpg"
            });
            fsp.SuggestedFileName      = "WinGoTag";
            fsp.SuggestedStartLocation = PickerLocationId.PicturesLibrary;
            var fs = await fsp.PickSaveFileAsync();

            if (fs == null)
            {
                return;
            }
            await F2S.CopyAndReplaceAsync(fs);

            //    using (var source = new StorageFileImageSource(imageStorageFile))
            //    using (var contrastEffect = new BlurEffect(source) { KernelSize = 40 })
            //    using (var renderer = new JpegRenderer(contrastEffect, JpegOutputColorMode.Yuv420))
            //    {
            //        var info = await source.GetInfoAsync();
            //        var saveAsTarget = await ApplicationData.Current.LocalFolder.CreateFileAsync("TempImage1.Jpg", CreationCollisionOption.OpenIfExists);
            //        var render = await renderer.RenderAsync();
            //        using (var fs = await saveAsTarget.OpenAsync(FileAccessMode.ReadWrite))
            //        {
            //            await fs.WriteAsync(render);
            //            await fs.FlushAsync();
            //        }
            //    }
            //    var res = await AppCore.InstaApi.UploadPhotoAsync(new InstaSharper.Classes.Models.InstaImage()
            //    {
            //        URI = new Uri("ms-appdata:///TempImage1.Jpg", UriKind.Absolute).LocalPath,
            //        Width = 391,
            //        Height = 428
            //    }, "از بیرون تحریم؛ از داخل فیلتر :|");
        }