를 사용하여 가져 오기, 나는 다음과 같은 IEnumerable을 속성 ImageCollection, 사용자가 선택할 수있는 가능한 모든 인앱 사진의 컬렉션을 보유사진 파일 열린 우리당 내 현재 프로젝트의 PhotoChooserTask의 WP8
public static IEnumerable<Uri> ImageCollection { get; set; }
있습니다. 이 기능에는 사용자가 갤러리에서 선택할 수 있어야합니다. 난 내가 데이터베이스, 참조, 열린 우리당 또는 e.OriginalFileName을 저장할 것이다, 그러나, 이하의 코드를 사용하여 이미지 소스를 설정하는
private void photoChooserTask_Completed(object sender, PhotoResult e)
{
try
{
if (e.TaskResult == TaskResult.OK)
{
BitmapImage image = new BitmapImage();
image.SetSource(e.ChosenPhoto);
LibrImage.Source = image;
ViewModelLocator.SelectedImage = image;
}
}
catch (Exception)
{
Common.ShowMessageBox("Error occured while saving pic.");
}
}
을 PhotoChooserTask 코드 아래를 사용하고 있습니다. Isolated Storage에 복사본을 저장하더라도, 내가 찾고있는 것을 얻을 수 없다는 것을 알게되었습니다. - photoChooserTask를 사용하여 선택한 파일에 대한 참조를 얻습니다. 나는 틀릴지도 모른다.
초기 아이디어는 Gallery 파일의 Uri를 ImageCollection에 추가하고 항목 당 데이터베이스에 인덱스를 저장하는 것이었지만 제안이나 즉석을 주시면 감사하겠습니다.
참고 : PhotoChooserTask 태그를 사용할 수 없으며 기본 논리가 동일하므로 CameraCaptureTask 태그를 추가했습니다.
편집 코드를 저장하고 내가 GetImageFromIsolatedStorage의 결과 (나에게) 방법 이미지 컨트롤 소스를 바인딩하고
IsolatedStorage
에서 검색하는 데 사용됩니다. 이게 나던 .. 뭐가 잘못 됐어 ...public static string SaveImageToIsolatedStorage(BitmapImage bitImg)
{
string fname = null;
if (bitImg != null)
{
fname = GetImageName();
WriteableBitmap wbmp = new WriteableBitmap(bitImg);
IsolatedStorageFile isf = IsolatedStorageFile.GetUserStoreForApplication();
using (isf)
{
if (isf.FileExists(fname)) { isf.DeleteFile(fname); }
using (var stream = isf.OpenFile(fname, System.IO.FileMode.OpenOrCreate))
{
wbmp.SaveJpeg(stream, bitImg.PixelWidth, bitImg.PixelHeight, 0, 100);
stream.Close();
}
}
}
return fname;
}
private static string GetImageName()
{
return string.Format(
"{0}/GalleryImage{1}.jpg",
FileDir,
ImageCount++);
}
public static BitmapImage GetImageFromIsolatedStorage(string fname)
{
BitmapImage img = new BitmapImage();
try
{
using (IsolatedStorageFile isf = IsolatedStorageFile.GetUserStoreForApplication())
{
using (IsolatedStorageFileStream fileStream = isf.OpenFile(fname, FileMode.Open, FileAccess.Read))
{
img.SetSource(fileStream);
fileStream.Close();
}
}
}
catch { }
return img;
}
고립 된 저장 장치에 이미지를 저장하더라도 Uri가 참조 할 수 없습니다. 그렇습니까? –
나는 [THIS] (http://stackoverflow.com/questions/22375669/photochoosertask-save-and-view-image-in-windows-phone-8?rq=1) 스레드를 제안대로 진행하고 있습니다. –
격리 된 저장소에 이미지를 저장 한 경우 예, Uri를 참조 할 수 있습니다. 앱이 고립 된 저장 공간에 완전히 액세스 할 수 있기 때문입니다. – Filip