我正在使用“ Plugin.Media.CrossPlatform” nuget来访问Camera并以Xamarin Forms形式拍照。但目前,它一次只能拍摄一张照片,并且仅上传最后拍摄的照片。我想添加多个捕获,并允许用户从最近捕获的图像中选择特定的图片。Android和IOS两个平台中的此插件怎么可能?
另外,我还添加了选择模式,如果用户想从图库中选择图片。但是,存在相同的问题。我想一次选择多个图像,然后在两个平台上将其上传。Xamarin Forms中的工具如何?是否有用于此任务的示例或博客?
我正在使用这个包裹。
MediaPlugin 不允许多次捕获或拾取多张图片。
您必须实现平台方法并使用依赖服务访问它们,类似的东西。DependencyService.Get<IDoMultipleStuff>().TakePictures();
对于 Android,您可以使用以下命令拍摄多张照片INTENT_ACTION_STILL_IMAGE_CAMERA:
Intent intent = new Intent(
MediaStore.INTENT_ACTION_STILL_IMAGE_CAMERA);
this.startActivity(intent);
Run Code Online (Sandbox Code Playgroud)
对于 iOS,您可以使用PhotoPicker,它可以让您在返回应用程序之前拍摄多张照片。
在Android中,您可以通过在Intent中添加额外的内容来选择多个图像ExtraAllowMultiple
var imageIntent = new Intent(Intent.ActionPick);
imageIntent.SetType ("image/*");
imageIntent.PutExtra (Intent.ExtraAllowMultiple, true);
imageIntent.SetAction (Intent.ActionGetContent);
((Activity)Forms.Context).StartActivityForResult(Intent.CreateChooser (imageIntent, "Select photo"), 0);
Run Code Online (Sandbox Code Playgroud)
对于iOS,您可以通过这种方式使用ELCImagePicker 。
var picker = ELCImagePickerViewController.Create();
picker.MaximumImagesCount = 15;
picker.Completion.ContinueWith (t => {
if (t.IsCanceled || t.Exception != null) {
// no pictures for you!
} else {
var items = t.Result as List<AssetResult>;
}
});
PresentViewController (picker, true, null);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4018 次 |
| 最近记录: |