如何将照片位置保存为一个类的字符串变量?
问题描述:
在我的应用程序中,用户使用PhotoChooserTask从相机胶卷中选择一张照片。我想将照片的位置保存到LogEntry类的字符串变量中,以便我可以根据需要在稍后重新加载照片。如何将照片位置保存为一个类的字符串变量?
Log是LogEntry类项目的ObservableCollection。
public ObservableCollection<LogEntry> Log = new ObservableCollection<LogEntry>();
我该怎么办,没有将照片保存到LogEntry和不保存照片到IsolatedStorage字节数组?
答
首先,我将所选图片的名称和相册的名称保存在每个LogEntry项目的属性中。
要从画册加载图片:
public BitmapImage GetPicture(string FileName)
{
// Work around for known bug in the media framework. Hits the static constructors
// so the user does not need to go to the picture hub first.
MediaPlayer.Queue.ToString();
MediaLibrary ml = null;
PictureAlbum cameraRoll = null;
PictureAlbum savedPictures = null;
PictureAlbum samplePictures = null;
PictureAlbum favoritePictures = null;
int index = FileName.IndexOf("\\");
string albumName = FileName.Remove(index, FileName.Length - index);
string fileName = FileName.Remove(0, index + 1);
foreach (MediaSource source in MediaSource.GetAvailableMediaSources())
{
if (source.MediaSourceType == MediaSourceType.LocalDevice)
{
ml = new MediaLibrary(source);
PictureAlbumCollection allAlbums = ml.RootPictureAlbum.Albums;
foreach (PictureAlbum album in allAlbums)
{
if (album.Name == "Camera Roll")
{
cameraRoll = album;
}
else if (album.Name == "Saved Pictures")
{
savedPictures = album;
}
else if (album.Name == "Sample Pictures")
{
samplePictures = album;
}
else if (album.Name == "Favorite Pictures")
{
favoritePictures = album;
}
}
}
}
PictureAlbum Album;
switch (albumName)
{
case "Camera Roll":
Album = cameraRoll;
break;
case "Saved Pictures":
Album = savedPictures;
break;
case "Sample Pictures":
Album = samplePictures;
break;
case "Favorite Pictures":
Album = favoritePictures;
break;
default:
Album = null;
break;
}
if (Album == null)
{
return new BitmapImage();
}
BitmapImage b = new BitmapImage();
foreach (Picture p in Album.Pictures.Take(Album.Pictures.Count))
{
if (fileName == p.Name)
{
b.SetSource(p.GetThumbnail());
break;
}
}
return b;
}
你只需要添加照片位置进入名单。为什么你需要将照片保存为字节和IsolatedStorage? – 2013-04-25 00:21:28
问题在于,如何以Windows Phone期望的方式找到照片位置,并且会理解它。不,我不想保存为字节或IsolatedStorage。 – 2013-04-25 00:35:10