How does PDF's BitsPerComponent translate to B

2019-07-22 08:53发布

问题:

My goal is to convert a PDF into an image (specifically in TIFF).

There is a PDF property called BitsPerComponent

And According to description on the page,

This property can take the value 1, 2, 4, 8 or 16. Other values are not supported in the PDF Specification

Does that mean, 1, 2, 4, 8 or 16 translates to bits per pixel in images?

回答1:

Sounds more like bits per color component, where color component is one of either (Alpha)/Red/Green/Blue or Grey. So take the bits per component and multiply by the components per pixel to get bits per pixel. For example, if you're talking an RGB image you have 3 components. An RGB at 8 bit per component would be a 8 * 3 = 24bit per pixel image. If it was greyscale, e.g. one component, an 8 bit per component would be 8 bit per pixel.



回答2:

BitsPerPixel = 3 * BitsPerComponent if the color is stored as RGB

BitsPerPixel = 4 * BitsPerComponent if the color is stored as RGB with an alpha channel (ARGB)

RGB is a random assumption ... this will hold for every color model using 3 components and may be a alpha chanel. It will be BitsPerPixel = BitsPerComponent if it is a gray scale image.



回答3:

No, it translates into bits per color channel. When you have a grayscale image this is essentially bits per pixel as well.

When you have an RGB image with 16 bits per channel you have a total of 48 bits per pixel (or even 64 if you have an alpha channel, too).



回答4:

There are already lots of tools out there which can convert PDFs to images. If you want to write your own, you are going to have to learn a huge spec and build a rasterizer. Why do you need to build a custom solution?