我必须写一个CGPDFContext。此 PDF 仅包含一张图像。
图像有 2100 x 3000 像素。
假设我在 Photoshop 上打开此图像并以 300 dpi 打印它。Photoshop 将使用 300 像素来构建每一英寸的打印材料,因此该图像将具有 7 x 10 英寸。
因此,此图像具有此大小。
现在我必须创建一个 CGPDFContext。我在某处读到这个上下文必须以点为单位创建,并且提到在 CGPDFContext 上一个点 = 1/72 英寸,这意味着上下文将具有 72 dpi (?)。
那么,我应该创建多大的上下文才能在 300 dpi 下获得最高质量。
另一个问题是:假设这个上下文是基于 1/72 的东西创建的,那么 7 x 10 英寸将代表 504 x 720 pt。如果这是我必须创建上下文的大小,那么当我使用它将图像写入上下文时会发生什么?
CGImageRef imageRef = image.CGImage; // this image is 2100x3000 pixels
// mediaBox = 0,0,504,720
CGContextRef pdfContext = CGPDFContextCreate(dataConsumer, &mediaBox, auxillaryInformation);
CGContextDrawImage(pdfContext, CGRectMake(0.0f, 0.0f, 504, 720), imageRef);
2100x3000 像素的图像是否会嵌入到上下文中而不会丢失像素?我不希望图像缩小到 504x720