2013-06-03 3 views
-1

Я пытаюсь изменить размер изображения в папке. Код, я использую это:Изменение размера изображения с заданной высотой и шириной

string logoUrl = HttpContext.Current.Server.MapPath("DeviceLogo"); 
System.Drawing.Image SourceLogo = System.Drawing.Image.FromFile(logoUrl + @"\" + objDevice.FileName); 

//Create a logo for this device and reseller/client business    
Bitmap newImage = new Bitmap(objDevice.LogoWidth, objDevice.LogoHeight, PixelFormat.Format24bppRgb); 
using (Graphics graphics = Graphics.FromImage(newImage)) 
{ 
    graphics.CompositingQuality = CompositingQuality.HighQuality; 
    graphics.InterpolationMode = InterpolationMode.HighQualityBicubic; 
    graphics.SmoothingMode = SmoothingMode.HighQuality; 
    graphics.DrawImage(SourceLogo, 0, 0, objDevice.LogoWidth, objDevice.LogoHeight); 
} 
string filepath = HttpContext.Current.Server.MapPath("DeviceLogo");     

//Save the resized image     
newImage.Save(filepath + objDevice.FileName); 

Проблема заключается в том, что изображение не получает изменения размера

+0

Так '' objDevice.LogoWidth' и objDevice.LogoHeight' ширина и высота, что изображение 'SourceLogo' является изменить размер до? И они не такие же размеры, как исходный размер «SourceLogo»? – DonBoitnott

+0

yes the objDevice.LogoWidth и objDevice.LogoHeight - это новое разрешение изображения –

ответ

0
using(Image img = Image.FromFile(dlgFichier.FileName)) 
{ 
    Image temp = (Image)new Bitmap((Image)img.Clone(), new Size((int)Math.Round(img.Width/ratio), (int)Math.Round(img.Height/ratio))); 
    temp.Save("your path"); 
} 

попробовать это

/е в моем случае я хотел применить коэффициент к держать proportionnaly одинаковую высоту и ширину , но вы можете заменить (INT) Math.Round (img.Height/соотношение) с значением

/й заменить свою ценность с вашими

using(Image img = Image.FromFile(dlgFichier.FileName)) 
{ 
    Image temp = (Image)new Bitmap((Image)img.Clone(), new Size(objDevice.LogoWidth, objDevice.LogoHeight)); 
    temp.Save("your path"); 
} 
0
public void ResizeImage(Device objDevice) 
    { 
     string OriginalFile, NewFile; 

     OriginalFile = HttpContext.Current.Server.MapPath("DeviceLogo") + @"\" + objDevice.FileName; 
     NewFile = OriginalFile; 

     System.Drawing.Image FullsizeImage = System.Drawing.Image.FromFile(OriginalFile); 

     System.Drawing.Image NewImage = FullsizeImage.GetThumbnailImage(objDevice.LogoWidth, objDevice.LogoHeight, null, IntPtr.Zero); 

     // Clear handle to original file so that we can overwrite it if necessary 
     FullsizeImage.Dispose(); 

     // Save resized picture 
     NewImage.Save(NewFile); 
    } 

Спасибо Никто за помощь

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