CGPDFContext を作成する必要があります。この PDF には画像が 1 つだけ含まれています。
画像は 2100 x 3000 ピクセルです。
この画像を Photoshop で開き、300 dpi で印刷するとします。Photoshop は 300 ピクセルを使用して印刷物を 1 インチごとに作成するため、この画像は 7 x 10 インチになります。
そのため、この画像はこのサイズになっています。
ここで、CGPDFContext を作成する必要があります。このコンテキストはポイントで作成する必要があることをどこかで読みました。CGPDFContext では 1 ポイント = 1/72 インチであるという記述があります。これは、コンテキストが 72 dpi (?) になることを意味します。
では、300 dpi で最高の品質を得るには、このコンテキストをどのサイズで作成すればよいでしょうか。
もう 1 つの質問は次のとおりです。このコンテキストが 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 に縮小したくない