2010-01-25 4 views
2

J'ai des problèmes avec le dessin des images pivotées sur PDF, ma production est pire.PDF Faire avec rotation Image pour iPhone

Mon cas est, nous ne savons pas avoir des coordonnées fixes. X, Y, rotation, etc. dépend de ImageView lui-même. Je sélectionne l'ImageView et le fait pivoter à travers les curseurs.

Vérifiez sur ZOSH application. J'ai besoin de mettre en place des fonctionnalités comme cette application. Je veux faire un PDF en ajoutant des images une par une.

S'il vous plaît envoyez-moi un lien pour tout exemple qui peut m'aider, je suis coincé ici. Je dessine l'image sur un PDF basé sur le centre de l'imageview.

S'il vous plaît aidez-moi, merci.

+0

hey là, je suis au niveau un peu dans ce projet, mais maintenant, le problème est venu avec le niveau de zoom de fichier PDF. Si quelqu'un met une image sur PDF après avoir mis à l'échelle l'UIWebView dans lequel le PDF est placé, la sortie est mal positionnée. Quelqu'un peut-il me donner une idée? –

+0

Il serait utile de clarifier un peu plus votre problème. Montrez le code que vous avez (il semble que vous en avez), et quel résultat vous obtenez maintenant, et en quoi il est différent de ce que vous attendiez. –

Répondre

0

était d'avoir le même problème, après une bonne quantité de temps que j'ai pu trouver une solution .... pourrait être utile pour vous

- (UIImage *) rotateImage: (UIImage *) :(image flottant) Angle { CGFloat angleInRadians = -1 * Angle * (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; 

}

pour les questions Zooming .... Je vous suggère d'essayer de faire une sous-classe de la fenêtre d'application

J'ai trouvé cette page web qui montre comment la sous-classe la fenêtre d'application afin pour observer les prises et transmettre ces prises au contrôleur de vue.

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

Espoir qui vous aide ...

+0

Pourquoi sous-classe 'UIWindow' (la fenêtre de l'application) pour ajouter un support pour le zoom? Cela devrait être traité dans un 'UIView', très probablement un' UIImageView' dans un 'UIScrollView' dans ce cas. Quelle difficulté avez-vous rencontrée que vous avez dû recourir à la sous-classe «UIWindow»? –

+0

Eh bien, il y avait problème que l'image va dans le coin supérieur gauche de l'écran .. Aussi, pour conserver la position de l'image doit sous-classer UIWindow, de sorte que l'image reste à la même position et l'image aussi zoomer en conséquence ... – krunal

0

La réponse est dans Apple's documentation. Les listes 13-3 et 13-4 semblent être ce que vous recherchez.