파노라마의 배경 그림을 변경해야하는 파노라마와 버튼이있는 간단한 페이지가 있습니다. 원래 사진은 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의 버그입니까?
파일에서 리소스를로드하여 동일한 브러시 로딩 코드를 사용할 수 있습니까? 속성에 CopyToOutput이라는 리소스를 설정해야 할 것입니다. – AlSki
의미가 없습니다. – giacoder
bitmap = new BitmapImage (uri)를 사용할 수 있습니까? 두 코드 모두 – AlSki