Мне нужно написать 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.