2013-07-21 3 views
0

я следующее:Изменение размера и Fit Image в WPF

using (bmp == new Bitmap(50, 50)) { 
    using (g == Graphics.FromImage(bmp)) { 
     g.InterpolationMode = Drawing2D.InterpolationMode.HighQualityBicubic; 
     g.DrawImage(img, 0, 0, 50, 50); 
    } 
} 

Пользователь предоставляет мое приложение изображение, которое мое приложение должно изменить размер, а также подходят все изображение.

Проблема с выше кода является то, что он тянется изображение, не подходят (как 4: 3 фильм вписывается в широкоэкранном телевизоре, оставляя blackbars).

У кого-нибудь есть решение? Кроме того, я бы предпочел не использовать GDI.

+0

Возможный дубликат [Как обрезать изображение с помощью C#?] (Http://stackoverflow.com/questions/734930/how-to-crop-an-image-using-c) –

+0

http: // stackoverflow. ком/а/10323949/1255010 – dsfgsho

ответ

1

Необходимо учитывать размер входного изображения. Вот фрагмент кода, который должен получить вас в правильном направлении:

int x1 = 0, y1 = 0, x2 = 50, y2 = 50; 
if (img. Width <= img.Height) 
{ 
    // compute x1, y1 to fit img horizontally into bmp 
} 
else 
{ 
    // compute y1, y2 to fit img vertically into bmp 
} 

g.DrawImage(img, x1,y1, x2,y2); 

Также обратите внимание, что вы просите для изменения размера изображения в WPF, но с использованием System.Drawing, который использует GDI + под капотом.

Смежные вопросы