Изменить размер изображения с соотношением сторон
Я пытаюсь изменить размер изображения с соотношением сторон, как сделано в следующих ссылках
Изменение размера UIimages, извлеченных из камеры, также вращает UIimage?
https://stackru.com/questions/1282830/uiimagepickercontroller-uiimage-memory-and-more
Это прекрасно работает на симуляторе. Но на моем iPhone-4 я вижу черный блок с правой стороны картинки. (четвертая часть рисунка - черная). Это происходит только с изображениями, которые имеют право ориентации изображения... пока. ImageOrientation up не доставляет проблем.
Почему-то у меня такое ощущение, что CGBitmapContextCreate создает проблему. Я уже удалил CGImageGetBytesPerRow, потому что это не работает, как я прочитал. На данный момент у меня есть следующий код:
if (sourceImage.imageOrientation == UIImageOrientationUp || sourceImage.imageOrientation == UIImageOrientationDown) {
bitmap = CGBitmapContextCreate(NULL, targetWidth, targetHeight, 8, 4*targetWidth, colorSpaceInfo, bitmapInfo);
} else {
bitmap = CGBitmapContextCreate(NULL, targetHeight, targetWidth, 8, 4*targetHeight, colorSpaceInfo, bitmapInfo);
}
Что может быть причиной этих проблем?
1 ответ
Я бы использовал файлы категорий на этом сайте, чтобы изменить размер UIImages:
http://vocaro.com/trevor/blog/2009/10/12/resize-a-uiimage-the-right-way/