मैं निर्दिष्ट सीमाओं को फिट करने के लिए किसी छवि को डाउनसाइज़ करने के लिए एक फ़ंक्शन लिखना चाहता हूं। उदाहरण के लिए मैं 1280x800 में फिट करने के लिए 2000x2333 छवि का आकार बदलना चाहता हूं। पहलू अनुपात बनाए रखा जाना चाहिए। मैं निम्नलिखित कलन विधि ले कर आए हैं:छवि का आकार बदलना एल्गोरिदम
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 में फिट नहीं है)।
किसी के पास कोई विचार है कि इस एल्गोरिघ्म को कैसे काम करना चाहिए?
ओह मैं 1280x800 करने के लिए 1280x1024 के अपने उदाहरण के कलाकारों के लिए जोड़ना चाहिए अनुपात 1 और 1.28 के बाद किया जाएगा, आकार परिवर्तन यह होगा 1000 x 800 – GWW
धन्यवाद! मुझे लगता है कि यह आखिरकार काम करता है! – Marius