2011-12-30 8 views
3

**
은이 때문에이 타일 이미지는 항상 173 173 strechted 될 것입니다 사실 솔루션을
발견!
이것을 피하려면 먼저 173x173 더미를 만들고 크기를 조정 한 파일과 병합하십시오!크기 조정 이미지 - WriteableBitmapEx

Rect rect = new Rect(0.0, 0.0, width, height); 
WriteableBitmap bitmapDummy = new WriteableBitmap(173, 173); 
bitmapDummy.Blit(rect, resized, rect, WriteableBitmapExtensions.BlendMode.None); 

**

그럼 난 내 WP7 앱의 라이브 타일을 업데이트하는 배경 에이전트를 만들었습니다. 하지만 크기를 조정하려고해도 좋은 결과를 얻지는 못합니다!

팁이 있습니까? 현재 다음 코드를 가지고 있지만, 나는 또한 135와 173을 시도했고 다른 보간도 시도했다.

WriteableBitmap writeableBitmap = new WriteableBitmap(bitmapImage); 
var resized = writeableBitmap.Resize(173, 173, System.Windows.Media.Imaging.WriteableBitmapExtensions.Interpolation.Bilinear); 

아래에 작은 직사각형이 추가되어 앱의 제목이 표시됩니다. 높이가 40px이고 위의 이미지가 잘리는 경우 좋을 것입니다. 실제 이미지가 문제가 당신이 올바른 Aspect ratio에 너비/높이를 계산하지 않을 것입니다 321px

Current Tile

Actual image

답변

5

에 의해 항상 250입니다.

1 : 1 비율을 얻으려면 너비가 134.735 픽셀 (173 픽셀 높이) 여야합니다.

는 일측 최대

var aspect = Math.Max(bitmapImage.Width, bitmapImage.Height) 
var ratio = largest/173; 
var width = width/ratio; 
var height = height/ratio; 

var resizedImage = writeableBitmap.Resize(width, height, System.Windows.Media.Imaging.WriteableBitmapExtensions.Interpolation.Bilinear); 

무엇인지 결정하고 불필요한 비율로 이미지를 연신 피할 Stretch="Uniform" 설정을 기억하여 수행 할 수있다.

는 상부에 적용된 다른 화상과 더불어, 173x173 화소 이미지를 만들기위한 통찰력, WriteableBitmapEx

var tileImage = new WriteableBitmap(173, 173, ...) 
tileImage.Blit(new Rect(width, height), resizedImage, new Rect(width, height), BlendMode.None); 
+0

클로스 덕분 블리트 기능을 사용! 나는 곧 시험 될거야! Thanks again 'again;) – Depechie

+0

Claus, nope가 작동하지 않습니다! 나는 Stretch Props를 설정할 수 없습니다. 왜냐하면 저는 이미지를 저장하고 Live Tile에 uri를 사용하기 때문입니다. – Depechie

+0

내 생각 엔 Dummy 173 by 173을 만들고이를 새로 크기 조정 된 것과 병합하여 스트레칭을 피하는 방법입니다. 이제는이 작업을 수행하는 방법을 알아보십시오 – Depechie