图像调整大小与图形在Windows 2003上扭曲图像,在Windows 7上很好

时间:2014-02-11 09:33:30

标签: c# image resize

我正在尝试使用以下方法调整图像大小

    private void button1_Click(object sender, EventArgs e)
    {
        openFileDialog1.ShowDialog();
        string filename = openFileDialog1.FileName;
        Image img = Image.FromFile(filename);
        ImageFormat imageFormat = img.RawFormat;

        resizeImage(img, new Size(512, ScaleImage(512, img.Width, img.Height))).Save(@"c:\temp\temp.jpg", imageFormat); ;

    }

    private int ScaleImage(int RequiredSize, int currentSize, int CurrentOpposite)
    {
        return (int)((decimal)RequiredSize / (decimal)currentSize * (decimal)CurrentOpposite);
    }

    private static Image resizeImage(Image imgToResize, Size size)
    {

        int destWidth = size.Width;
        int destHeight = size.Height;

        Bitmap b = new Bitmap(destWidth, destHeight);
        Graphics g = Graphics.FromImage((Image)b);
        g.InterpolationMode = InterpolationMode.HighQualityBicubic;

        g.DrawImage(imgToResize, 0, 0, destWidth, destHeight);
        g.Dispose();

        return (Image)b;
    }

在我的电脑上,win7,8GB内存,bla bla,它工作正常。得到的图像很清晰,没有任何问题。 如果我在服务器上运行此代码,w2k3,16GB ram等,结果图像太可怕了。它是像素化的,看起来像被压缩到地狱而已。

如果我给它一个大约1024宽度的图像,它可以正常工作。从手机上拿出一些东西,3500横跨它,然后把它搞砸了。

我很难过为什么它在服务器上的表现会如此不同。使用image.getThumbNail也是如此。

请在明信片上发表评论。

由于 克里斯平

0 个答案:

没有答案