我想要寫的函數小型化的圖像,以適應指定的邊界。例如,我想調整一個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的圖像調整到1280×800的邊界,它給了我1280×1024的結果(這顯然不適合在1280×800)。
任何人有任何想法,這algorighm應該如何工作?
哦,我要補充爲1280×1024的例子投以1280×800的比例將是1和1.28,後調整大小這將是1000×800 – GWW 2010-07-26 04:49:54
謝謝!我認爲它終於有效! – Marius 2010-07-26 04:58:51