Вот небольшой образец:

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

Я написал некоторый код, который смотрит на исходное изображение, проверяет, больше ли ширина, высота или высота и ширина по сравнению с настройками Макс. Ширина / Макс. Высота.

Теперь мне нужно выяснить, к каким размерам изменить размер, основываясь на максимуме последнего значения.

Например: если изображение900h x 300w и максимальная высота700h Мне нужно будет изменить высоту, чтобы700 и ширина до???? <- это то, что мне нужно рассчитать ..

Создание и сохранение файла изображения просты и выходят за рамки этого поста:

// First I get the max height and width allowed:

int resizeMaxHeight =  int.Parse(Utility.GetConfigValue("ResizeMaxHeight")); // in config: 700px
int resizeMaxWidth =  int.Parse(Utility.GetConfigValue("ResizeMaxWidth"));  //  in config: 500px

// Save original: 
try
{
    filebase.SaveAs(savedFileName);
}
catch (System.IO.DirectoryNotFoundException ex)
{
    Logger.Instance.LogException(ex, 0, "FileTransfer");
}

// Determin original dimensions:
Image image = System.Drawing.Image.FromFile(Server.MapPath(savedFileName));

int resizeHeight, resizeWidth;
bool doResize = true;

// both height and width are greater than the allowed height and width:
if (image.Width > resizeMaxWidth && image.Height > resizeMaxHeight)
{
    if (image.Height > image.Width) 
        resizeHeight = resizeMaxHeight;
    else
        resizeWidth = resizeMaxWidth;
}
else if (image.Width > resizeMaxWidth)
{
    // width is too great, but height is ok
    resizeWidth = resizeMaxWidth;
}
else if (image.Height > resizeMaxHeight)
{
    // height is too great, but width is ok
    resizeHeight = resizeMaxHeight;
}
else
{
    // image is ok size, don't resize:
    doResize = false;
}

Создать миниатюру: Это то, над чем я сейчас работаю ... не завершено:

if (doResize)
{
    ImageUtilities.ResizeImage(image, resizeWidth, resizeHeight);
}

Ответы на вопрос(1)

Ваш ответ на вопрос