Я хочу написать функцию, чтобы уменьшить изображение, чтобы оно соответствовало указанным границам.Например, я хочу изменить размер изображения 2000x2333, чтобы оно соответствовало 1280x800.Соотношение сторон должно быть сохранено.Я придумал следующий алгоритм:
NSSize mysize = [self pixelSize]; // just to get the size of the original image
int neww, newh = 0;
float thumbratio = width / height; // width and height are maximum thumbnail's bounds
float imgratio = mysize.width / mysize.height;
if (imgratio > thumbratio)
{
float scale = mysize.width / width;
newh = round(mysize.height / scale);
neww = width;
}
else
{
float scale = mysize.height / height;
neww = round(mysize.width / scale);
newh = height;
}
И, похоже, он работает.Ну ... казалось.Но затем я попытался изменить размер изображения 1280x1024 до 1280x800 границ, и это дало мне результат 1280x1024 (который явно не подходит для 1280x800).
У кого-нибудь есть идеи, как этот алгоритм должен работать?