• UWP 浏览本地图片及对图片的裁剪


    UWP 浏览本地图片及对图片的裁剪

         private async void btnAddPhoto_Click(object sender, RoutedEventArgs e)
            {
                //创建和自定义 FileOpenPicker
                var picker = new Windows.Storage.Pickers.FileOpenPicker();
                picker.ViewMode = Windows.Storage.Pickers.PickerViewMode.Thumbnail; //可通过使用图片缩略图创建丰富的视觉显示,以显示文件选取器中的文件
                picker.SuggestedStartLocation = Windows.Storage.Pickers.PickerLocationId.PicturesLibrary;
                picker.FileTypeFilter.Add(".jpg");
                picker.FileTypeFilter.Add(".jpeg");
                picker.FileTypeFilter.Add(".png");
                picker.FileTypeFilter.Add(".gif");
    
                //选取单个文件
                Windows.Storage.StorageFile file = await picker.PickSingleFileAsync();
    
                //文件处理
                if (file != null)
                {
    
                    try
                    {
                        // 载入已保存的裁剪后图片
                        var stream = await file.OpenReadAsync();
                        var bitmap = new BitmapImage();
                        await bitmap.SetSourceAsync(stream);
    
                        // 显示
                        imgHead.Source = bitmap;
                    }
                    catch (Exception ex)
                    {
                        Debug.WriteLine(ex.Message + ex.StackTrace);
                    }
                    //或者用下面的方法实现了裁剪功能
                    //    var inputFile = SharedStorageAccessManager.AddFile(file);
                    //    var destination = await ApplicationData.Current.LocalFolder.CreateFileAsync("Cropped.jpg", CreationCollisionOption.ReplaceExisting);//在应用文件夹中建立文件用来存储裁剪后的图像
                    //    var destinationFile = SharedStorageAccessManager.AddFile(destination);
                    //    var options = new LauncherOptions();
                    //    options.TargetApplicationPackageFamilyName = "Microsoft.Windows.Photos_8wekyb3d8bbwe";
    
                    //    //待会要传入的参数
                    //    var parameters = new ValueSet();
                    //    parameters.Add("InputToken", inputFile);                //输入文件
                    //    parameters.Add("DestinationToken", destinationFile);    //输出文件
                    //    parameters.Add("ShowCamera", false);                    //它允许我们显示一个按钮,以允许用户采取当场图象(但是好像并没有什么卵用)
                    //    parameters.Add("EllipticalCrop", true);                 //截图区域显示为圆(最后截出来还是方形)
                    //    parameters.Add("CropWidthPixals", 500);
                    //    parameters.Add("CropHeightPixals", 600);
    
                    //    //调用系统自带截图并返回结果
                    //    var result = await Launcher.LaunchUriForResultsAsync(new Uri("microsoft.windows.photos.crop:"), options, parameters);
    
                    //    //按理说下面这个判断应该没问题呀,但是如果裁剪界面点了取消的话后面会出现异常,所以后面我加了try catch
                    //    if (result.Status == LaunchUriStatus.Success && result.Result != null)
                    //    {
                    //        //对裁剪后图像的下一步处理
                    //        try
                    //        {
                    //            // 载入已保存的裁剪后图片
                    //            var stream = await destination.OpenReadAsync();
                    //            var bitmap = new BitmapImage();
                    //            await bitmap.SetSourceAsync(stream);
    
                    //            // 显示
                    //            imgHead.Source = bitmap;
                    //        }
                    //        catch (Exception ex)
                    //        {
                    //            Debug.WriteLine(ex.Message + ex.StackTrace);
                    //        }
                    //    }
    
                }
    
    
    
            }
        
        
    

      

  • 相关阅读:
    PHP程序员的40点陋习
    配置php.ini实现PHP文件上传功能
    PHP的线程安全与非线程安全版本的区别
    IIS下PHP的三种配置方式比较
    fir.im Weekly
    fir.im Weekly
    fir.im Weekly
    fir.im Weekly
    fir.im Weekly
    fir.im Weekly
  • 原文地址:https://www.cnblogs.com/wgscd/p/16169333.html
Copyright © 2020-2023  润新知