ios 学习之你画我话绘图四 读取pdf (官方代码)

-(void)drawInContext:(CGContextRef)context

{

// PDF page drawing expects a Lower-Left coordinate system, so we flip the coordinate system

// before we start drawing.

CGContextTranslateCTM(context, 0.0, self.bounds.size.height);

CGContextScaleCTM(context, 1.0, -1.0);

// Grab the first PDF page

CGPDFPageRef page = CGPDFDocumentGetPage(self.pdfDocument, 1);

// We're about to modify the context CTM to draw the PDF page where we want it, so save the graphics state in case we want to do more drawing

CGContextSaveGState(context);

// CGPDFPageGetDrawingTransform provides an easy way to get the transform for a PDF page. It will scale down to fit, including any

// base rotations necessary to display the PDF page correctly. 

CGAffineTransform pdfTransform = CGPDFPageGetDrawingTransform(page, kCGPDFCropBox, self.bounds, 0, true);

// And apply the transform.

CGContextConcatCTM(context, pdfTransform);

// Finally, we draw the page and restore the graphics state for further manipulations!

CGContextDrawPDFPage(context, page);

CGContextRestoreGState(context);

}



-(CGPDFDocumentRef)pdfDocument

{

if (_pdfDocument == NULL)

{

CFURLRef pdfURL = CFBundleCopyResourceURL(CFBundleGetMainBundle(), CFSTR("Quartz.pdf"), NULL, NULL);

_pdfDocument = CGPDFDocumentCreateWithURL((CFURLRef)pdfURL);

CFRelease(pdfURL);

}

return _pdfDocument;

}



-(void)dealloc

{

CGPDFDocumentRelease(_pdfDocument);

}


@end

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值