Image view undesirably cropped

The Featured Discussion Board Post this week is Image view undesirably cropped started by m.findlay93

m.findlay93 is trying to implement an Image View within a page for a Windows Phone application, but when it is deployed, the image gets cropped. He states his problem and provides a screen grab of the issue faced.

Ratish Philip admits to facing the same problem. When he removes CacheMode=”BitmapCache”, the cropping goes away but the zoom and pan performance is affected. He suspects a size limit to the image and recommends taking a look at the PhotoPage.xaml in the FilterExplorer project on the Nokia Developer Github repository.

Lee McPherson confirms that the size limit does exist. In WP7 it is 2048x2048 and 4096x4096 in WP8. He suggests loading the image using DecodePixenHeight or DecodePixelWidth to reduce the resolution. The drawback of this approach is that one would lose some resolution on zooming. The alternate and cleaner solution would be to use the Nokia Imaging SDK and follow articles in the Wiki that explain how to display high resolution images.

This discussion was selected for featuring because it highlights how it is possible to work around API limitations by using Nokia Imaging SDK for high resolution pictures.

Keep those interesting questions coming!


Virtualizing + FlipView recycling issue

The Featured Discussion Board Post this week is Virtualizing +FlipView recycling problem started by Lee McPherson

Lee is trying to get a preview of a list of images from a zip or rar archive that contains jpeg files from a Windows Phone application. He is facing a problem with the virtualization from the VirtualizingStackPanel inside the FlipView. The pictures show fine the first times but on repeated flips, they seem to show up out of order.

With further investigations, Lee is able to narrow the problem to the internal scrollviewer snapping in the VirtualizingStackPanel. Even replacing the FlipView with an ItemsControl does not help. Lee works around this issue which shows only in WP8, while it works fine in WinRT and 8.1.

Lee credits this workaround to countering some memory management issues. Oliver Ulm expresses curiosity regarding this, to which Lee explains that it was an issue in WP8 with disposing of BitmapImage. This memory was not set free immediately, even when set to null or when GC.Collect was called, which resulted in memory issues when several large images were loaded and unloaded in quick succession. Lee used the workaround to set the source of an already opened BitmapImage with a 1×1 pixel png file to force the major chunk of memory release.

This discussion was selected for featuring because it highlights how innovative ideas lead to overcoming difficult situations when developing apps.

Keep those interesting questions coming!