您现在的位置是:首页 > 文章详情

iOS:quartz2D绘图(在PDF文件上绘制图片)

日期:2017-06-05点击:308

quartz2D还可以在PDF文件上绘制图片,它有自己的PDF Graphics Context上下文,通过UIGraphicsBeginPDFContextToFile方法开始上下文后就可以绘制图片了,最后记得使用UIGraphicsEndPDFContext()方法结束上下文。绘制pdf时,既可以绘制单页pdf,也可以绘制多页pdf成一本书,在绘制开始时,使用UIGraphicsBeginPDFPage()开始新的一页这是非常重要的。下面演示绘制单页pdf和多页的pdf。

 

具体的实例如下:

//将图片绘制在单页的pdf上

#parma mark -创建单页pdf

复制代码
-(void)createPDF { //设置pdf文件的路径 NSArray *documents = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); //文档目录 NSString *document = [documents lastObject]; //NSLog(@"%@",document); //拼接pdf路径 NSString *PDFpath = [document stringByAppendingPathComponent:@"img.pdf"]; //开始pdf的上下文 UIGraphicsBeginPDFContextToFile(PDFpath, CGRectMake(0, 0, 320, 480), nil); //获取当前的绘图上下文 CGContextRef context = UIGraphicsGetCurrentContext(); //开始pdf新的一页  UIGraphicsBeginPDFPage(); //绘制圆形 CGContextAddEllipseInRect(context, CGRectMake(100, 100, 100, 100)); [[UIColor redColor]set]; CGContextDrawPath(context, kCGPathEOFillStroke); //绘制文字 NSString *str = @"this is a image page"; [str drawAtPoint:CGPointMake(50, 250) withAttributes:@{NSForegroundColorAttributeName:[UIColor redColor],NSFontAttributeName:[UIFont systemFontOfSize:30]}]; //结束pdf的上下文  UIGraphicsEndPDFContext(); }
复制代码

 

在沙盒目录下创建img.pdf文件和绘制在img.pdf文件上的圆图形和文字的截图为:

  

 

 

//将多张图片绘制在多页的pdf上

首先导入多张笑脸图片,导入的素材截图为:

#parma mark -创建多页pdf

复制代码
-(void)createPDFBook { //设置pdf文件的路径 NSArray *documents = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); //文档目录 NSString *document = [documents lastObject]; //NSLog(@"%@",document); //拼接pdf路径 NSString *PDFpath = [document stringByAppendingPathComponent:@"imageBook.pdf"]; //开始pdf的上下文(参数:设置pdf路径、设置pdf大小、附带pdf字典信息) UIGraphicsBeginPDFContextToFile(PDFpath, CGRectMake(0, 0, 320, 480), nil); //绘制图片 for (int i = 0; i<9; i++) { //开始新的一页  UIGraphicsBeginPDFPage(); //绘制图片 UIImage *image = [UIImage imageNamed:[NSString stringWithFormat:@"%d.png",i]]; [image drawInRect:CGRectMake(100, 200, 100, 100)]; } //结束pdf的上下文  UIGraphicsEndPDFContext(); }
复制代码

在沙盒目录下创建imgBook.pdf文件和绘制在imgBook.pdf文件上的笑脸截图为:

   

  一共有9张图片,所以创建了9页pdf,9张笑脸图片分别被绘制在上面。

程序猿神奇的手,每时每刻,这双手都在改变着世界的交互方式!
分类:  iOS高级

本文转自当天真遇到现实博客园博客,原文链接:http://www.cnblogs.com/XYQ-208910/p/4869473.html,如需转载请自行联系原作者
原文链接:https://yq.aliyun.com/articles/366321
关注公众号

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。

持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。

文章评论

共有0条评论来说两句吧...

文章二维码

扫描即可查看该文章

点击排行

推荐阅读

最新文章