全景正在缩小背景图片,这是来自孤立存储

时间:2011-11-03 11:43:44

标签: windows-phone-7 panorama-control

我有一个带全景图的简单页面和一个必须更改全景背景图片的按钮。最初的图片是1200x800。  如果我使用资源中的图片,一切都很好:

Uri uri = new Uri("Resources/Panorama.png", UriKind.Relative);
var bitmap2 = new BitmapImage(uri);

// here from debugging: bitmap2.CreateOptions == DelayCreation, bitmap2.PixelWidth == 0 and bitmap2.PixelHeight == 0

var lcBrush2 = new ImageBrush() {
    Stretch = Stretch.Fill,
    ImageSource = bitmap2 
};

panoMain.Background = lcBrush2;

但如果我从隔离存储中拍照:

var picStream = ...getting a stream of file....;
BitmapImage bitmap = new BitmapImage();
bitmap.SetSource(picStream);

// here from debugging: bitmap.PixelWidth == 1200 and bitmap.PixelHeight == 800

var lcBrush = new ImageBrush() {
    Stretch = Stretch.Fill,
    ImageSource = bitmap 
};

panoMain.Background = lcBrush;

然后图片缩小到480x800

我做错了什么?或者它是来自MS的错误?

1 个答案:

答案 0 :(得分:1)

看起来像this is a bug。该线程的一个解决方法是:

  

我找到的一种解决方法是在中设置“默认”背景图像   XAML具有所需的大小。如果我这样做,那么更新   我的MainPage_Loaded事件中的背景属性,新图像显示为   与默认图像大小相同。

在该主题的底部还有另一个使用代码的解决方法。