Я хочу написать функцию для уменьшения размера изображения в соответствии с указанными границами. Например, я хочу изменить размер изображения 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).
У любого есть идеи, как этот алгоритм должен работать?
О, я должен добавить для примера склада 1280x1024 до 1280x800 отношений будут 1 и 1,28, после того, как изменить размер будет 1000 х 800 – GWW
Спасибо! Я думаю, что это, наконец, работает! – Marius