Ошибка при попытке объединить две картинки с помощью WriteableBitMap
По сути, я перехожу на эту страницу и передаю ей имя в качестве параметра, который затем использую для извлечения этой картинки из изолированного хранилища. В то же время я получаю "кадр" из папки активов.
Когда я компилирую код, ошибки не возникает, но как только я добираюсь до этой части во время выполнения, я получаю nullexception для frametest. Я пытался построить в frameImage !=null
прежде чем гарантировать, что значение все еще получает ошибку. Оба изображения загружаются правильно в BitMapImage, и я могу отображать их также (проверено это)
BitmapImage image = new BitmapImage();
BitmapImage frameImage = new BitmapImage();
parameter = string.Empty;
if (NavigationContext.QueryString.TryGetValue("parameter", out parameter))
{
picName = parameter + ".jpg";
//call function to load image source from isolateStorage
using (isoStore = IsolatedStorageFile.GetUserStoreForApplication())
{
if (isoStore != null)
{
using (isoStream = new IsolatedStorageFileStream(parameter, FileMode.OpenOrCreate, isoStore))
{
if (isoStream != null)
{
image.SetSource(isoStream);
}
}
//close the stream object
isoStream.Close();
}
}
//close the storage object
isoStore.Dispose();
string path = "/Assets/AppGraphics/UserInterface/frame.png";
Uri uriR = new Uri(path, UriKind.Relative);
frameImage = new BitmapImage(uriR);
//error occurs here
WriteableBitmap frameTest = new WriteableBitmap(frameImage);
WriteableBitmap imageTest = new WriteableBitmap(image);
var photo = imageTest;
var frame = frameTest;
var merge = new WriteableBitmap(656, 410);
merge.Blit(new Rect(0, 0, 656, 410), photo, new Rect(0, 0, photo.PixelWidth, photo.PixelHeight)); //draw the photo first
merge.Blit(new Rect(0, 0, 656, 410), frame, new Rect(0, 0, frame.PixelWidth, frame.PixelHeight)); //draw the frame
imgCC.Source = merge;
Я не понимаю, почему я получаю nullexception, когда объект явно не нулевой. Любая помощь или идеи приветствуются.
трассировки стека:
at MS.Internal.XcpImports.CheckHResult(UInt32 hr)
at MS.Internal.XcpImports.WriteableBitmap_CreateFromSource(WriteableBitmap wb, IntPtr ptrMemory, BitmapSource source, Boolean& bHasProtectedContent)
at System.Windows.Media.Imaging.WriteableBitmap..ctor(BitmapSource source)
at PinAppWindowsPhone.confirmPicture.OnNavigatedTo(NavigationEventArgs e)
at Microsoft.Phone.Controls.PhoneApplicationPage.InternalOnNavigatedTo(NavigationEventArgs e)
at Microsoft.Phone.Controls.PhoneApplicationPage.Microsoft.Phone.Controls.IPhoneApplicationPage.InternalOnNavigatedToX(NavigationEventArgs e)
at System.Windows.Navigation.NavigationService.RaiseNavigated(Object content, Uri uri, NavigationMode mode, Boolean isNavigationInitiator, IPhoneApplicationPage existingContentPage, IPhoneApplicationPage newContentPage)
at System.Windows.Navigation.NavigationService.CompleteNavigation(DependencyObject content, NavigationMode mode)
at System.Windows.Navigation.NavigationService.ContentLoader_BeginLoad_Callback(IAsyncResult result)