изменить размер изображения с соотношением сторон - PullRequest
2 голосов
/ 28 июня 2011

Я пытаюсь изменить размер изображения с соотношением сторон, как сделано в следующих ссылках

Изменение размера UIimage, извлеченных из камеры, также вращает UIimage?

https://stackoverflow.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 Ответ

2 голосов
/ 28 июня 2011

Я бы использовал файлы категорий на этом сайте для изменения размера UIImages:

http://vocaro.com/trevor/blog/2009/10/12/resize-a-uiimage-the-right-way/

...