Масштабирование PDF внутри UIScrollView - PullRequest
1 голос
/ 11 марта 2011

У меня есть PDF-файл 2835 пикселей внутри UIScrollView 2835 пикселей. Для отображения PDF я использую CATiledLayer.

Моя проблема в том, что когда я уменьшаю scrollView (в масштабе ниже 1), качество PDF становится очень плохим. Что странно, что когда я увеличиваю scrollView (в масштабе выше 1), PDF выглядит великолепно. Чем больше я увеличиваю (масштаб * 10), тем лучше качество.

Как я могу изменить код, чтобы обеспечить хорошее качество как уменьшенного, так и повышенного качества?

// Draw the CGPDFPageRef into the layer at the correct scale.
-(void)drawLayer:(CALayer*)layer inContext:(CGContextRef)context
{
// First fill the background with white.
//CGContextSetRGBFillColor(context, 1.0,1.0,1.0,1.0);
CGContextFillRect(context,CGRectMake(0, 0, 2835,1417));

CGContextSetInterpolationQuality(context, kCGInterpolationHigh);

CGContextSaveGState(context);
// Flip the context so that the PDF page is rendered
// right side up.
CGContextTranslateCTM(context, 0.0, 1417);
CGContextScaleCTM(context, 1.0, -1.0);

// Scale the context so that the PDF page is rendered 
// at the correct size for the zoom level.
CGContextScaleCTM(context, myScale,myScale);    
CGContextDrawPDFPage(context, pdfPage);
CGContextRestoreGState(context);

}

1 Ответ

0 голосов
/ 11 марта 2011

Я установил и levelOfDetail и levelOfDetailBias в 10. Это сместило все масштабирование вверх. Теперь я изменил levelOfDetail на 10, а levelOfDetailBias на 7, и все работает нормально.

...