【问题标题】:pdf generated upside downpdf倒置生成
【发布时间】:2012-12-19 12:22:14
【问题描述】:

我正在使用以下代码创建 pdf

UIImage *CurImage=[UIImage imageWithContentsOfFile:[ImageArr objectAtIndex:i]];
UIView *ViewDraw=[[UIView alloc]initWithFrame:CGRectMake(0,10, pageSize, pageSize)];  
ViewDraw.backgroundColor=[UIColor clearColor];
CGContextBeginPage (pdfContext,nil);

//turn PDF upsidedown
CGAffineTransform transform = CGAffineTransformIdentity;
transform = CGAffineTransformMakeTranslation(0,CurImage.size.height);
transform = CGAffineTransformScale(transform, 1.0, -1.0);

CGContextConcatCTM(pdfContext, transform);
int y = (pageSize - CurImage.size.height)/2;
int x = (pageSize - CurImage.size.width)/2;

[CurImage drawInRect:CGRectMake( (ViewDraw.frame.width - curImage.frame.width)/2, 24, size.width, curImage.frame.height)];

//        CGContextDrawImage(pdfContext, CGRectMake(x,-y, CurImage.size.width, CurImage.size.height), CurImage.CGImage);
CGContextEndPage (pdfContext);
CurImage=nil;

但它正在生成颠倒的图像,即 180 度镜像。

这里有什么问题?

【问题讨论】:

    标签: iphone objective-c pdf-generation cgcontextdrawimage


    【解决方案1】:

    翻转 PDF:

    CGAffineTransform aCgAffTrans = CGAffineTransformMakeTranslation(0,892); //here the whole PDF page height should be given 
    aCgAffTrans = CGAffineTransformScale(aCgAffTrans, 1.0, -1.0);
    CGContextConcatCTM(aCgPDFContextRef, aCgAffTrans);
    

    您提供了一些随机高度,而某些部分被拒绝,而其他部分保持不变。于是出现了镜面效果。

    【讨论】:

    • 您的原始识别转换会立即被丢弃——您可以通过直接在 aCgAffTrans 的声明中分配 CGAffineTransformMakeTranslation 的结果来更清楚地说明这一点。
    猜你喜欢
    • 2020-08-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-05-29
    • 1970-01-01
    • 1970-01-01
    • 2012-04-15
    • 2015-11-29
    相关资源
    最近更新 更多