Создание PDF с повернутым изображением для iPhone - PullRequest
2 голосов
/ 25 января 2010

У меня проблемы с рисованием повернутых изображений в PDF, мой вывод хуже.

В моем случае мы не знаем каких-либо фиксированных координат. X, Y, вращение и т. Д. Зависит от самого ImageView. Я выбираю ImageView и поворачиваю его с помощью ползунков.

Проверьте приложение ZOSH . Мне нужно реализовать такие функции, как это приложение. Я хочу сделать PDF, добавляя изображения по одному.

Пожалуйста, пришлите мне ссылку на любой пример, который может мне помочь, я застрял здесь. Я рисую изображение в PDF на основе центра изображения.

Пожалуйста, помогите мне, спасибо.

Ответы [ 2 ]

0 голосов
/ 09 марта 2010

У меня возникла та же проблема, через некоторое время я смог найти решение ... может быть полезным для вас

- (UIImage *) RotateImage: (UIImage *) Изображение: (плавать) Угол { CGFloat angleInRadians = -1 * Угол * (M_PI / 180.0); CGAffineTransform transform = CGAffineTransformIdentity;

transform = CGAffineTransformMakeRotation(angleInRadians);
//transform = CGAffineTransformMakeScale(1, -1);
//transform =CGAffineTransformMakeTranslation(0,80);

CGRect rotatedRect = CGRectApplyAffineTransform(CGRectMake(0,0,Image.size.width,Image.size.height), transform);

UIGraphicsBeginImageContext(rotatedRect.size);
//[self.view.layer renderInContext:UIGraphicsGetCurrentContext()];
CGContextTranslateCTM(UIGraphicsGetCurrentContext(), 0,rotatedRect.size.height);
CGContextScaleCTM(UIGraphicsGetCurrentContext(),1, -1); 

//CGContextTranslateCTM(UIGraphicsGetCurrentContext(), +(rotatedRect.size.width/2),+(rotatedRect.size.height/2));

CGContextTranslateCTM(UIGraphicsGetCurrentContext(), (rotatedRect.origin.x)*-1,(rotatedRect.origin.y)*-1);
CGContextRotateCTM(UIGraphicsGetCurrentContext(), angleInRadians);
//CGContextTranslateCTM(UIGraphicsGetCurrentContext(), -(rotatedRect.size.width/2),-(rotatedRect.size.height/2));

CGImageRef temp = [Image CGImage];

CGContextDrawImage(UIGraphicsGetCurrentContext(), CGRectMake(0, 0, Image.size.width,Image.size.height), temp);

//CGContextRotateCTM(UIGraphicsGetCurrentContext(), -angleInRadians);

UIImage *viewImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();

//[viewImage autorelease];


return viewImage;

}

для вопросов масштабирования .... я предлагаю вам попытаться создать подкласс для окна приложения

Я нашел эту веб-страницу, которая показывает, как разделить окно приложения на подклассы, чтобы наблюдать за нажатиями и перенаправлять эти нажатия на контроллер представления.

http://mithin.in/2009/08/26/detecting-taps-and-events-on-uiwebview-the-right-way/

Надеюсь, это поможет вам ...

0 голосов
/ 05 марта 2010

Ответ в Документация Apple . Списки 13-3 и 13-4 выглядят так, как вы хотите.

...