C#缩放图像并将其保存到文件夹与缩放比例并在运行时使用

时间:2013-10-17 11:37:18

标签: c#

首先,抱歉标题,但我不知道如何更好地解释它。 这是我的问题。我正在缩放图像,检查重复项并为它们添加水印。有趣的是,当我将它们保存到“/ temp /”文件夹时,整个过程比仅在缩放并在内存中加载时使用它们更快。

这是我用于缩放的代码:

private static Bitmap ScaleImage(string pathToImage, int maxWidth, int maxHeight)
{
    Bitmap image = new Bitmap(pathToImage);
    var ratioX = (double)maxWidth / image.Width;
    var ratioY = (double)maxHeight / image.Height;
    var ratio = Math.Min(ratioX, ratioY);

    var newWidth = (int)(image.Width * ratio);
    var newHeight = (int)(image.Height * ratio);

    var newImage = new Bitmap(newWidth, newHeight);
    Graphics.FromImage(newImage).DrawImage(image, 0, 0, newWidth, newHeight);
    Bitmap bmp = new Bitmap(newImage);

    return bmp;
}

然后我只是将缩放后的图像分配给变量:

Image imageLeft = ScaleImage(tempImage1, 48, 48);
Image imageRight = ScaleImage(tempImage2, 48, 48);

...并比较它们。

令我困扰的是为什么这比保存文件夹中的所有缩放图像然后进行比较要慢?

0 个答案:

没有答案
相关问题