Чтобы определить соотношение, при котором масштабировать изображение, я использую следующий код (заимствованный из Trevor Harmon's UIImage+Resize):Как я могу работать с size_t и заканчивать CGFloat?
CGFloat horizontalRatio = 600/CGImageGetWidth(imageRef);
CGFloat verticalRatio = 600/CGImageGetHeight(imageRef);
CGFloat ratio = MAX(horizontalRatio, verticalRatio);
600 представляет максимальный размер я хочу для масштабируемого изображения. CGImageGetWidth и CGImageGetHeight возвращают size_t, который, согласно ARC, оценивает беззнаковое долго на платформе iPhone (iOS 5). Проблема с настоящим кодом заключается в том, что коэффициент всегда оценивает 0,0000. Ширина и высота imageRef на самом деле w = 768, h = 780, поэтому отношение должно быть MAX (0.781, 0.769) = 0.78. Как это сделать?
P.S. Когда я использовал приведенный выше код для initWithCGImage UIImage: scale: orientation: я обнаружил, что масштаб работает по-другому, чем я ожидал: прохождение в соотношении 0.78 увеличено изображение. Разделение ширины или высоты на требуемый размер (как в CGImageGetWidth (imageRef)/600 и т. Д.) Устраняет проблему.
Вы пытаетесь использовать 600.0 iso 600 ... making float/float = float? – tryme