2012-12-18 2 views
8

MediaPlayer API를 통해 음악 파일에서 앨범 아트를 동적으로 읽을 수있는 Windows Phone 앱을 만들고 있습니다. 앨범 아트를 얻고 뷰의 배경에 맞게 크기를 조정하고 싶습니다. 크기 조정은 세부 사항을 잃고 이미지가 추악 해 지므로 흐리게 처리하거나 일종의 효과를주기를 원합니다. 이미지를 흐리게 만들 수있는 API가 있습니까? (C# 또는 XAML에서)? 고마워요!WP8 : Windows Phone 앱용 BitmapImage를 쉽게 스케일하고 흐리게 처리 할 수 ​​있습니까?

답변

10

나는 다음을 수행 할 수있는 BitmapImage에서 WriteableBitmap을 얻을 대신 WriteableBitmap 사용하여 시작할 것 :

WriteableBitmap wb = new WriteableBitmap(bitmapImage); 

는 다음 나는 WriteableBitmapExtension library을 사용하는 것이 좋습니다 것입니다. 그것은 이미지 크기 조정에 대한 지원이 있습니다

wb.Resize(newWidth, newHeight, WriteableBitmapExtensions.Interpolation.Bilinear); 

수행 작업을 당신이 그것을 할당해야하므로 어떤 이유로 concolution이 같은 writableBitmap 다시는 writableBitmap을 편집 할 수 없습니다에 대한 다음 (을 참조하기 위해 할 WritableBitmapExtensions와 gaussian blur 결과) : 주변 화소

wb = wb.Convolute(WriteableBitmapExtensions.KernelGaussianBlur5x5); 

또는

wb = wb.Convolute(WriteableBitmapExtensions.KernelGaussianBlur3x3); 

(단지 다른 가중치).

+0

정말 멋지다! 감사합니다 – thsieh

+0

안녕하세요,이 일을하고있는이 올바른 방법입니까? 그것은 작동하지 않는 것 ?? WriteableBitmap wb = 새로운 쓰기 가능 비트 맵 (albumArtImage);
WriteableBitmapExtensions.Convolute (wb, WriteableBitmapExtensions.KernelGaussianBlur5x5);
AlbumBackground.ImageSource = wb; thsieh

+0

어떤 이유로 인해 회선의 결과가 wb에 적용되지 않고 대신 반환되므로 wb에 다시 지정해야합니다 (업데이트 된 답변 참조). (나는 WP7 에뮬레이터에서 그것을 시도하고 지금은 작동하는 것 같습니다.) –

관련 문제