Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/328.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/191.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# android-如何使用ImageCropper.Forms拍照和裁剪?_C#_Android_Xamarin_Xamarin.forms_Xamarin.android - Fatal编程技术网

C# android-如何使用ImageCropper.Forms拍照和裁剪?

C# android-如何使用ImageCropper.Forms拍照和裁剪?,c#,android,xamarin,xamarin.forms,xamarin.android,C#,Android,Xamarin,Xamarin.forms,Xamarin.android,我将在此接受任何帮助。我正在使用xamarin,希望: 点击按钮 开放式摄像机 拍照 作物照片 在库中创建文件夹 将裁剪后的照片保存到Gallery的新文件夹中 我正在学习教程-Ref: 目前,当我点击按钮时,相机会打开,但不会裁剪或保存照片。因为摄像机打开了,这意味着我的设置和任务是正确的 为什么这段代码在github上不起作用,我如何裁剪照片?请让我知道我错过了什么 在进行一些调试之后,以下代码不会运行。我认为这个问题与财产有关 Device.BeginInvokeOnMainThread

我将在此接受任何帮助。我正在使用xamarin,希望:

  • 点击按钮
  • 开放式摄像机
  • 拍照
  • 作物照片
  • 在库中创建文件夹
  • 将裁剪后的照片保存到Gallery的新文件夹中
  • 我正在学习教程-Ref:

    目前,当我点击按钮时,相机会打开,但不会裁剪或保存照片。因为摄像机打开了,这意味着我的设置和任务是正确的

    为什么这段代码在github上不起作用,我如何裁剪照片?请让我知道我错过了什么

    在进行一些调试之后,以下代码不会运行。我认为这个问题与财产有关

     Device.BeginInvokeOnMainThread(() =>
                        {
                            ImageURL.Source = ImageSource.FromFile(imageFile);
                        });
    
    查看后端

        public partial class AddCardPage : ContentPage
        {
            public AddCardPage()
            {
                InitializeComponent();
                CrossMedia.Current.Initialize();
            }
    
            protected async void TapGestureRecognizerCommand(object sender, EventArgs e)
            {
                try
                {
                    await CrossMedia.Current.Initialize();
    
    
                    await new ImageCropper()
                    {
                        PageTitle = "Test Title",
                        AspectRatioX = 1,
                        AspectRatioY = 1,
                        CropShape = ImageCropper.CropShapeType.Rectangle, //Cropt shape
                        SelectSourceTitle = "Select source",
                        TakePhotoTitle = "Take Photo",
                        PhotoLibraryTitle = "Photo Library",
                        Success = (imageFile) =>
                        {
                            Device.BeginInvokeOnMainThread(() =>
                            {
                                ImageURL.Source = ImageSource.FromFile(imageFile);
                            });
                        }
                    }.Show(this);
                }
                catch (Exception ex)
                {
                    //System.Diagnostics.Debug.WriteLine("CameraException:>" + ex);
                }
            }//end of method
    
        }//end of class
    }
    
    其他资料:
    我下载了两个NUGET:ImageCropper.Forms.Fix.v7Xam.Media.Plugin您使用的插件太旧了。您可以改用
    imagecrapper.Forms.Fix.v2

    在MainActivity中添加以下代码:

       Stormlion.ImageCropper.Droid.Platform.Init();
       protected override void OnActivityResult(int requestCode, Result resultCode, Intent data)
        {
            base.OnActivityResult(requestCode, resultCode, data);
            Stormlion.ImageCropper.Droid.Platform.OnActivityResult(requestCode, resultCode, data);
        }
    
    在AndroidManifest.xaml的标记中添加代码:

    <activity android:name="com.theartofdev.edmodo.cropper.CropImageActivity" android:theme="@style/Base.Theme.AppCompat" />
    
    当你点击按钮时,它会弹出一个窗口。如果要拍照,请选择
    拍照
    。请注意,您需要添加
    摄像机
    权限

    <uses-permission android:name="android.permission.CAMERA" />
    
    
    

    也可以从设备中选择要裁剪的图像

    输出:


    谢谢!我用的是v7。。。bc i认为它是第7版(最新版本)。。结果表明v2是最新版本。。我还注意到一只小虫子。。。若用户点击主页面上的按钮,相机会打开,然后拍照并确认,但会返回主页面。。。等待2秒,然后打开作物。拍照后有没有办法直接打开作物?
    <uses-permission android:name="android.permission.CAMERA" />