хорошо, вот что я хочу сделать:
- Загрузить PDF, содержащий векторную графику
- Увеличить
- Нарисуйте его в графическом контексте
- Создать UIImage из результата и представить его
Все отлично работает, за исключением того, что графика теряет качество и выглядит в пикселях: (
Вот код, где происходит масштабирование:
// 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();
Мне кажется, проблема в том, что я могу только изменить масштаб контекста, а не фактический PDF. Есть ли другой способ сделать это без потери качества?
Большое спасибо за любую подсказку!