Змена памеру малюнка з зададзенай вышынёй і шырынёй

Я спрабую змяніць памер выявы ў тэчцы. Код, я выкарыстоўваю гэта:

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);

Праблема заключаецца ў тым, што малюнак не атрымлівае змены памеру

1
Так objDevice.LogoWidth і objDevice.LogoHeight шырыня і вышыня, што малюнак SourceLogo павінен быць зменены, каб? І яны не тыя ж памеры, што і зыходны памер SourceLogo ?
дададзена аўтар DonBoitnott, крыніца
Так objDevice.LogoWidth і objDevice.LogoHeight шырыня і вышыня, што малюнак SourceLogo павінен быць зменены, каб? І яны не тыя ж памеры, што і зыходны памер SourceLogo ?
дададзена аўтар DonBoitnott, крыніца
ды objDevice.LogoWidth і objDevice.LogoHeight гэта новы дазвол малюнка
дададзена аўтар A J, крыніца
ды objDevice.LogoWidth і objDevice.LogoHeight гэта новы дазвол малюнка
дададзена аўтар A J, крыніца
ды objDevice.LogoWidth і objDevice.LogoHeight гэта новы дазвол малюнка
дададзена аўтар A J, крыніца

6 адказы

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 аднолькавую вышыню і шырыню але вы можаце замяніць (цэлае) 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
дададзена
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 аднолькавую вышыню і шырыню але вы можаце замяніць (цэлае) 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
дададзена
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 аднолькавую вышыню і шырыню але вы можаце замяніць (цэлае) 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);
    }

няма дзякуй Ні за дапамогу

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);
    }

няма дзякуй Ні за дапамогу

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);
    }

няма дзякуй Ні за дапамогу

0
дададзена