2013-11-08 4 views
0

Im, развивающееся на WP8 ... Я хочу сделать изображение в полноэкранном размере ... очевидно, я не размером с экран ... Я пытаюсь объяснить еще одну проблему ... Я должен изменить размер image (изображение около 2000x1400px, а экран около 800x4450px) .. но я действительно не хочу изменять размер реального размера ... Я просто хочу, чтобы размер остался прежним, но я хочу видеть полное изображение (без резки)Полноэкранное изображение

Вот код я написал

System.Windows.Size dimensions = App.RootFrame.RenderSize; 

WriteableBitmap wb = new WriteableBitmap((int)dimensions.Width,(int)dimensions.Height); 
wb.LoadJpeg(myStreamPhoto); 
wb.Invalidate(); 

ImgChosenPhoto.Source = wb; 

Я достигнуть цели таким образом ... изображение на самом деле не изменяется, но, тем не менее, я могу увидеть полное изображение на экране .. s o в чем проблема?

Если я открываю изображение непосредственно из своего приложения, все работает! Если я открыть фотографию из библиотеки фотографий и выбрать мое приложение я получить исключение (тот же код запущенный) .. исключение составляет:

Value does not fall within the expected range. 
+0

На самом деле, кажется, что у вас две разные проблемы. Вот небольшое предложение для первого: в вашем XAML '', а затем в коде C# 'ImgChosenPhoto.Source = myStreamPhoto'. Обратите внимание, что это не лучшее решение, потому что оно по-прежнему загружает полное изображение, и это потребует некоторой оперативной памяти, поэтому вас могут заинтересовать 'DecodedPixelHeight' и' DecodedPixelWidth' свойства BitmapImage. Измените 'Fill' на' UniformToFill', если вы хотите сохранить коэффициент. Дайте мне знать, если вы видите полное полноэкранное изображение – StepTNT

+0

Нет, это не сработало ... В моем XAML у меня есть '' .. Я думаю, проблема в том, что если я открываю фотографию из библиотеки, она доступна только для чтения, поэтому я не могу использовать «WriteableBitmap» – Ciccio

ответ

0

Я решил таким образом

System.Windows.Size dimensions = ResolutionHelper.ScreenResolution; 

BitmapImage wb = new BitmapImage(); 
wb.SetSource(myStreamPhoto); 

ImgChosenPhoto.Source = wb; 

ImgChosenPhoto.Height = (int)dimensions.Height; 
ImgChosenPhoto.Width = (int)dimensions.Width;  
+0

Если вы используете классы, которые не являются стандартными для Windows Phone, пожалуйста, объясните, откуда у вас есть. Например. класс ResolutionHelper приходит отсюда, я думаю: http://msdn.microsoft.com/en-us/library/windowsphone/develop/jj206974%28v=vs.105%29.aspx – S0me0ne

+0

Да, им жаль ... класс ResolutionHelper - это то же самое, что вы связали. – Ciccio

Смежные вопросы