iOSデバイスで公開されている画像ごとにループする方法を探しています。Xamarin iOSギャラリーからの画像はどこですか
私はすでに
var library = new ALAssetsLibrary();
library.Enumerate(ALAssetsGroupType.Library, GroupEnumerator, Console.WriteLine);
library.Enumerate(ALAssetsGroupType.Album, GroupEnumerator, Console.WriteLine);
library.Enumerate(ALAssetsGroupType.SavedPhotos, GroupEnumerator, Console.WriteLine);
library.Enumerate(ALAssetsGroupType.All, GroupEnumerator, Console.WriteLine);
てみました。しかし、私はすべてのリストをデバッグするときに空になっているしています。
デバイス(ギャラリー)に保存されているすべてのイメージのリストを取得するにはどうすればよいですか?ここで
は私のリストのすべての画像
using AssetsLibrary;
using System;
using System.Collections.Generic;
using System.IO;
using System.Text;
namespace AG.iOS.Services
{
public class iOSGalleryContent : IGalleryContent
{
public static readonly List<string> ImageExtensions = new List<string> { ".JPG", ".JPE", ".BMP", ".GIF", ".PNG" };
List<string> ImagesNames = new List<string>();
public List<string> GetImagesNames()
{
var library = new ALAssetsLibrary();
library.Enumerate(ALAssetsGroupType.Library, GroupEnumerator, Console.WriteLine);
library.Enumerate(ALAssetsGroupType.Album, GroupEnumerator, Console.WriteLine);
library.Enumerate(ALAssetsGroupType.SavedPhotos, GroupEnumerator, Console.WriteLine);
library.Enumerate(ALAssetsGroupType.All, GroupEnumerator, Console.WriteLine);
return ImagesNames;
}
private void GroupEnumerator(ALAssetsGroup group, ref bool shouldStop)
{
if (group == null)
{
shouldStop = true;
return;
}
if (!shouldStop)
{
group.Enumerate(AssetEnumerator);
shouldStop = false;
}
}
private void AssetEnumerator(ALAsset asset, nint index, ref bool shouldStop)
{
if (asset == null)
{
shouldStop = true;
return;
}
if (!shouldStop)
{
ImagesNames.Add(asset.AssetUrl.AbsoluteString);
Console.WriteLine(String.Format("Item[{0}] : {1}", index, asset.ToString()));
shouldStop = false;
}
}
}
}
これは、私のクラスでやっているのとほぼ同じ仕事です(完全なクラスを得るために編集を参照してください)。 ALAssetsFilter.AllPhotosは私に写真を返しません。 – Bobby