2011-11-03 8 views
1

파노라마의 배경 그림을 변경해야하는 파노라마와 버튼이있는 간단한 페이지가 있습니다. 원래 사진은 1200x800입니다. 나는 자원에서 사진을 사용하는 경우 , 모든 것이 괜찮 :Panorama는 Isolated Storage의 배경 그림을 축소하고 있습니다.

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에 무엇 I 잘못하고있는거야? 아니면 MS의 버그입니까?

+0

파일에서 리소스를로드하여 동일한 브러시 로딩 코드를 사용할 수 있습니까? 속성에 CopyToOutput이라는 리소스를 설정해야 할 것입니다. – AlSki

+0

의미가 없습니다. – giacoder

+0

bitmap = new BitmapImage (uri)를 사용할 수 있습니까? 두 코드 모두 – AlSki

답변

1

모양은 this is a bug입니다. 스레드에서 한 가지 해결 방법 :

한 가지 해결 방법 내가 찾은 원하는 크기입니다 XAML에서 "기본"배경 이미지를 설정하는 것입니다. 이렇게하면 새 이미지가 기본 이미지와 동일한 크기 인 으로 표시되는 MainPage_Loaded 이벤트에서 백그라운드 속성을 업데이트하십시오.

코드의 해당 스레드 맨 아래에 다른 해결 방법이 있습니다.

+0

이 링크는 더 이상 작동하지 않습니다. –

+0

@FactorMystic - AppHub 업그레이드에서 이전 링크가 삭제 된 것 같습니다. 다음은 업데이트 된 링크입니다. http://social.msdn.microsoft.com/Forums/en-US/wpdevelop/thread/0743ee59-f407-4e8a-afc8-93569698a924/ – keyboardP