ok Voici donc ce que vectoriel je veux faire:Comment mettre à l'échelle un PDF contenant un graphique dessiné par CGContextDrawPDFPage dans Cocoa Touch
- Charge un fichier PDF contenant un graphique vectoriel
- Scale it up
- Dessiner à un contexte graphique
- Créer un UIImage du résultat et de le présenter
Tout fonctionne très bien, à l'exception du fait que l'image perd la qualité et semble pixelisé :(
Voici le code où l'échelle se produit:
// PDF loaded before
CGPDFPageRef page = CGPDFDocumentGetPage (document, 1);
UIGraphicsBeginImageContext(CGSizeMake(width, height));
CGContextRef context = UIGraphicsGetCurrentContext();
CGContextSaveGState(context);
CGRect rect = CGPDFPageGetBoxRect(page, kCGPDFCropBox);
float widthFactor = width/ rect.size.width;
float heightFactor = height/ rect.size.height;
CGAffineTransform pdfTransform2 = CGAffineTransformMakeScale (widthFactor, heightFactor);
CGContextConcatCTM(context, pdfTransform2);
CGContextDrawPDFPage(context, page);
CGContextRestoreGState(context);
retValue = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
Je pense que le problème est que je ne peux rééchelonner le contexte, et non le PDF réel. Y a-t-il un autre moyen de le faire sans perte de qualité?
Merci beaucoup pour tout indice!
Avez-vous déjà découvert cela? – Kalle