2013-03-05 7 views
0

UIKit의 contentScaleFactor에 해당하는 CoreGraphics는 무엇입니까?UIKit의 contentScaleFactor에 해당하는 CoreGraphics는 무엇입니까?

PDF 컨텍스트로 렌더링 할 수있는 UKit PDF 작성 기능을 사용하여 PDF를 작성하고 있습니다. 그러나 생성 된 PDF의 품질을 저하시키는 요구 사항이 있습니다. 우리는 이미 그래픽 공간과 픽셀 공간 사이의 변환 요소 인 UIKit의 contentScaleFactor 속성을 사용하여 이것을 UIView로 렌더링했습니다. 그러나,이 마법의 & 부두를 UIView없이 CGContextRef에 적용해야하지만, 내가 무엇을해야하는지 모른다.

PDF 품질을 저하시키는 방법에 대한 다른 제안 사항이 있으면 알려 주시면 감사하겠습니다.

감사합니다.

편집 : 내 입력은 PDF 문서입니다. CoreGraphics를 사용하여 다른 PDF에서 PDF를 다시 만들고 있지만 일부 PDF 페이지의 그래픽 강도에 따라 프로세스가 느려질 수 있습니다. 당신이 당신에게 컨텍스트를 만들 때

답변

0

지정 원본 PDF의 일부입니다 그 폭과 높이 :

CGContextRef context = CGBitmapContextCreate(NULL, 
            pdfSize.width/4, 
            pdfSize.height/4, 
            8,      
            0, 
            colorSpace, 
            kCGImageAlphaPremultipliedLast | kCGBitmapByteOrder32Big); 

다음과 같은 적절한 아래로 확장 여기에 당신의 그림을. 그럼 당신은 할 수 :

CGImageRef cgImage = CGBitmapContextCreateImage(ctx); 
UIImage *reflectionImage = [UIImage imageWithCGImage:cgImage scale:4.0 orientation:up]; 

을하거나 새 확대 된 상황에서의 CGImage 이미지를 그릴 수, 당신이 무엇을하려는 지에 따라 달라집니다.

+0

내가 가지고있는 문제는 다른 PDF로 PDF를 그리는 것입니다 (기본적으로 CoreGraphics에서 다시 작성). 즉, PDF는 제 입력입니다. 이미지가 아닙니다. – micksabox

+0

'CGContext'에 대해 언급 했으므로 CGContextDrawPDFPage를 사용하여 pdf 페이지에서 이미지를 생성한다고 생각했습니다 ... 일단 페이지의 비트 맵 표현이 있으면 새로운 PDF를 만들 수 있습니다. 조금/정확하게 어떻게하려고하는지 – sergio